Powershell脚本在SQL Agent作业中失败



我有sql代理作业,根据某些条件调用某些存储过程。该逻辑在powershell中实现。最近,sql代理中的所有powershell作业开始失败,并出现错误消息:

该步骤未生成任何输出。进程退出代码-2146232576。有人对此有什么看法吗?

编辑:大约在作业开始失败的时候,在Windows evenlog设置中注册了以下条目:

初始化更改关闭更新MicrosoftWindowsPowerShellV2包PowerShell-V2-ServerCore。客户端id: DISM Package Manager Provider。

可选择的更新MicrosoftWindowsPowerShellV2包PowerShell-V2-ServerCore已成功关闭。

我不熟悉操作系统级别的更改。有人能解释一下发生了什么吗?

答案是SQL代理正在使用PS v2引擎来执行脚本,而服务器管理员已经使用DISM禁用了PS v2。是的,你的脚本在ISE中工作得很好,因为它们几乎总是向后兼容较新的PS 3、4、5、6等版本。SQL Agent作业在脚本之前运行命令,告诉Powershell使用v2引擎,该功能已不再安装。

最新更新