我有一個複雜的Powershell腳本,它作爲SQL 2005 Server代理作業的一部分運行。該腳本工作正常,但它使用「Start-Transcript $ strLogfile -Append」命令將其所有操作記錄到腳本文件中。問題是成績單總是空的。它添加了頁眉和頁腳以指示轉錄本正在啓動和停止,但它實際上不記錄任何內容。例如:2005年從SQL代理作業運行腳本時Powershell腳本爲空SQL Server
**********************
Windows PowerShell Transcript Start
Start time: 20100304173001
Username : xxxxxxxxxxxx\SYSTEM
Machine : xxxxx-xxx (Microsoft Windows NT 5.2.3790 Service Pack 2)
**********************
**********************
Windows PowerShell Transcript End
End time: 20100304173118
**********************
當我從命令提示符執行腳本或開始 - >運行一切正常。這裏是(用於運行腳本(SQL代理作業的操作系統的CmdExec步驟中使用相同的命令)
powershell.exe -File "c:\temp\Backup\backup script.ps1"
我首先想到它必須是與系統帳戶下運行腳本的命令默認的SQL Agent帳戶),但即使當我嘗試將SQL代理更改爲以我自己的個人帳戶運行時,它仍然創建了空白的副本。
有什麼辦法讓PowerShell成績單在作爲2005 SQL Server代理作業的一部分執行時能夠正常工作嗎?
事情是,從cmd.exe運行或從開始 - >運行時,腳本工作正常。它使用Powershell 2.0並將任何可執行文件的輸出傳輸到外部主機。 – 2010-03-05 19:01:00