gpt4 book ai didi

sql-server-2005 - 在 2005 SQL Server 中从 SQL 代理作业运行脚本时,Powershell 脚本为空

转载 作者:行者123 更新时间:2023-12-02 23:49:12 25 4
gpt4 key购买 nike

我有一个复杂的 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 脚本正常工作?

最佳答案

如果您的脚本使用 native 命令(控制台 exes),Start-Transript 不会记录任何该输出。这个问题已经logged on Connect ,你可以投票。捕获所有输入的一种方法是使用 cmd.exe:

cmd /c powershell.exe -file "C:\temp\backup script.ps1" > backup.log

关于sql-server-2005 - 在 2005 SQL Server 中从 SQL 代理作业运行脚本时,Powershell 脚本为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2383605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com