我想从SQL Server的维护计划中执行Powershell脚本。这很好,完全可能,但如果我想使用自定义cmdlet怎么办?这仍然可以从Powershell脚本SQL Server作业步骤开始(在这种情况下,我需要使用SCVMM cmdlet)。
答案 0 :(得分:4)
这不适用于SQL Agent PowerShell作业步骤,因为SQL Agent使用SQL Server minishell sqlps。由于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"