sql-server - 使用 SQL Server 中的自定义 cmdlet

标签 sql-server powershell

我想从 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/

相关文章:

sql-server - 如何在SQL中的组内按顺序查找缺失值?

SQL 表规范化与非规范化

powershell - 如何在 powershell 中发送鼠标点击?

.net - 使用 powershell 解析程序集依赖项引用

xml - Import-StartLayout *.xml 不是有效的布局文件

powershell - 查找通过PowerShell执行cmd命令的退出代码

python-3.x - 在 python 脚本中运行 powershell 脚本

sql - 我想在 sql server 中检索半年的一天

sql-server - 在 SSMS 中一次删除多个作业步骤

sql-server - Receive-Job返回的意外变量类型