Delen via


Set-CimInstance

Hiermee wijzigt u een CIM-exemplaar op een CIM-server door de methode ModifyInstance van de CIM-klasse aan te roepen.

Syntaxis

CimInstanceComputerSet (Standaard)

Set-CimInstance
    [-InputObject] <CimInstance>
    [-ComputerName <String[]>]
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-Property <IDictionary>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceSessionSet

Set-CimInstance
    [-InputObject] <CimInstance>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-Property <IDictionary>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

Set-CimInstance
    [-Query] <String>
    -CimSession <CimSession[]>
    -Property <IDictionary>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QueryComputerSet

Set-CimInstance
    [-Query] <String>
    -Property <IDictionary>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-QueryDialect <String>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Deze cmdlet is alleen beschikbaar op het Windows-platform.

Met deze cmdlet wordt een CIM-exemplaar op een CIM-server gewijzigd.

Als de parameter InputObject niet is opgegeven, werkt de cmdlet op een van de volgende manieren:

  • Als noch de ComputerName parameter noch de CimSession parameter is opgegeven, werkt deze cmdlet op lokale Windows Management Instrumentation (WMI) met behulp van een COM-sessie (Component Object Model).
  • Als ofwel de parameter ComputerName of de parameter CimSession is opgegeven, werkt deze cmdlet tegen de CIM-server die is gespecificeerd door ofwel 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 CimSession parameter 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 waarde van de parameter CimSession of van de parameter 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).

$instance = @ {
    Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
    Property = @{VariableValue="abcd"}
}
Set-CimInstance @instance

Voorbeeld 2: De CIM-exemplaareigenschap instellen met behulp van pijplijn

In dit voorbeeld wordt het CIM-exemplaarobject opgehaald dat is gefilterd op de parameter Query met behulp van de cmdlet Get-CimInstance. Cmdlet Set-CimInstance wijzigt de waarde van de VariableValue-eigenschap naar abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="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

In dit voorbeeld worden de CIM-exemplaarobjecten opgehaald die door de queryparameter zijn gefilterd op een variabele $x met behulp van Get-CimInstanceen wordt de inhoud van de variabele vervolgens doorgegeven aan de Set-CimInstance cmdlet. Set-CimInstance wijzigt vervolgens de VariableValue eigenschap naar somevalue. Omdat de parameter PassThru wordt gebruikt, retourneert dit voorbeeld een gewijzigd CIM-exemplaarobject.

Voorbeeld 4: De CIM-exemplaareigenschap instellen

In dit voorbeeld wordt het CIM-exemplaarobject, dat is opgegeven in de parameter Query, in een variabele $x geplaatst met de cmdlet Get-CimInstance, en wordt de waarde van de eigenschap 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 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 om te wijzigen met behulp van WhatIf

In dit voorbeeld wordt de algemene parameter WhatIf- gebruikt om op te geven dat de wijziging niet moet worden uitgevoerd, maar alleen wordt uitgevoerd wat er zou gebeuren als dit zou gebeuren.

$instance = @{
    Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
    Property = @{VariableValue="abcd"}
    WhatIf = $true
}
Set-CimInstance @instance

Voorbeeld 6: Het CIM-exemplaar instellen na bevestiging van de gebruiker

In dit voorbeeld wordt de algemene parameter Bevestigen gebruikt om op te geven dat de wijziging pas moet worden uitgevoerd na bevestiging van de gebruiker.

$instance = @{
    Query = 'Select * from Win32_Environment where name LIKE "testvar%"'
    Property = @{VariableValue="abcd"}
    Confirm = $true
}
Set-CimInstance @instance

Voorbeeld 7: Het gemaakte CIM-exemplaar instellen

In dit voorbeeld wordt een CIM-exemplaar gemaakt met de opgegeven eigenschappen met behulp van de cmdlet New-CimInstance en wordt de inhoud ervan opgehaald naar een variabele $x. De variabele wordt vervolgens doorgegeven aan de cmdlet Set-CimInstance, waarmee de waarde van de eigenschap VariableValue wordt gewijzigd in somevalue. Omdat de parameter PassThru wordt gebruikt, retourneert dit voorbeeld een gewijzigd CIM-exemplaarobject.

$instance = @{
    ClassName = 'Win32_Environment'
    Property = @{
        Name="testvar"
        UserName="domain\user"
    }
    Key = 'Name', 'UserName'
    ClientOnly = $true
}
$x = New-CimInstance @instance
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.

Parametereigenschappen

Type:

CimSession[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

CimInstanceSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QuerySessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:China, Servernaam

Parametersets

CimInstanceComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QueryComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InputObject

Specificeert een CIM-object om als invoer te gebruiken.

De parameter InputObject inventariseert geen verzamelingen. Als een verzameling wordt doorgegeven, treedt er een fout op. Wanneer u met verzamelingen werkt, kunt u de invoer doorsluisen om de waarden op te sommen.

Parametereigenschappen

Type:CimInstance
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:CimInstance

Parametersets

CimInstanceComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
CimInstanceSessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

QuerySessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
QueryComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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 de verbinding van 3 minuten, kunnen netwerkfouten die meer duren dan de waarde van de parameter OperationTimeoutSec niet herstellen, omdat de bewerking op de server een time-out optreedt voordat de client opnieuw verbinding kan maken.

Parametereigenschappen

Type:UInt32
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:OT

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-PassThru

Retourneert een object dat het item aangeeft waarmee u werkt. Deze cmdlet genereert standaard geen uitvoer.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:IDictionary
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Argumenten

Parametersets

CimInstanceComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
CimInstanceSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
QuerySessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
QueryComputerSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Query

Hiermee specificeert u een query die moet worden uitgevoerd op de CIM-server om CIM-exemplaren op te halen die door de cmdlet worden bewerkt. 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 deze met het backslashteken (\) te voorzien. 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 ([).

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

QuerySessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
QueryComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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-.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

QuerySessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
QueryComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ResourceUri

Geeft de resource-uniform resource identifier (URI) van de resourceklasse of instantie 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. Voorbeeld:

  • 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 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 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 de ResourceUri parameter niet ondersteunt.

Als zowel de parameter ResourceUri als de parameter Filter zijn opgegeven, wordt de parameter Filter genegeerd.

Parametereigenschappen

Type:Uri
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

CimInstanceComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
CimInstanceSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

CimInstance

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

CimInstance

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.