System.Management を使用して WMI クラス メソッドを呼び出す方法
クライアント Windows 管理インストルメンテーション (WMI) クラス メソッドを呼び出すには、Configuration Managerで WMI クラスの ManagementClass
の を呼び出InvokeMethod
します。
WMI クラス メソッドを呼び出すには
Configuration Manager クライアント WMI 名前空間への接続を設定します。 詳細については、「System.Management を使用してConfiguration Manager クライアント WMI 名前空間に接続する方法」を参照してください。
ManagementClass
手順 1 で取得したManagementScope
パスと、メソッドを呼び出すクラスの名前を使用して を作成します。を
ManagementBaseObject
作成し、 メソッドのパラメーターに 任意の を指定します。オブジェクト
InvokeMethod
メソッドを使用して メソッドをManagementClass
呼び出します。返された
ManagementBaseObject
を使用して、返されたパラメーターを表示します。
例
次の C# コード例では、 メソッドを ISmsClient::GetAssignedSite
呼び出して、クライアントの現在割り当てられているサイトを取得します。 次に、 メソッドを使用して、割り当てられたサイトを同じ値に ISmsClient::SetAssignedSite
戻します。
サンプル コードの呼び出しについては、「 System.Management を使用して WMI クラス メソッドを呼び出す方法」を参照してください。
public void CallMethod(ManagementScope scope)
{
try// Get the client's SMS_Client class.
{
ManagementClass cls = new ManagementClass(scope.Path.Path, "sms_client", null);
// Get current site code.
ManagementBaseObject outSiteParams = cls.InvokeMethod("GetAssignedSite", null, null);
// Display current site code.
Console.WriteLine(outSiteParams["sSiteCode"].ToString());
// Set up current site code as input parameter for SetAssignedSite.
ManagementBaseObject inParams = cls.GetMethodParameters("SetAssignedSite");
inParams["sSiteCode"] = outSiteParams["sSiteCode"].ToString();
// Assign the Site code.
ManagementBaseObject outMPParams = cls.InvokeMethod("SetAssignedSite", inParams, null);
}
catch (ManagementException e)
{
throw new Exception("Failed to execute method", e);
}
}
この例のメソッドには、次のパラメーターがあります。
パラメーター | 型 | 説明 |
---|---|---|
scope |
- ManagementScope |
クライアント WMI プロバイダーへの有効な接続。 パスは root\ccm です。 |
コードのコンパイル
名前空間
System
System.Management
Assembly
System.Management
堅牢なプログラミング
発生できる例外は System.Management.ManagementException です。
関連項目
WMI プログラミングConfiguration Managerについて
System.Management を使用して WMI クラス メソッドを呼び出す方法
System.Management を使用してConfiguration Manager クライアント WMI 名前空間に接続する方法
System.Management を使用して非同期クエリを実行する方法
System.Management を使用して同期クエリを実行する方法
System.Management を使用して WMI オブジェクトを読み取る方法