Set-CimInstance
Ändert eine CIM-Instanz auf einem CIM-Server durch Aufrufen der ModifyInstance-Methode der CIM-Klasse.
Syntax
CimInstanceComputerSet (Standard)
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>]
Beschreibung
Das Cmdlet Set-CimInstance ändert eine CIM-Instanz auf einem CIM-Server.
Wenn der InputObject-Parameter nicht angegeben ist, funktioniert das Cmdlet auf eine der folgenden Arten:
- Wenn weder der Parameter ComputerName noch der CimSession-Parameter angegeben ist, funktioniert dieses Cmdlet unter Verwendung einer COM-Sitzung (Component Object Model) für die lokale Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI).
- Wenn entweder der Parameter ComputerName oder der CimSession-Parameter angegeben ist, funktioniert dieses Cmdlet mit dem CIM-Server, der entweder durch den ComputerName-Parameter oder den CimSession-Parameter angegeben wird.
Wenn der Parameter InputObject angegeben ist, funktioniert das Cmdlet auf eine der folgenden Arten:
- Wenn weder der ComputerName-Parameter noch der CimSession-Parameter angegeben ist, verwendet dieses Cmdlet die CIM-Sitzung oder den Computernamen aus dem Eingabeobjekt.
- Wenn der Parameter ComputerName oder CimSession angegeben ist, verwendet dieses Cmdlet entweder den Parameterwert CimSession oder den Parameterwert ComputerName. Hinweis: Dies ist nicht sehr häufig.
Beispiele
Beispiel 1: Festlegen der CIM-Instanz
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}
Mit diesem Befehl wird der Wert der VariableValue-Eigenschaft mithilfe des Query-Parameters auf abcd festgelegt. Sie können Instanzen ändern, die einer Abfrage der Windows-Verwaltungsinstrumentationsabfrage (Windows Management Instrumentation Query Language, WQL) entsprechen.
Beispiel 2: Festlegen der CIM-Instanzeigenschaft mithilfe der Pipeline
Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' | Set-CimInstance -Property @{VariableValue="abcd"}
Mit diesem Befehl wird das CIM-Instanzobjekt abgerufen, das mit dem Query-Parameter mithilfe des Cmdlets Get-CimInstance gefiltert wurde, und dann die Objekte an das Cmdlet Set-CimInstance übergeben, das den Wert der VariableValue-Eigenschaft in abcd ändert.
Beispiel 3: Festlegen der CIM-Instanzeigenschaft mithilfe des Eingabeobjekts
$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru
Dieser Satz von Befehlen ruft die CIM-Instanzobjekte, die durch den Query-Parameter gefiltert wurden, mithilfe von Get-CimInstance in eine Variable ($x) ab und übergibt dann den Inhalt der Variablen an das Cmdlet Set-CimInstance. Set-CimInstance ändert dann die VariableValue-Eigenschaft in somevalue. Da der Passthru-Parameter verwendet wird, gibt dieser Befehlssatz ein geändertes CIM-Instanzobjekt zurück.
Beispiel 4: Festlegen der CIM-Instanzeigenschaft
$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru
Mit diesem Befehlssatz wird das CIM-Instanzobjekt, das im Query-Parameter angegeben ist, mithilfe des Cmdlets Get-CimInstance in eine Variable ($x) abgerufen und der VariableValue-Eigenschaftswert des Objekts geändert. Das CIM-Instanzobjekt wird dann mit dem Cmdlet Set-CimInstance gespeichert. Da der Passthru-Parameter verwendet wird, gibt dieser Befehlssatz ein geändertes CIM-Instanzobjekt zurück.
Beispiel 5: Anzeigen der Liste der CIM-Instanzen zum Ändern mithilfe von WhatIf
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf
Dieser Befehl verwendet den allgemeinen Parameter WhatIf, um anzugeben, dass die Änderung nicht vorgenommen werden soll, sondern nur ausgegeben werden soll, was passieren würde, wenn sie durchgeführt würde.
Beispiel 6: Festlegen der CIM-Instanz nach bestätigung des Benutzers
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm
Dieser Befehl verwendet den allgemeinen Parameter Confirmation, um anzugeben, dass die Änderung erst nach Bestätigung durch den Benutzer vorgenommen werden soll.
Beispiel 7: Festlegen der erstellten CIM-Instanz
$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Keys Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru
Mit diesem Befehlssatz wird mithilfe des Cmdlets New-CimInstance eine CIM-Instanz mit den angegebenen Eigenschaften erstellt und der Inhalt in einer Variablen ($x) abgerufen. Die Variable wird dann an das Cmdlet Set-CimInstance übergeben, das den Wert der VariableValue-Eigenschaft in einen beliebigen Wert ändert. Da der Passthru-Parameter verwendet wird, gibt dieser Befehlssatz ein geändertes CIM-Instanzobjekt zurück.
Parameter
-CimSession
Führt die Cmdlets auf einem Remotecomputer aus. Geben Sie einen Computernamen oder ein Sitzungsobjekt ein, z. B. die Ausgabe eines New-CimSession oder Get-CimSession Cmdlets.
Parametereigenschaften
| Typ: | CimSession[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
CimInstanceSessionSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QuerySessionSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ComputerName
Gibt den Namen des Computers an, auf dem Der CIM-Vorgang ausgeführt werden soll. Sie können einen vollqualifizierten Domänennamen (FQDN) oder einen NetBIOS-Namen angeben.
Wenn Sie diesen Parameter nicht angeben, führt das Cmdlet den Vorgang auf dem lokalen Computer mithilfe des Component Object Model (COM) aus.
Wenn Sie diesen Parameter angeben, erstellt das Cmdlet mithilfe des WsMan-Protokolls eine temporäre Sitzung auf dem angegebenen Computer.
Wenn mehrere Vorgänge auf demselben Computer ausgeführt werden, bietet die Verbindung mit einer CIM-Sitzung eine bessere Leistung.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | China, Servername |
Parametersätze
CimInstanceComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt ein CIM-Instanzobjekt an, das als Eingabe verwendet werden soll.
Parametereigenschaften
| Typ: | CimInstance |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | CimInstance |
Parametersätze
CimInstanceComputerSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CimInstanceSessionSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Namespace
Gibt den Namespace für den CIM-Vorgang an.
Der Standardnamespace ist root/cimv2. Sie können die Registerkartenvervollständigung verwenden, um die Liste der Namespaces zu durchsuchen, da PowerShell eine Liste der Namespaces vom lokalen WMI-Server abruft, um die Liste der Namespaces bereitzustellen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
QuerySessionSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-OperationTimeoutSec
Gibt die Zeitspanne an, die das Cmdlet auf eine Antwort vom Computer wartet.
Standardmäßig ist der Wert dieses Parameters 0, was bedeutet, dass das Cmdlet den Standardtimeoutwert für den Server verwendet.
Wenn der Parameter OperationTimeoutSec auf einen Wert festgelegt ist, der kleiner als das robuste Verbindungsretrytimeout von 3 Minuten ist, können Netzwerkfehler, die mehr als der Wert des OperationTimeoutSec-Parameters dauern, nicht wiederhergestellt werden, da der Vorgang auf dem Server zu einem Timeout vor dem erneuten Herstellen der Verbindung führen kann.
Parametereigenschaften
| Typ: | UInt32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | OT |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Property
Gibt die Eigenschaften der CIM-Instanz als Hashtabelle an (mithilfe von Name-Wert-Paaren). Nur die mit diesem Parameter angegebenen Eigenschaften werden geändert. Andere Eigenschaften der CIM-Instanz werden nicht geändert.
Parametereigenschaften
| Typ: | IDictionary |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Argumente |
Parametersätze
CimInstanceComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
CimInstanceSessionSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
QuerySessionSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Query
Gibt eine Abfrage an, die auf dem CIM-Server ausgeführt werden soll, um CIM-Instanzen abzurufen, auf denen das Cmdlet ausgeführt werden soll. Sie können den Abfragedialekt mithilfe des QueryDialect-Parameters angeben.
Wenn der angegebene Wert doppelte Anführungszeichen ("), einfache Anführungszeichen (') oder einen umgekehrten Schrägstrich (\) enthält, müssen Sie diese Zeichen escapen, indem Sie sie dem umgekehrten Schrägstrich (\) voranstellen. Wenn der angegebene Wert den WQL LIKE-Operator verwendet, müssen Sie die folgenden Zeichen escapen, indem Sie sie in eckige Klammern ([]) einschließen: Prozent (%), Unterstrich (_) oder öffnende eckige Klammer ([).
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
QuerySessionSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
QueryComputerSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-QueryDialect
Gibt die Abfragesprache an, die für den Abfrageparameter verwendet wird. Die zulässigen Werte für diesen Parameter sind: WQL oder CQL.
Der Standardwert ist WQL.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
QuerySessionSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
QueryComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-ResourceUri
Gibt den URI (Uniform Resource Identifier) der Ressourcenklasse oder -instanz an. Der URI wird verwendet, um einen bestimmten Ressourcentyp zu identifizieren, z. B. Datenträger oder Prozesse, auf einem Computer.
Ein URI besteht aus einem Präfix und einem Pfad zu einer Ressource. Beispiel:
https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDiskhttp://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Wenn Sie diesen Parameter nicht angeben, wird standardmäßig der URI der DMTF-Standardressource http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ verwendet, und der Klassenname wird daran angefügt.
ResourceURI kann nur mit CIM-Sitzungen verwendet werden, die mit dem WSMan-Protokoll erstellt wurden, oder beim Angeben des ComputerName-Parameters, der eine CIM-Sitzung mit WSMan erstellt. Wenn Sie diesen Parameter ohne Angabe des ComputersName-Parameters angeben oder eine MIT DCOM-Protokoll erstellte CIM-Sitzung angeben, wird ein Fehler angezeigt, da das DCOM-Protokoll den ResourceURI-Parameter nicht unterstützt.
Wenn sowohl der Parameter "ResourceUri" als auch der Parameter "Filter" angegeben werden, wird der Parameter "Filter" ignoriert.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
CimInstanceComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
CimInstanceSessionSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
CimInstance
Ausgaben
CimInstance
Wenn der Passthru-Parameter angegeben wird, gibt dieses Cmdlet ein geändertes CIM-Instanzobjekt zurück.