Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата lox-ness:
Если убрать -Append, то в файл выводиться только первая ошибка которая присутствует, а их там несколько »
Не так. Выводятся они все, но остаётся в файле — только последняя, поскольку файл перезаписывается при каждой ошибке.

Вам следует определиться с тем, чего Вы хотите. И внятно сие изложить. Вот у меня есть предположение, что на самом деле Вам нужно, чтобы в файл попадали всё ошибки за одно исполнение кода. И на самом деле Вам нужно банально вынести задание имени файла вовне цикла:
Скрытый текст
Код: Выделить весь код
Clear-Host

$datetime = Get-Date -Format "dd.MM.yyyy_HH_mm"
$file     = "ad-" + $datetime + ".txt"
$folder   = "d:\1" + $file_name

$GetInfo = Get-ADUser -Properties SamAccountName -Filter { UserWorkstations -like "*" } -SearchBase "DC=s,DC=o,DC=r"
    
ForEach($i in $Getinfo) {
    try {
        $i | Set-ADUser -Clear UserWorkstations -ErrorAction Stop
    } catch {
        $i.SamAccountName | out-file -FilePath $folder\$file -Append
    }
}

чтобы оно не могло меняться во время его выполнения.

Отправлено: 18:05, 10-12-2017 | #6