インスタンスを変更または更新する方法
インスタンスを取得したら、ローカル コピーを変更し、サーバーへの変更を更新できます。
インスタンスを変更または更新するには
GetObject を呼び出して、オブジェクトのローカル コピーを取得します。
必要な場合は、Properties_ メソッドを呼び出してオブジェクトのプロパティを表示します。
必須ではありませんが、プロパティを変更する前にプロパティの値を知りたい場合があります。
SWbemProperty.Value メソッドを呼び出して、オブジェクト プロパティを変更します。
Value メソッドは、ローカル コピーのみを変更します。 変更を WMI に保存するには、完全なコピーを WMI リポジトリに戻す必要があります。
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_