Как я могу захватить то, что происходит, когда удаляются во время - PullRequest
0 голосов
/ 12 октября 2018

Добрый день, ТАК!Я все еще новичок в powershell, и я ищу способ записать, что происходит после того, как я вызову Command, как, например, в строке 51.

Можно ли распечатать устройство, регистрирующееся в этом каталоге?

В строке 52 после того, как произойдет DEL *.*, можно ли напечатать то, что удаляется в файл?

т.е.

51 Invoke-Command -device $ipaddress -command 'cd \firmware'| Out-File $LogFileName -Append;
52 Invoke-Command -device $ipaddress -command 'DEL *.*'| Out-File $LogFileName -Append;

Stop Transcript

}`

Я пытался использовать Start-Transcript -path $ LogFileName -append // Stop Transcript, но это не печатает, что происходит при вызове каждой команды.

1 Ответ

0 голосов
/ 12 октября 2018

Чтобы ответить на ваш 2-й вопрос:

В строке 52 после DEL . случится, возможно ли напечатать то, что удаляется в файл?

Remove-Item (он же DEL) имеет переключатель -Verbose, который выводит список удаленных файлов.Проблема в том, что он выводит список в «подробный» поток.Powershell может генерировать выходные данные в одном из множества потоков в дополнение к традиционному потоку вывода и потоку ошибок.Одним из них является многословный поток.К сожалению, по конвейеру передается только поток вывода, остальные потоки просто выводятся на консоль.К счастью, вы можете перенаправить эти другие потоки в выходной поток с помощью оператора перенаправления >&.В левой части оператора вы указываете номер потока, из которого вы хотите перенаправить, а в правой части - то, что вы хотите перенаправить.Для вашего примера вы хотите перенаправить из подробного потока (4) в выходной поток (1):

4>&1

Таким образом, команда будет выглядеть следующим образом:

Invoke-command -ScriptBlock {del *.* -Verbose 4>&1} | Out-File $LogFileName -Append
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...