2014-02-12 53 views
1

當從Control-M運行Powershell腳本時,我試圖捕獲跟蹤輸出時似乎遇到了問題/錯誤。PowerShell跟蹤和控制-M

輸出文件顯示啓動跟蹤和停止跟蹤命令的頁眉和頁腳,但它不顯示任何我嘗試捕獲的內容。特別是,如果我的腳本在某處發出了寫主機命令,那麼該信息不會被捕獲在輸出(跟蹤)文件中。

這裏是一個超級簡單的腳本,illustraes我的問題:

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。

讚賞有什麼想法?

+0

的[開始轉錄本沒有捕捉所有輸出到日誌文件..?]可能重複(http://stackoverflow.com/questions/13160759/start-transcript-not-capturing-全輸出到日誌文件) – alroc

回答

1

Write-Host寫入到控制檯窗口,這不是什麼被控制-M「觀看」。改爲嘗試Write-OutputWrite-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

+0

寫輸出不允許我寫入相同的轉錄文件。我認爲transcript的一大優點就是它可以捕獲所有的輸出結果,就像在Control-M之外運行我的腳本一樣。我沒有使用寫主機來創建程序化的可用輸出;它只是需要監視腳本的任何人的信息(調試,無論)。 – Allen

+0

看看[這個答案](http://stackoverflow.com/a/13160914/1324345) – alroc

+0

謝謝alroc ...在參考上面的鏈接時,我嘗試了寫詳細的技巧。但不幸的是我有同樣的問題。 Control-M似乎對Powershell有某種影響,因爲日誌和跟蹤本質上是非功能性的。 – Allen