Das cmdlet Set-WmiInstance erstellt oder aktualisiert eine Instanz einer vorhandenen Windows-Verwaltungsinstrumentation (WMI)-Klasse.
Die erstellte oder aktualisierte Instanz wird in das WMI-Repository geschrieben.
Neue CIM-Cmdlets, die Windows PowerShell 3.0 eingeführt haben, führen dieselben Aufgaben wie die WMI-Cmdlets aus.
Die CIM-Cmdlets entsprechen WS-Management (WSMan)-Standards und dem Common Information Model (CIM)-Standard.
Auf diese Weise können Cmdlets die gleichen Techniken verwenden, um Windows-basierte Computer und Computer mit anderen Betriebssystemen zu verwalten.
Anstatt Set-WmiInstancezu verwenden, sollten Sie die Set-CimInstance oder New-CimInstance-Cmdlets verwenden.
Beispiele
Beispiel 1: Festlegen der WMI-Protokollierungsebene
Mit diesem Befehl wird die WMI-Protokollierungsebene auf 2 festgelegt.
Der Befehl übergibt die festzulegende Eigenschaft und den Wert, zusammen als Wertpaar betrachtet, im Argumentparameter.
Der Parameter verwendet eine Hashtabelle, die durch die Konstruktion @{property = value} definiert wird.
Die zurückgegebenen Klasseninformationen spiegeln den neuen Wert wider.
Beispiel 2: Erstellen einer Umgebungsvariable und des zugehörigen Werts
Mit diesem Befehl wird die Umgebungsvariable testvar mit dem Wert testvalue erstellt.
Dazu wird eine neue Instanz der Win32_Environment WMI-Klasse erstellt.
Für diesen Vorgang sind geeignete Anmeldeinformationen erforderlich, und Möglicherweise müssen Sie Windows PowerShell neu starten, um die neue Umgebungsvariable anzuzeigen.
Beispiel 3: Festlegen der WMI-Protokollierungsebene für mehrere Remotecomputer
Mit diesem Befehl wird die WMI-Protokollierungsebene auf 2 festgelegt.
Der Befehl übergibt die festzulegende Eigenschaft und den Wert, zusammen als Wertpaar betrachtet, im Argumentparameter.
Der Parameter verwendet eine Hashtabelle, die durch die Konstruktion @{property = value} definiert wird.
Die zurückgegebenen Klasseninformationen spiegeln den neuen Wert wider.
Parameter
-Arguments
Gibt den Namen der zu ändernden Eigenschaft und den neuen Wert für diese Eigenschaft an.
Der Name und der Wert müssen ein Name-Wert-Paar sein.
Das Name-Wert-Paar wird in der Befehlszeile als Hashtabelle übergeben.
Beispiel:
@{Setting1=1; Setting2=5; Setting3="test"}
Parametereigenschaften
Typ:
Hashtable
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Aliase:
Argumente, Eigentum
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
object
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-AsJob
Gibt an, dass dieses cmdket als Hintergrundauftrag ausgeführt wird.
Verwenden Sie diesen Parameter, um Befehle auszuführen, die lange dauern.
Wenn Sie den AsJob--Parameter angeben, gibt der Befehl ein Objekt zurück, das den Hintergrundauftrag darstellt, und zeigt dann die Eingabeaufforderung an.
Sie können weiterhin in der Sitzung arbeiten, während der Auftrag abgeschlossen ist.
Wenn Set-WmiInstance für einen Remotecomputer verwendet wird, wird der Auftrag auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben.
Verwenden Sie zum Verwalten des Auftrags die Cmdlets, die das Auftrag Substantiv enthalten (die cmdlets Job).
Verwenden Sie zum Abrufen der Auftragsergebnisse das Cmdlet Receive-Job.
Um diesen Parameter zusammen mit Remotecomputern zu verwenden, müssen die lokalen und Remotecomputer für remoting konfiguriert werden.
Darüber hinaus müssen Sie Windows PowerShell mit der Option Als Administrator ausführen in Windows Vista und höheren Versionen des Windows-Betriebssystems starten.
Weitere Informationen finden Sie unter about_Remote_Requirements.
Weitere Informationen zu Windows PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
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
-Authentication
Gibt die Authentifizierungsebene an, die mit der WMI-Verbindung verwendet werden muss.
Die zulässigen Werte für diesen Parameter sind:
-1: Unverändert.
0: Standardwert.
1: Keine.
Es wurde keine Authentifizierung ausgeführt.
2: Verbinden.
Die Authentifizierung wird nur ausgeführt, wenn der Client eine Beziehung mit der Anwendung herstellt.
3: Rufen Sie an.
Die Authentifizierung erfolgt nur zu Beginn jedes Anrufs, wenn die Anwendung die Anforderung empfängt.
4: Paket.
Die Authentifizierung erfolgt für alle Daten, die vom Client empfangen werden.
5: Paketintegrität.
Alle Daten, die zwischen dem Client und der Anwendung übertragen werden, werden authentifiziert und überprüft.
6: Paket-Privatsphäre.
Die Eigenschaften der anderen Authentifizierungsstufen werden verwendet, und alle Daten werden verschlüsselt.
Gibt die Autorität an, die zum Authentifizieren der WMI-Verbindung verwendet werden soll.
Sie können die standardmäßige NTLM- oder Kerberos-Authentifizierung angeben.
Um NTLM zu verwenden, legen Sie die Autoritätseinstellung auf ntlmdomain fest:<DomainName>, wobei <DomainName-> einen gültigen NTLM-Domänennamen identifiziert.
Geben Sie kerberos an, um Kerberos zu verwenden:<DomainName>\<ServerName>.
Sie können die Autoritätseinstellung nicht einschließen, wenn Sie eine Verbindung mit dem lokalen Computer herstellen.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Class
Gibt den Namen einer WMI-Klasse an.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
class
Position:
0
Obligatorisch:
True
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-ComputerName
Gibt den Namen des Computers an, auf dem dieses Cmdlet ausgeführt wird.
Der Standardwert ist der lokale Computer.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines oder mehrerer Computer ein.
Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.) oder localhost ein.
Dieser Parameter basiert nicht auf Windows PowerShell-Remoting.
Sie können den parameter ComputerName verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Parametereigenschaften
Typ:
String[]
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Aliase:
Cn
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
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
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt.
Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential--Objekt ein, z. B. ein Objekt, das vom Cmdlet Get-Credential generiert wird.
Wenn Sie einen Benutzernamen eingeben, fordert dieses Cmdlet ein Kennwort ein.
Dieser Parameter wird von keinem Anbieter unterstützt, der mit Windows PowerShell installiert ist.
Parametereigenschaften
Typ:
PSCredential
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-EnableAllPrivileges
Gibt an, dass dieses Cmdlet alle Berechtigungen des aktuellen Benutzers aktiviert, bevor der Befehl ausgeführt wird, der den WMI-Aufruf vorgibt.
Parametereigenschaften
Typ:
SwitchParameter
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Impersonation
Gibt die zu verwendende Identitätswechselebene an.
Die zulässigen Werte für diesen Parameter sind:
0: Standardwert.
Liest die lokale Registrierung für die Standardidentitätswechselebene, die in der Regel auf 3 festgelegt ist: Identitätswechsel.
1: Anonym.
Blendet die Anmeldeinformationen des Aufrufers aus.
2: Identifizieren.
Ermöglicht Es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.
3: Imitieren Sie sich.
Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.
4: Delegieren.
Ermöglicht Objekten die Verwendung der Anmeldeinformationen des Aufrufers für andere Objekte.
Gibt ein ManagementObject--Objekt an, das als Eingabe verwendet werden soll.
Wenn dieser Parameter verwendet wird, werden alle anderen Parameter außer den Argumenten Parameter ignoriert.
Parametereigenschaften
Typ:
ManagementObject
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
object
Position:
Named
Obligatorisch:
True
Wert aus Pipeline:
True
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Locale
Gibt das bevorzugte Gebietsschema für WMI-Objekte an.
Der Parameter "Gebietsschema" wird in einem Array im MS_LCID-Format<> in der bevorzugten Reihenfolge angegeben.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Namespace
Gibt den WMI-Repositorynamespace an, in dem sich die referenzierte WMI-Klasse befindet, wenn sie mit dem parameter Class verwendet wird.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Aliase:
NS
Parametersätze
class
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
path
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
WQLQuery
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
query
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
list
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Path
Gibt einen WMI-Objektpfad der Instanz an, die Sie erstellen oder aktualisieren möchten.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
path
Position:
Named
Obligatorisch:
True
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-PutType
Gibt an, ob die WMI-Instanz erstellt oder aktualisiert werden soll.
Die zulässigen Werte für diesen Parameter sind:
Nur aktualisieren.
Aktualisiert eine vorhandene WMI-Instanz.
Nur erstellen.
Erstellt eine neue WMI-Instanz.
UpdateOrCreate.
Aktualisiert die WMI-Instanz, wenn sie vorhanden ist, oder erstellt eine neue Instanz, wenn eine Instanz nicht vorhanden ist.
Parametereigenschaften
Typ:
PutType
Standardwert:
None
Zulässige Werte:
None, UpdateOnly, CreateOnly, UpdateOrCreate
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
-ThrottleLimit
Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können.
Dieser Parameter wird zusammen mit dem parameter AsJob verwendet.
Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, nicht für die Sitzung oder den Computer.
Parametereigenschaften
Typ:
Int32
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
-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.