如何在Start-Transcript的输出中显示详细消息?

Mar*_*agg 3 powershell

使用Start-Transcript详细输出时,不会在记录中捕获.例如:

Start-Transcript
Write-Verbose "This is a test of verbose output"
Stop-Transcript
Run Code Online (Sandbox Code Playgroud)

结果是:

**********************
Windows PowerShell transcript start
Start time: 20170829110436
Username: xx\xx
RunAs User: xx\xx
Machine: SGC340 (Microsoft Windows NT 6.1.7601 Service Pack 1)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Process ID: 19596
PSVersion: 5.0.10586.117
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0.10586.117
BuildVersion: 10.0.10586.117
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
Transcript started, output file is C:\Users\xx\Documents\PowerShell_transcript.xx.EbGyj9PE.20170829110436.txt
PS C:\Users\xx> Write-Verbose "This is a test of verbose output"
PS C:\Users\xx> Stop-Transcript
**********************
Windows PowerShell transcript end
End time: 20170829110447
**********************
Run Code Online (Sandbox Code Playgroud)

你如何在成绩单中捕获详细输出?

Mar*_*agg 5

本期中所述,由于默认设置为$VerbosePreferenceis,因此不会显示详细输出'SilentlyContinue'.如果将其更改为'Continue'详细输出则显示.

同样,如果您有一个使用的脚本Start-Transcript,您可以添加[cmdletbinding()]到脚本的顶部,然后使用-Verbose开关执行它以使Verbose消息都可见并且在脚本中.

请注意,运行时Start-Transcript -Verbose不会在脚本中记录Verbose消息(它只启用cmdlet本身的详细输出).