我有一个复杂的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