2015-02-12 2 views
0

Я ссылаюсь на сценарий PowerShell, расположенный здесь: http://support.microsoft.com/kb/2962486/en-usPowerShell перенаправлять записи-предупреждение для записи-выводу

я хотел бы перенаправить вывод запись-предупреждение писать-вывод для этого конкретного фрагмента кода :

#Check if the computer has any local user accounts whose passwords are not going to be rolled by this script 
    foreach ($User in $LocalUsers) 
    { 
     if ($LocalAccounts -inotcontains $User) 
     { 
      Write-Warning "Server: '$($TargettedServerName)' has a local account '$($User)' whos password is NOT being changed by this script" 
     } 
    } 

причина заключается в том, что перенаправление по умолчанию не кажется перенаправлять Write-Warning в файл, от того, что я прочитал, что предназначена для печати на консоль только. Поэтому применение *> или *> & 1 только фиксирует StdOut и StdErr в случае этого скрипта.

https://technet.microsoft.com/en-us/library/hh847746.aspx

Есть ли другой способ перенаправления вывода Write-Warning в файл?

Заранее спасибо.

+0

В вашем примере. Почему это должно быть Write-Warning, которое перенаправляется? Почему вы не можете просто написать сообщение в файл, как обычно? то есть. использовать Out-file или что-то еще? Я что-то упустил? В этом случае просто используйте Write-Ouput, тогда выход можно перенаправить в файл или записать на консоль. –

+0

Возможно, ваша версия Powershell меньше 3.0? – Vesper

ответ

3

Вы можете использовать 3> для перенаправления предупредительного потока.

+0

Не работает. Кроме того, * необходимо перенаправить все потоки, см. Https://technet.microsoft.com/en-us/library/hh847746.aspx – Tommy

Смежные вопросы