使用 WMI 提供程序进行配置管理

适用于SQL Server

本文提供有关如何使用 WMI 提供程序进行计算机管理的编程的指导。

Binding

用于配置管理的 WMI 提供程序是一个 COM 对象模型,它支持早期绑定和后期绑定。 借助后期绑定,可以使用脚本语言(如 VBScript)以编程方式操作 SQL Server 服务、网络设置和别名。

指定连接字符串

应用程序通过连接到提供程序定义的 WMI 命名空间,将用于配置管理的 WMI 提供程序定向到 SQL Server 实例。 Windows WMI 服务将此命名空间映射到提供程序 DLL,并将 DLL 加载到内存中。 SQL Server 的所有实例都用单个 WMI 命名空间表示。

命名空间默认为以下格式。 格式 VV 为 SQL Server 的主要版本号。 该数字可通过运行 SELECT @@VERSION;来发现。

\\.\root\Microsoft\SqlServer\ComputerManagementVV

使用 PowerShell 进行连接时,必须删除前导 \\.\ 。 例如,以下 PowerShell 代码列出了 SQL Server 2016(主版本 13)的所有 WMI 类。

Get-WmiObject -Namespace 'root\Microsoft\SqlServer\ComputerManagement13' -List

可以使用以下 PowerShell 代码查询所有可用的 WMI ComputerManagement 命名空间。

gwmi -ns 'root\Microsoft\SqlServer' __NAMESPACE | ? {$_.name -match 'ComputerManagement' } | select name

注意: 如果要通过 Windows 防火墙进行连接,则需要确保计算机已正确配置。 请参阅 Microsoft MSDN 网站上的 Windows Management Instrumentation 文档中的“通过 Windows 防火墙进行连接”一文。

权限和服务器身份验证

若要访问用于配置管理的 WMI 提供程序,客户端 WMI 管理脚本必须在目标计算机上的管理员上下文中运行。 您需要具有要管理的计算机上的本地 Windows Administrators 组的成员身份。

管理员可以设置组策略以控制用户对 WMI 提供程序的访问。 有关设置组策略的详细信息,请参阅SQL Server 配置管理器帮助中的“组策略和 MMC”。

WMI 管理脚本可用于更新运行 SQL Server 服务的帐户。

用于配置管理的 WMI 提供程序支持安全证书。 有关证书的详细信息,请参阅 加密层次结构

另请参阅

SQL Server 配置管理器