PowerShell "echo on"
Это дубликат https://serverfault.com/info/102098/powershell-script-showing-commands-run. Я подумал, что было бы более уместно задавать этот вопрос здесь.
Я играю с скриптами PowerShell, и они отлично работают. Тем не менее, мне интересно, есть ли способ показать все команды, которые были запущены, так же, как если бы вы вручную вводили их в себя. Это будет похоже на "echo on" в пакетных файлах. Я посмотрел на аргументы командной строки PowerShell, командлеты, но я не нашел ничего очевидного.
Ответы
Ответ 1
Start-Transcript не выводит никакого вывода exe. Это шоу-стоппер для меня. Мне очень жаль это говорить, но лучший способ, который я нашел для этого, - это:
cmd /c powershell.exe -file c:\users\hillr\foo.ps1 > foo.log
Это захватывает все AFAICT.
Ответ 2
C:\workspaces\silverlight> start-transcript -?
NAME
Start-Transcript
SYNOPSIS
Creates a record of all or part of a Windows PowerShell session in a text file.
SYNTAX
Start-Transcript [[-Path] <string>] [-Append] [-Force] [-NoClobber] [-Confirm] [-WhatIf] [<CommonParameters>]
DESCRIPTION
The Start-Transcript cmdlet creates a record of all or part of a Windows PowerShell session in a text file. The transcript includes all command that the user
types and all output that appears on the console.
RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113408
Stop-Transcript
REMARKS
To see the examples, type: "get-help Start-Transcript -examples".
For more information, type: "get-help Start-Transcript -detailed".
For technical information, type: "get-help Start-Transcript -full".
Примечание № 1: он записывает только записи, записанные в выходной поток главной консоли, а не предупреждение/ошибка/отладка.
Примечание # 2: если вам нужно записать собственные консольные приложения, вам понадобится небольшое обходное решение
Ответ 3
Я добавил -verbose для желаемых команд. Например.
Copy-Item c:\xxx d:\xxx -verbose