Set-CimInstance
Hiermee wijzigt u een CIM-exemplaar op een CIM-server door de methode ModifyInstance van de CIM-klasse aan te roepen.
Syntax
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
Deze cmdlet is alleen beschikbaar op het Windows-platform.
Met deze cmdlet wijzigt u 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 met 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 noch 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 . Dit is niet erg gebruikelijk.
Voorbeelden
Voorbeeld 1: Het CIM-exemplaar instellen
In dit voorbeeld wordt de waarde van de eigenschap VariableValue ingesteld op abcd met behulp van de parameter Query . U kunt exemplaren wijzigen die overeenkomen met een WQL-query (Windows Management Instrumentation Query Language).
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}
Voorbeeld 2: de eigenschap CIM-exemplaar instellen met behulp van een pijplijn
In dit voorbeeld wordt het CIM-exemplaarobject opgehaald dat is gefilterd op de parameter Query met behulp van de Get-CimInstance
cmdlet. De Set-CimInstance
cmdlet wijzigt de waarde van de eigenschap VariableValue in abcd.
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
Set-CimInstance -Property @{VariableValue="abcd"}
Voorbeeld 3: de eigenschap CIM-exemplaar instellen met behulp van het invoerobject
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
In dit voorbeeld worden de CIM-exemplaarobjecten opgehaald die zijn gefilterd op de parameter Query in op een variabele $x
met behulp van Get-CimInstance
en geeft vervolgens de inhoud van de variabele door aan de Set-CimInstance
cmdlet. Set-CimInstance
wijzigt vervolgens de eigenschap VariableValue in een bepaalde waarde. Omdat de parameter Passthru wordt gebruikt, retourneert dit voorbeeld een gewijzigd CIM-exemplaarobject.
Voorbeeld 4: de eigenschap CIM-exemplaar instellen
In dit voorbeeld wordt het CIM-exemplaarobject dat is opgegeven in de queryparameter opgehaald in een variabele $x
met behulp van de Get-CimInstance
cmdlet en wordt de eigenschapswaarde VariableValue van het object gewijzigd. Het CIM-exemplaarobject wordt vervolgens opgeslagen met behulp van de Set-CimInstance
cmdlet.
Omdat de parameter Passthru wordt gebruikt, retourneert dit voorbeeld een gewijzigd CIM-exemplaarobject.
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
Voorbeeld 5: De lijst met CIM-exemplaren weergeven die moeten worden gewijzigd met WhatIf
In dit voorbeeld wordt de algemene parameter WhatIf gebruikt om op te geven dat de wijziging niet moet worden uitgevoerd, maar voert alleen uit wat er zou gebeuren als deze zou worden uitgevoerd.
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf
Voorbeeld 6: het CIM-exemplaar instellen na bevestiging van de gebruiker
In dit voorbeeld wordt de algemene parameter Confirm gebruikt om op te geven dat de wijziging alleen moet worden uitgevoerd na bevestiging van de gebruiker.
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm
Voorbeeld 7: het gemaakte CIM-exemplaar instellen
In dit voorbeeld wordt een CIM-exemplaar gemaakt met de opgegeven eigenschappen met behulp van de cmdlet en wordt de New-CimInstance
inhoud ervan opgehaald in een variabele $x
. De variabele wordt vervolgens doorgegeven aan de Set-CimInstance
cmdlet, die de waarde van de eigenschap VariableValue wijzigt in een bepaalde waarde.
Omdat de parameter Passthru wordt gebruikt, retourneert dit voorbeeld een gewijzigd CIM-exemplaarobject.
$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Key Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
Parameters
-CimSession
Voert de cmdlets uit 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 |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
Hiermee geeft u de naam op 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, biedt verbinding maken met behulp van een CIM-sessie betere prestaties.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Hiermee geeft u een CIM-exemplaarobject te gebruiken als invoer.
De parameter InputObject inventariseert geen verzamelingen. Als een verzameling wordt doorgegeven, wordt er een fout gegenereerd. Wanneer u met verzamelingen werkt, sluist u de invoer door om de waarden op te sommen.
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
Hiermee geeft u de hoeveelheid tijd die de cmdlet wacht op een antwoord van de computer. Standaard is de waarde van deze parameter 0, wat betekent dat de cmdlet de standaard time-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 de verbinding van 3 minuten, kunnen netwerkfouten die langer duren dan de waarde van de parameter OperationTimeoutSec niet worden hersteld, omdat er een time-out optreedt voordat de client opnieuw verbinding kan maken.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Retourneert een object dat het item vertegenwoordigt waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Hiermee geeft u de eigenschappen van het CIM-exemplaar op als een hashtabel (met behulp van naam-waardeparen). Alleen de eigenschappen die met deze parameter zijn opgegeven, worden gewijzigd. Andere eigenschappen van het CIM-exemplaar worden niet gewijzigd.
Type: | IDictionary |
Aliases: | Arguments |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Query
Hiermee geeft u een query op 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 laten ontsnappen door deze tussen vierkante haken te zetten ([]
): percentage (%
), onderstrepingsteken (_
) of vierkante haak openen ([
).
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Hiermee geeft u de resource-id (URI) van de resourceklasse of het exemplaar op. 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:
http://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 standaard-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
van de DMTF-resource gebruikt en wordt de klassenaam eraan toegevoegd.
ResourceURI kan alleen worden gebruikt met CIM-sessies die zijn gemaakt met behulp van het WSMan-protocol, of bij het opgeven van de parameter ComputerName, 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 behulp van het DCOM-protocol, krijgt u een foutmelding, omdat het DCOM-protocol geen ondersteuning biedt voor de parameter ResourceURI.
Als zowel de parameter ResourceUri als de filterparameter zijn opgegeven, wordt de filterparameter genegeerd.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
Wanneer u de parameter Passthru gebruikt, retourneert deze cmdlet het gewijzigde CIM-exemplaarobject.
Notities
PowerShell bevat de volgende aliassen voor Set-CimInstance
:
- Windows:
scim
Deze cmdlet is alleen beschikbaar op Windows-platforms.