次の方法で共有


WMI を使用してConfiguration Manager オブジェクト クラス メソッドを呼び出す方法

SMS Provider クラス メソッドを呼び出すには、Configuration Managerで SWbemServices オブジェクト ExecMethod メソッドを使用して、 クラスによって定義されているメソッドを呼び出します。

注:

オブジェクト インスタンスでメソッドを呼び出すには、 オブジェクトから メソッドを直接呼び出します。 たとえば、「 ObjectInstance.MethodName parameters 」のように入力します。

Configuration Manager オブジェクト クラス メソッドを呼び出すには

  1. SMS プロバイダーへの接続を設定します。 詳細については、「 SMS プロバイダーの基礎」を参照してください。

  2. 手順 1 で取得した SWbemServices を使用して 、Get を 呼び出してクラス定義を取得します。

  3. 入力パラメーターを SWbemMethodSet として作成します。

  4. SWbemServices オブジェクト インスタンスを使用して ExecMethod を呼び出し、クラス名と入力パラメーターを指定します。

  5. 返された SWbemObject オブジェクトの ReturnValue プロパティからメソッドの戻り値を取得します。

次の例では、 SMS_CollectionRuleQuery クラス ValidateQuery クラス メソッドを呼び出して、コレクション ルール クエリを検証 します。

サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。

Sub ValidateQueryRule(connection, wqlQuery)  

    Dim inParams  
    Dim outParams  
    Dim collectionRuleClass  

    On Error Resume Next  

    ' Obtain the class definition object of a SMS_CollectionRuleQuery object.  
    Set collectionRuleClass = connection.Get("SMS_CollectionRuleQuery")  

    If Err.Number<>0 Then  
        Wscript.Echo "Couldn't get collection rule query object"  
        Exit Sub  
    End If  

    ' Set up the in parameter.  
    Set inParams = collectionRuleClass.Methods_("ValidateQuery").InParameters.SpawnInstance_  
    inParams.WQLQuery = wqlQuery  
    If Err.Number<>0 Then  
        Wscript.Echo "Couldn't get in parameters object"  
        Exit Sub  
    End If  

    ' Call the method.  
    Set outParams = _  
        connection.ExecMethod( "SMS_CollectionRuleQuery", "ValidateQuery", inParams)  
    If Err.Number<>0 Then  
        Wscript.Echo "Couldn't run method"  
        Exit Sub  
    End If  

    If outParams.ReturnValue = True Then  
        Wscript.Echo "Valid query"  
    Else   
        WScript.Echo "Not a valid query"  
    End If            
  End Sub  

この例のメソッドには、次のパラメーターがあります。

パラメーター 説明
connection - マネージド: SWbemServices SMS プロバイダーへの有効な接続。
wqlQuery - String WQL クエリ文字列。 この例では、 SELECT * FROM SMS_R_System 有効なクエリです。

コードのコンパイル

関連項目

Windows Management Instrumentation
オブジェクトの概要WMI を使用してConfiguration Managerで SMS プロバイダーに接続する方法
WMI を使用してConfiguration Manager オブジェクトを作成する方法
WMI を使用してConfiguration Manager オブジェクトを削除する方法
WMI を使用してConfiguration Manager オブジェクトを変更する方法
WMI を使用して非同期Configuration Manager クエリを実行する方法
WMI を使用して同期Configuration Manager クエリを実行する方法
WMI を使用してConfiguration Manager オブジェクトを読み取る方法
WMI を使用して遅延プロパティを読み取る方法