我有一个复杂的 Powershell 脚本,它作为 SQL 2005 服务器代理作业的一部分运行。该脚本运行良好,但它使用“Start-Transcript $strLogfile -Append”命令将其所有操作记录到脚本文件中。问题是成绩单总是空的。它添加页眉和页脚以指示脚本正在开始和停止,但它实际上并没有记录任何内容。例子:
**********************
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
**********************
当我从命令提示符或 start -> run 执行脚本时,一切正常。这是用于运行脚本的命令(与 SQL 代理作业的操作系统 CmdExec 步骤中使用的命令相同)
powershell.exe -File "c:\temp\Backup\backup script.ps1"
我首先认为它一定与在系统帐户(默认 SQL 代理帐户)下运行的脚本有关,但即使我尝试将 SQL 代理更改为在我自己的个人帐户下运行,它仍然创建了一个空白脚本。
作为 2005 SQL Server 代理作业的一部分执行时,有什么方法可以让 PowerShell 脚本正常工作?