次の方法で共有


インスタンスを変更または更新する方法

インスタンスを取得したら、ローカル コピーを変更し、サーバーへの変更を更新できます。

インスタンスを変更または更新するには

  1. GetObject を呼び出して、オブジェクトのローカル コピーを取得します。

  2. 必要な場合は、Properties_ メソッドを呼び出してオブジェクトのプロパティを表示します。

    必須ではありませんが、プロパティを変更する前にプロパティの値を知りたい場合があります。

  3. SWbemProperty.Value メソッドを呼び出して、オブジェクト プロパティを変更します。

    Value メソッドは、ローカル コピーのみを変更します。 変更を WMI に保存するには、完全なコピーを WMI リポジトリに戻す必要があります。

  4. SWbemObject.Put_ または SWbemObject.PutAsync_ メソッドを呼び出して、WMI リポジトリにオブジェクト戻します。

    名前が示すように、Put_ では同期的に更新が行われますが、PutAsync_ では非同期的に更新が行われます。 どちらのメソッドでも、変更したインスタンスを使用して、元のインスタンスへのコピーが行われます。 ただし、非同期処理を利用するには、 SWbemSink オブジェクトを作成する必要があります。

    次の例は、インスタンスを更新する方法を示しています。

        Set ObjClass  = Namespace.Get("MsSna_LinkService_IpDlc")     
    ' Create new link service instance  
        Set NewInst   = ObjClass.SpawnInstance_  
        ' Set instance properties  
        NewInst.NetworkName = Left(strComputerName, 8)  
        NewInst.CPName = "IPDLCLS"  
        NewInst.NodeID = "05D.FFFFF"  
        NewInst.AddressType = 2  
        NewInst.LocalAddress = Trim(strLocalAddress)  
        NewInst.LENNode = strLenNode  
        NewInst.PrimaryNNS = strPrimaryNNS  
        if (strBackupNNS <> Empty) then  
            NewInst.BackupNNS = strBackupNNS  
        end if  
        ' Commit the instance  
        NewInst.Put_