1

从 Control-M 运行 Powershell 脚本时尝试捕获跟踪输出时,我似乎遇到了问题/错误。

输出文件显示了 start-trace 和 stop-trace 命令的页眉和页脚,但它没有显示我尝试捕获的任何其他内容。具体来说,如果我的脚本在某处发出 write-host 命令,则该信息不会在输出(跟踪)文件中捕获。

这是一个超级简单的脚本,可以说明我的问题:

start-transcript -path "C:\Powershell\transcript.log"
write-host "test message"
#do stuff...
stop-transcript

这是通过 Control-M 运行脚本时我当前输出的示例:

**********************
Windows PowerShell Transcript Start
Start time: 20140212002005
Username  : mydomain\SYSTEM 
Machine   : myserver (Microsoft Windows NT 6.1.7601 Service Pack 1) 
**********************
**********************
Windows PowerShell Transcript End
End time: 20140212002008
**********************

请注意,我的测试消息没有显示出来!这只发生在我通过 Control-M 运行脚本时。当我手动运行我的脚本时,我的“测试消息”会出现在脚本输出中。

我的第一个怀疑是文件权限,但这些对我来说看起来不错。Control-M 代理使用系统级访问权限,因此无论如何它都应该拥有所需的所有权限。如果是文件权限问题,我不相信我什至会收到页眉/页脚消息。

我在 PS v2.0 上。我的服务器正在运行 2008r2。

任何想法表示赞赏...

4

1 回答 1

1

Write-Host写入控制台窗口,这不是 Control-M “监视”的内容。试试Write-Output吧。Write-Host通常不是您想要产生输出的东西。

请参阅http://windowsitpro.com/blog/what-do-not-do-powershell-part-1http://powershell.com/cs/blogs/donjones/archive/2012/04/06/2012-scripting -games-commentary-stop-using-write-host.aspx

于 2014-02-12T17:32:13.510 回答