我想从 SQL Server 的维护计划执行 Powershell 脚本。这很好并且完全可能,但是如果我想使用自定义 cmdlet 该怎么办?这仍然可以通过 Powershell 脚本 SQL Server 作业步骤进行吗(在本例中,我需要使用 SCVMM cmdlet)。
最佳答案
不,这在 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"
关于sql-server - 使用 SQL Server 中的自定义 cmdlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3597029/