Set-CimInstance
Hiermee wijzigt u een CIM-exemplaar op een CIM-server door de methode ModifyInstance van de CIM-klasse aan te roepen.
Syntaxis
Set-CimInstance
[-ComputerName <String[]>]
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[-Property <IDictionary>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
-CimSession <CimSession[]>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Query] <String>
[-QueryDialect <String>]
-Property <IDictionary>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-CimInstance
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Query] <String>
[-QueryDialect <String>]
-Property <IDictionary>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
De Set-CimInstance-cmdlet wijzigt een CIM-exemplaar op een CIM-server.
Als de parameter InputObject niet is opgegeven, werkt de cmdlet op een van de volgende manieren:
- Als noch de parameter ComputerName noch de parameter CimSession is opgegeven, werkt deze cmdlet op lokale Windows Management Instrumentation (WMI) met behulp van een COM-sessie (Component Object Model).
- Als de parameter ComputerName of de parameter CimSession is opgegeven, werkt deze cmdlet tegen de CIM-server die is opgegeven door de parameter ComputerName of de parameter CimSession.
Als de parameter InputObject is opgegeven, werkt de cmdlet op een van de volgende manieren:
- Als de parameter ComputerName noch de parameter CimSession is opgegeven, gebruikt deze cmdlet de CIM-sessie of computernaam van het invoerobject.
- Als de parameter ComputerName of de parameter CimSession is opgegeven, gebruikt deze cmdlet de parameterwaarde CimSession of de parameterwaarde ComputerName. Opmerking: Dit is niet erg gebruikelijk.
Voorbeelden
Voorbeeld 1: Het CIM-exemplaar instellen
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}
Met deze opdracht stelt u de waarde van de eigenschap VariableValue in op abcd met behulp van de queryparameter. U kunt exemplaren wijzigen die overeenkomen met een WQL-query (Windows Management Instrumentation Query Language).
Voorbeeld 2: De CIM-exemplaareigenschap instellen met behulp van pijplijn
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' | Set-CimInstance -Property @{VariableValue="abcd"}
Met deze opdracht wordt het CIM-exemplaarobject opgehaald dat is gefilterd op de queryparameter met behulp van de cmdlet Get-CimInstance en worden de objecten vervolgens doorgegeven aan de cmdlet Set-CimInstance, waarmee de waarde van de eigenschap VariableValue wordt gewijzigd in abcd.
Voorbeeld 3: de CIM-exemplaareigenschap instellen met behulp van invoerobject
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
Met deze set opdrachten worden de CIM-exemplaarobjecten opgehaald die door de queryparameter zijn gefilterd op een variabele ($x) met Behulp van Get-CimInstance en wordt vervolgens de inhoud van de variabele doorgegeven aan de Set-CimInstance cmdlet. Set-CimInstance wijzigt vervolgens de eigenschap VariableValue in een bepaalde waarde. Omdat de parameter Passthru wordt gebruikt, retourneert deze set opdrachten een gewijzigd CIM-exemplaarobject.
Voorbeeld 4: De CIM-exemplaareigenschap instellen
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
Met deze set opdrachten wordt het CIM-exemplaarobject opgehaald dat is opgegeven in de queryparameter in een variabele ($x) met behulp van de cmdlet Get-CimInstance en wordt de eigenschapswaarde VariableValue van het object gewijzigd. Het CIM-exemplaarobject wordt vervolgens opgeslagen met behulp van de cmdlet Set-CimInstance. Omdat de parameter Passthru wordt gebruikt, retourneert deze set opdrachten een gewijzigd CIM-exemplaarobject.
Voorbeeld 5: De lijst met CIM-exemplaren weergeven om te wijzigen met behulp van WhatIf
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf
Deze opdracht maakt gebruik van de algemene parameter WhatIf om op te geven dat de wijziging niet moet worden uitgevoerd, maar alleen uitvoer wat er zou gebeuren als het zou gebeuren.
Voorbeeld 6: Het CIM-exemplaar instellen na bevestiging van de gebruiker
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm
Met deze opdracht wordt de algemene parameter Bevestigen gebruikt om op te geven dat de wijziging pas moet worden uitgevoerd na bevestiging van de gebruiker.
Voorbeeld 7: Het gemaakte CIM-exemplaar instellen
$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Keys Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
Met deze set opdrachten maakt u een CIM-exemplaar met de opgegeven eigenschappen met behulp van de New-CimInstance-cmdlet en haalt u de inhoud ervan op in een variabele ($x). De variabele wordt vervolgens doorgegeven aan de cmdlet Set-CimInstance, waarmee de waarde van de eigenschap VariableValue wordt gewijzigd in een bepaalde waarde. Omdat de parameter Passthru wordt gebruikt, retourneert deze set opdrachten een gewijzigd CIM-exemplaarobject.
Parameters
-CimSession
De cmdlets worden uitgevoerd op een externe computer. Voer een computernaam of een sessieobject in, zoals de uitvoer van een New-CimSession of Get-CimSession cmdlet.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ComputerName
Hiermee geeft u de naam van de computer waarop u de CIM-bewerking wilt uitvoeren. U kunt een FQDN (Fully Qualified Domain Name) of een NetBIOS-naam opgeven.
Als u deze parameter niet opgeeft, voert de cmdlet de bewerking uit op de lokale computer met behulp van Component Object Model (COM).
Als u deze parameter opgeeft, maakt de cmdlet een tijdelijke sessie naar de opgegeven computer met behulp van het WsMan-protocol.
Als er meerdere bewerkingen op dezelfde computer worden uitgevoerd, kunt u beter verbinding maken met een CIM-sessie.
Type: | String[] |
Aliassen: | CN, ServerName |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u een CIM-exemplaarobject te gebruiken als invoer.
Type: | CimInstance |
Aliassen: | CimInstance |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Namespace
Hiermee geeft u de naamruimte voor de CIM-bewerking.
De standaardnaamruimte is root/cimv2. U kunt tabvoltooiing gebruiken om door de lijst met naamruimten te bladeren, omdat PowerShell een lijst met naamruimten ophaalt van de lokale WMI-server om de lijst met naamruimten op te geven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-OperationTimeoutSec
Hiermee geeft u de hoeveelheid tijd op die de cmdlet wacht op een reactie van de computer.
De waarde van deze parameter is standaard 0, wat betekent dat de cmdlet de standaardtime-outwaarde voor de server gebruikt.
Als de parameter OperationTimeoutSec is ingesteld op een waarde die kleiner is dan de robuuste time-out voor opnieuw proberen van 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat er een time-out optreedt voordat de client opnieuw verbinding kan maken.
Type: | UInt32 |
Aliassen: | OT |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PassThru
Retourneert een object dat het item aangeeft waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Property
Hiermee geeft u de eigenschappen van het CIM-exemplaar op als een hash-tabel (met behulp van naam-waardeparen). Alleen de eigenschappen die zijn opgegeven met deze parameter, worden gewijzigd. Andere eigenschappen van het CIM-exemplaar worden niet gewijzigd.
Type: | IDictionary |
Aliassen: | Arguments |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Query
Hiermee geeft u een query die moet worden uitgevoerd op de CIM-server om CIM-exemplaren op te halen waarop de cmdlet moet worden uitgevoerd. U kunt het querydialect opgeven met behulp van de parameter QueryDialect.
Als de opgegeven waarde dubbele aanhalingstekens ("), enkele aanhalingstekens (')of een backslash (\) bevat, moet u deze tekens escapen door ze te voorzien van het backslashteken (\). Als de opgegeven waarde gebruikmaakt van de WQL LIKE-operator, moet u de volgende tekens ontsnappen door deze tussen vierkante haken ([]): percentage (%), onderstrepingsteken (_) of vierkante haken openen ([).
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-QueryDialect
Hiermee geeft u de querytaal op die wordt gebruikt voor de queryparameter. De acceptabele waarden voor deze parameter zijn: WQL of CQL.
De standaardwaarde is WQL.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-ResourceUri
Hiermee geeft u de resource uniform resource identifier (URI) van de resourceklasse of het exemplaar. De URI wordt gebruikt om een specifiek type resource, zoals schijven of processen, op een computer te identificeren.
Een URI bestaat uit een voorvoegsel en een pad naar een resource. Bijvoorbeeld:
https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Als u deze parameter niet opgeeft, wordt standaard de DMTF-standaardresource-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
gebruikt en wordt de klassenaam eraan toegevoegd.
ResourceURI kan alleen worden gebruikt met CIM-sessies die zijn gemaakt met het WSMan-protocol of wanneer u de parameter ComputerName opgeeft, waarmee een CIM-sessie wordt gemaakt met behulp van WSMan. Als u deze parameter opgeeft zonder de parameter ComputerName op te geven of als u een CIM-sessie opgeeft die is gemaakt met het DCOM-protocol, krijgt u een foutmelding omdat het DCOM-protocol de parameter ResourceURI niet ondersteunt.
Als zowel de parameter ResourceUri als de filterparameter zijn opgegeven, wordt de filterparameter genegeerd.
Type: | Uri |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
Uitvoerwaarden
Wanneer de parameter Passthru is opgegeven, retourneert deze cmdlet een gewijzigd CIM-exemplaarobject.