Freigeben über


So ändern oder aktualisieren Sie eine Instanz

Nachdem Sie eine Instanz abgerufen haben, können Sie Ihre lokale Kopie ändern und Ihre Änderungen auf dem Server aktualisieren.

So ändern oder aktualisieren Sie eine Instanz

  1. Rufen Sie eine lokale Kopie des Objekts mit einem Aufruf von GetObject ab.

  2. Zeigen Sie bei Bedarf die Eigenschaften des Objekts mit einem Aufruf der Properties_ -Methode an.

    Obwohl nicht erforderlich, möchten Sie vielleicht den Wert der Eigenschaft kennen, bevor Sie sie ändern.

  3. Nehmen Sie änderungen an den Objekteigenschaften mit einem Aufruf der SWbemProperty.Value-Methode vor.

    Die Value-Methode ändert nur die lokale Kopie. Um Ihre Änderungen in WMI zu speichern, müssen Sie die vollständige Kopie wieder im WMI-Repository ablegen.

  4. Setzen Sie das Objekt wieder in das WMI-Repository mit einem Aufruf der methoden SWbemObject.Put_ oder SWbemObject.PutAsync_ .

    Wie die Namen schon andeuten, wird Put_ synchron aktualisiert, während PutAsync_ asynchron aktualisiert wird. Entweder Methode ersetzt Ihre ursprüngliche Instanz durch Ihre geänderte Instanz. Um die asynchrone Verarbeitung zu nutzen, müssen Sie jedoch ein SWbemSink-Objekt erstellen.

    Das folgende Beispiel zeigt, wie eine Instanz aktualisiert wird:

        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_