我需要将打印到stdout的所有内容记录到文件中。 Start-Transcript
/ Stop-Transcript
效果很好并且确实如此,但仅适用于本地PowerShell会话。问题是在远程会话中执行PowerShell脚本时不支持Transcripts(使用Enter-PSSession
cmd)。
是否有另一种(最好是简单的)方法将所有输出重定向到文件,即使在远程会话中执行.ps1脚本?
我不想在脚本中输出的每一行添加>>
或Tee
或out-file
等。
在进入远程会话之前,我也不想Start-Transcript
。我正在循环中远程访问许多目的地,我需要将每个远程会话的stdout记录到一个单独的文件(端点本地),而不是所有文件捆绑到一个文件中。
答案 0 :(得分:0)
我建议在进入会话之前使用Start-Transcript
,并使用该cmdlet的-Path
选项指向每个会话的单独文件。也许像是
Start-Transcript -Path C:\Logs\$MachineName-$($(Get-Date).ToString("yyyyMMddhhmm")).log
或类似的东西。我个人的偏好是用于历史目的的日期时间附件。