Sql 如何通过SSIS在管理模式下执行powershell脚本
我有一个powershell脚本,使用PoshWSUS从WSU获取所有计算机。在管理模式下打开Powershell后,我手动执行脚本 我现在必须使用SSIS执行脚本。我在控制流中插入了Sql 如何通过SSIS在管理模式下执行powershell脚本,sql,powershell,ssis,powershell-5.0,executeprocesstask,Sql,Powershell,Ssis,Powershell 5.0,Executeprocesstask,我有一个powershell脚本,使用PoshWSUS从WSU获取所有计算机。在管理模式下打开Powershell后,我手动执行脚本 我现在必须使用SSIS执行脚本。我在控制流中插入了执行流程任务。可执行文件设置为C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 这是参数:-NoProfile-ExecutionPolicy ByPass-command.c:\mypath\GetWSUSList.ps1”-动词runAs 我尝试
执行流程任务
。可执行文件设置为C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
这是参数:-NoProfile-ExecutionPolicy ByPass-command.c:\mypath\GetWSUSList.ps1”-动词runAs
我尝试了许多其他方法,主要包括在本页中:
但他们都没有工作,仍然得到未经授权的错误。任何帮助都将不胜感激。我找到了这个链接。它似乎与您遇到的问题相似,因此您可以将其用作参考 我找到了这个链接。它似乎与您遇到的问题相似,因此您可以将其用作参考 以下是解决方案: 步骤1:创建一个powershell脚本文件。我的script.ps1是: 步骤2:创建一个.bat文件,假设它名为RunMyPS1.bat,如下所示
@ECHO OFF
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\Scripts\WSUSReport\script.ps1""' -Verb RunAs}"
PAUSE
请注意,在参数行末尾使用-动词runAs
在这里非常重要
步骤3:创建一个任务调度程序来运行.bat文件,例如名为“RunMyBat”
打开任务计划程序,单击右菜单上的“创建任务”。在常规
下,确保选中了复选框以最高权限运行,这一点非常重要。然后导航到操作
部分,通过浏览.bat文件添加新操作
步骤4。通过SSIS运行任务计划程序
将“执行流程任务”添加到控制流中。确保任务的可执行文件设置为:“C:\Windows\System32\schtasks.exe”,参数为:“/run/TN”RunMyBat”,如下所示
@ECHO OFF
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\Scripts\WSUSReport\script.ps1""' -Verb RunAs}"
PAUSE
步骤5。运行SSIS包
重要提示:请注意,触发运行任务调度器的“执行流程任务”后,SSI直接进入下一步(如果有),而无需等待任务调度器完成其流程。因此,如果有任何任务将使用PowerShell脚本的输出或更新数据,请插入“脚本任务”“并添加睡眠以确保powershell脚本已完成
System.Threading.Thread.Sleep(120000);
以下是解决方案: 步骤1:创建一个powershell脚本文件。我的script.ps1是: 步骤2:创建一个.bat文件,假设它名为RunMyPS1.bat,如下所示
@ECHO OFF
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\Scripts\WSUSReport\script.ps1""' -Verb RunAs}"
PAUSE
请注意,在参数行末尾使用-动词runAs
在这里非常重要
步骤3:创建一个任务调度程序来运行.bat文件,例如名为“RunMyBat”
打开任务计划程序,单击右菜单上的“创建任务”。在常规
下,确保选中了复选框以最高权限运行,这一点非常重要。然后导航到操作
部分,通过浏览.bat文件添加新操作
步骤4。通过SSIS运行任务计划程序
将“执行流程任务”添加到控制流中。确保任务的可执行文件设置为:“C:\Windows\System32\schtasks.exe”,参数为:“/run/TN”RunMyBat”,如下所示
@ECHO OFF
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\Scripts\WSUSReport\script.ps1""' -Verb RunAs}"
PAUSE
步骤5。运行SSIS包
重要提示:请注意,触发运行任务调度器的“执行流程任务”后,SSI直接进入下一步(如果有),而无需等待任务调度器完成其流程。因此,如果有任何任务将使用PowerShell脚本的输出或更新数据,请插入“脚本任务”“并添加睡眠以确保powershell脚本已完成
System.Threading.Thread.Sleep(120000);