Erstellt oder aktualisiert eine Instanz einer vorhandenen WMI-Klasse (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation).
Syntax
Set-WmiInstance [-Klasse] <string> [[-Arguments] <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>] Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Set-WmiInstance" wird eine Instanz einer vorhandenen WMI-Klasse erstellt oder aktualisiert. Die erstellte oder aktualisierte Instanz wird in das WMI-Repository geschrieben.
Parameter
-Arguments <hashtable>
Gibt den Namen der zu ändernden Eigenschaft und den neuen Wert für diese Eigenschaft an. Name und Wert müssen ein Name-Wert-Paar bilden. Das Name-Wert-Paar wird über die Befehlszeile als Hashtabelle übergeben. Beispiel:
-argument @{Setting1=1; Setting2=5; Setting3="test"}.
Erforderlich? |
false |
Position? |
2 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-AsJob
Führt den Befehl als Hintergrundauftrag aus. Verwenden Sie diesen Parameter, um Befehle auszuführen, deren Ausführung viel Zeit in Anspruch nimmt.
Wenn Sie den AsJob-Parameter verwenden, gibt der Befehl ein Objekt zurück, das den Hintergrundauftrag darstellt, und zeigt dann die Eingabeaufforderung an. Sie können die Sitzung weiterhin verwenden, während der Auftrag abgeschlossen wird. Wenn Set-WmiObject 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 Substantiv "Job" enthalten (die Job-Cmdlets). Um die Auftragsergebnisse abzurufen, verwenden Sie das Cmdlet "Receive-Job".
Hinweis: Um diesen Parameter für Remotecomputer zu verwenden, müssen lokale Computer und Remotecomputer für Remoting konfiguriert werden. Außerdem müssen Sie Windows PowerShell in Windows Vista und höheren Versionen von Windows mit der Option "Als Administrator ausführen" starten. Weitere Informationen finden Sie unter "about_Remote_Requirements".
Weitere Informationen über Windows PowerShell-Hintergrundaufträge finden Sie unter "about_Jobs" und "about_Remote_Jobs".
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Authentication <AuthenticationLevel>
Gibt die für die WMI-Verbindung zu verwendende Authentifizierungsebene an. Gültige Werte:
-1: Unchanged
0: Default
1: None (Es wird keine Authentifizierung ausgeführt.)
2: Connect (Die Authentifizierung wird nur ausgeführt, wenn der Client eine Beziehung mit der Anwendung herstellt.)
3: Call (Die Authentifizierung wird nur zu Beginn eines Aufrufs ausgeführt, wenn die Anwendung die Anforderung empfängt.)
4: Packet (Die Authentifizierung wird für alle Daten ausgeführt, die vom Client empfangen werden.)
5: PacketIntegrity (Alle Daten, die zwischen dem Client und der Anwendung übertragen werden, werden authentifiziert und überprüft.)
6: PacketPrivacy (Die Eigenschaften der anderen Authentifizierungsebenen werden verwendet, und alle Daten werden verschlüsselt.)
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Authority <string>
Gibt die Autorität an, die zum Authentifizieren der WMI-Verbindung verwendet werden soll. Sie können die Standard-NTLM- oder Kerberos-Authentifizierung angeben. Legen Sie für die Verwendung von NTLM die Authority-Einstellung auf "ntlmdomain:<Domänenname>" fest, wobei <Domänenname> einen gültigen NTLM-Domänennamen darstellt. Geben Sie für die Verwendung von Kerberos "kerberos:<Domänenname>\<Servername>" an. Sie können die Authority-Einstellung nicht einschließen, wenn Sie eine Verbindung mit dem lokalen Computer herstellen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Klasse <string>
Gibt den Namen einer WMI-Klasse an.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-ComputerName <string[]>
Gibt den Computer an, für den der Verwaltungsvorgang ausgeführt werden soll. Bei dem Wert kann es sich um einen vollqualifizierten Domänennamen, einen NetBIOS-Namen oder eine IP-Adresse handeln. Um den Namen des lokalen Computers anzugeben, verwenden Sie den Computernamen, "localhost" oder einen Punkt (.). Der lokale Computer ist der Standardwert. Wenn sich der Remotecomputer in einer anderen Domäne als der Benutzer befindet, müssen Sie einen vollqualifizierten Domänennamen verwenden. Sie können den Wert für diesen Parameter festlegen, indem Sie den Wert über die Pipeline an den Parameter übergeben.
Dieser Parameter beruht nicht auf Windows PowerShell-Remoting, bei dem die WS-Verwaltung verwendet wird. Sie können den ComputerName-Parameter von Get-WmiObject auch dann verwenden, wenn der Computer nicht für das Ausführen von Remotebefehlen der WS-Verwaltung konfiguriert ist.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Credential <PSCredential>
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer. Geben Sie einen Benutzernamen ein, z. B. "User01", "Domain01\User01" oder "User@Contoso.com". Oder geben Sie ein PSCredential-Objekt ein, z. B. ein Objekt, das vom Cmdlet "Get-Credential" zurückgegeben wird. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-EnableAllPrivileges
Aktiviert alle Berechtigungen des aktuellen Benutzers, bevor der Befehl den WMI-Aufruf ausführt.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Impersonation <ImpersonationLevel>
Gibt die zu verwendende Identitätswechselebene an. Gültige Werte:
0: Default (Liest die lokale Registrierung für die Standard-Identitätswechselebene, die normalerweise auf "3: Impersonate" festgelegt ist.)
1: Anonymous (Verbirgt die Anmeldeinformationen des Aufrufers.)
2: Identify (Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.)
3: Impersonate (Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.)
4: Delegate (Ermöglicht es Objekten, anderen Objekten die Verwendung der Anmeldeinformationen des Aufrufers zu gestatten.)
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-InputObject <ManagementObject>
Gibt ein ManagementObject-Objekt an, das als Eingabe verwendet werden soll. Wenn dieser Parameter verwendet wird, werden alle anderen Parameter außer dem Arguments-Parameter ignoriert.
Erforderlich? |
true |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
false |
-Locale <string>
Gibt das bevorzugte Gebietsschema für WMI-Objekte an. Der Locale-Parameter wird als Array im Format "MS_<LCID>" in der gewünschten Reihenfolge angegeben.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Namespace <string>
Bei Verwendung mit dem Class-Parameter gibt dieser Parameter den WMI-Repositorynamespace an, in dem sich die WMI-Klasse befindet, auf die verwiesen wird.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Path <string>
Gibt einen WMI-Objektpfad zu der Instanz an, die erstellt oder aktualisiert werden soll.
Erforderlich? |
true |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-PutType <PutType>
Gibt an, ob die WMI-Instanz erstellt oder aktualisiert werden soll. Gültige Werte:
UpdateOnly: Aktualisiert eine vorhandene WMI-Instanz.
CreateOnly: Erstellt eine neue WMI-Instanz.
UpdateOrCreate: Aktualisiert die WMI-Instanz, sofern vorhanden, oder erstellt eine neue Instanz, wenn keine Instanz vorhanden ist.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-ThrottleLimit <int>
Hiermit kann der Benutzer einen Einschränkungswert für die Anzahl von WMI-Vorgängen angeben, die gleichzeitig ausgeführt werden können. Dieser Parameter wird zusammen mit dem AsJob-Parameter verwendet. Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Bestätigung
Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-WhatIf
Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
None Dieses Cmdlet nimmt keine Eingabe an. |
Ausgaben |
None Dieses Cmdlet generiert keine Ausgabe. |
Beispiel 1
C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} __GENUS : 2 __CLASS : Win32_WMISetting __SUPERCLASS : CIM_Setting __DYNASTY : CIM_Setting __RELPATH : Win32_WMISetting=@ __PROPERTY_COUNT : 27 __DERIVATION : {CIM_Setting} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@ ASPScriptDefaultNamespace : \\root\cimv2 ASPScriptEnabled : False AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...} AutoStartWin9X : BackupInterval : BackupLastTime : BuildVersion : 6001.18000 Caption : DatabaseDirectory : C:\Windows\system32\wbem\repository DatabaseMaxSize : Description : EnableAnonWin9xConnections : EnableEvents : False EnableStartupHeapPreallocation : False HighThresholdOnClientObjects : HighThresholdOnEvents : 20000000 InstallationDirectory : C:\Windows\system32\wbem LastStartupHeapPreallocation : LoggingDirectory : C:\Windows\system32\wbem\Logs\ LoggingLevel : 2 LowThresholdOnClientObjects : LowThresholdOnEvents : 10000000 MaxLogFileSize : 65536 MaxWaitOnClientObjects : MaxWaitOnEvents : 2000 MofSelfInstallDirectory : SettingID : Beschreibung ----------- Mit diesem Befehl wird die WMI-Protokollierungsebene auf 2 festgelegt. Der Befehl übergibt die festzulegende Eigenschaft und den Wert (die zusammen ein Wertpaar bilden) im Argumentparameter. Der Parameter akzeptiert eine durch die Konstruktion @{property = value} definierte Hashtabelle. Die zurückgegebenen Klasseninformationen spiegeln den neuen Wert wider.
Beispiel 2
C:\PS>set-wmiinstance -class win32_environment -argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"} __GENUS : 2 __CLASS : Win32_Environment __SUPERCLASS : CIM_SystemResource __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_Environment.Name="testvar",UserName="<SYSTEM>" __PROPERTY_COUNT : 8 __DERIVATION : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>" Caption : <SYSTEM>\testvar Description : <SYSTEM>\testvar InstallDate : Name : testvar Status : OK SystemVariable : True UserName : <SYSTEM> VariableValue : testvalue Beschreibung ----------- Mit diesem Befehl wird die testvar-Umgebungsvariable erstellt, die über den Wert "testvalue" verfügt. Hierzu wird eine neue Instanz der Win32_Environment-WMI-Klasse erstellt. Beachten Sie, dass für diesen Vorgang entsprechende Anmeldeinformationen erforderlich sind und dass Sie Windows PowerShell möglicherweise neu starten müssen, damit die neue Umgebungsvariable angezeigt wird.
Beispiel 3
C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} -computername system01, system02, system03 __GENUS : 2 __CLASS : Win32_WMISetting __SUPERCLASS : CIM_Setting __DYNASTY : CIM_Setting __RELPATH : Win32_WMISetting=@ __PROPERTY_COUNT : 27 __DERIVATION : {CIM_Setting} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@ ASPScriptDefaultNamespace : \\root\cimv2 ASPScriptEnabled : False AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...} AutoStartWin9X : BackupInterval : BackupLastTime : BuildVersion : 6001.18000 Caption : DatabaseDirectory : C:\Windows\system32\wbem\repository DatabaseMaxSize : Description : EnableAnonWin9xConnections : EnableEvents : False EnableStartupHeapPreallocation : False HighThresholdOnClientObjects : HighThresholdOnEvents : 20000000 InstallationDirectory : C:\Windows\system32\wbem LastStartupHeapPreallocation : LoggingDirectory : C:\Windows\system32\wbem\Logs\ LoggingLevel : 2 LowThresholdOnClientObjects : LowThresholdOnEvents : 10000000 MaxLogFileSize : 65536 MaxWaitOnClientObjects : MaxWaitOnEvents : 2000 MofSelfInstallDirectory : SettingID : ... Beschreibung ----------- Mit diesem Befehl wird die WMI-Protokollierungsebene auf 2 festgelegt. Der Befehl übergibt die festzulegende Eigenschaft und den Wert (die zusammen ein Wertpaar bilden) im Argumentparameter. Der Parameter akzeptiert eine durch die Konstruktion @{property = value} definierte Hashtabelle. Die zurückgegebenen Klasseninformationen spiegeln den neuen Wert wider.
Siehe auch