Condividi tramite


Come modificare o aggiornare un'istanza

Dopo aver recuperato un'istanza, è possibile modificare la copia locale e aggiornare le modifiche apportate al server.

Per modificare o aggiornare un'istanza

  1. Recuperare una copia locale dell'oggetto con una chiamata a GetObject.

  2. Se necessario, visualizzare le proprietà dell'oggetto con una chiamata al metodo Properties_ .

    Anche se non è necessario, potrebbe essere necessario conoscere il valore della proprietà prima di modificarlo.

  3. Apportare modifiche alle proprietà dell'oggetto con una chiamata al metodo SWbemProperty.Value .

    Il metodo Value modifica solo la copia locale. Per salvare le modifiche apportate a WMI, è necessario inserire nuovamente la copia completa nel repository WMI.

  4. Inserire nuovamente l'oggetto nel repository WMI con una chiamata ai metodi SWbemObject.Put_ o SWbemObject.PutAsync_ .

    Poiché i nomi implicano, Put_ aggiorna in modo sincrono mentre PutAsync_ aggiorna in modo asincrono. Entrambi i metodi copiano l'istanza originale con l'istanza modificata. Tuttavia, per sfruttare l'elaborazione asincrona, è necessario creare un oggetto SWbemSink .

    Nell'esempio seguente viene illustrato come aggiornare un'istanza:

        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_