2010-08-29 73 views
2

我想从SQL Server的维护计划执行Powershell脚本。这很好,完全可能,但如果我想使用自定义cmdlet呢?这仍然可以从Powershell脚本SQL Server作业步骤工作(在这种情况下,我需要使用SCVMM cmdlet)。从SQL Server使用自定义cmdlet

回答

4

否从SQL Agent PowerShell作业步骤不起作用,因为SQL Agent使用sqlps,即SQL Server minishell。由于minishell不支持通过add-pssnapin或import-module添加cmdlet,因此无法添加SCVMM cmdlet。

而是使用CmdExec(操作系统)作业步骤并指定常规PowerShell。例如(不知道命令添加SCVMM的cmdlet)

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.EXE -command "add-pssnapin SCVMM;invoke-someCmd" 

或把命令脚本文件并调用脚本:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.EXE -file"C:\Scripts\Invoke-SCVMM.ps1" 
+0

闲来无事为我工作。谢谢。 – Guessed 2016-03-31 21:56:44