WMI Provider for Configuration Management の操作
適用対象: SQL Server
この記事では、WMI Provider for Computer Management を使用してプログラミングする方法に関するガイダンスを提供します。
バインド
WMI Provider for Configuration Management は、COM オブジェクト モデルであり、事前バインドも遅延バインドもサポートしています。 遅延バインディングでは、VBScript などのスクリプト言語を使用して、SQL Server サービス、ネットワーク設定、エイリアスをプログラムで操作できます。
接続文字列の指定
アプリケーションは、プロバイダーによって定義された WMI 名前空間に接続することで、WMI Provider for Configuration Management を SQL Server のインスタンスに転送します。 Windows WMI サービスは、この名前空間をプロバイダー DLL にマップし、DLL をメモリに読み込みます。 SQL Server のすべてのインスタンスは、単一の WMI 名前空間で表されます。
名前空間の既定値は次の形式です。 この形式では、 VV
は SQL Server のメジャー バージョン番号です。 この数は、 SELECT @@VERSION;
を実行して検出できます。
\\.\root\Microsoft\SqlServer\ComputerManagementVV
PowerShell を使用して接続する場合は、先頭の \\.\
を削除する必要があります。 たとえば、次の PowerShell コードでは、メジャー バージョン 13 である SQL Server 2016 のすべての 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 Web サイトの Windows Management Instrumentation ドキュメントの「Windows ファイアウォール経由の接続」の記事を参照してください。
権限とサーバー認証
WMI Provider for Configuration Management にアクセスするには、クライアント WMI 管理スクリプトが、ターゲット コンピューター上の管理者のコンテキストで実行されている必要があります。 アクセスするユーザーは、管理するコンピューターのローカル Windows 管理者グループのメンバーである必要があります。
管理者は、グループ ポリシーを設定して、WMI プロバイダーへのユーザー アクセスを制御することができます。 グループ ポリシーの設定の詳細については、SQL Server 構成マネージャー ヘルプの「グループ ポリシーと MMC」を参照してください。
WMI 管理スクリプトを使用して、SQL Server サービスを実行するアカウントを更新できます。
WMI Provider for Configuration Management では、セキュリティ証明書がサポートされています。 証明書の詳細については、「 Encryption 階層」を参照してください。