在远程会话中执行时,将PowerShell stdout重定向到文件

时间:2014-01-17 17:47:37

标签: powershell logging powershell-remoting

我需要将打印到stdout的所有内容记录到文件中。 Start-Transcript / Stop-Transcript效果很好并且确实如此,但仅适用于本地PowerShell会话。问题是在远程会话中执行PowerShell脚本时不支持Transcripts(使用Enter-PSSession cmd)。

是否有另一种(最好是简单的)方法将所有输出重定向到文件,即使在远程会话中执行.ps1脚本? 我不想在脚本中输出的每一行添加>>Teeout-file等。

在进入远程会话之前,我也不想Start-Transcript。我正在循环中远程访问许多目的地,我需要将每个远程会话的stdout记录到一个单独的文件(端点本地),而不是所有文件捆绑到一个文件中。

1 个答案:

答案 0 :(得分:0)

我建议在进入会话之前使用Start-Transcript,并使用该cmdlet的-Path选项指向每个会话的单独文件。也许像是

Start-Transcript -Path C:\Logs\$MachineName-$($(Get-Date).ToString("yyyyMMddhhmm")).log

或类似的东西。我个人的偏好是用于历史目的的日期时间附件。