Delen via


Set-WmiInstance

Hiermee maakt of werkt u een exemplaar van een bestaande WMI-klasse (Windows Management Instrumentation) aan.

Syntaxis

Set-WmiInstance
   [-Class] <String>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   -InputObject <ManagementObject>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-ThrottleLimit <Int32>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   -Path <String>
   [-Arguments <Hashtable>]
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-WmiInstance
   [-PutType <PutType>]
   [-AsJob]
   [-Impersonation <ImpersonationLevel>]
   [-Authentication <AuthenticationLevel>]
   [-Locale <String>]
   [-EnableAllPrivileges]
   [-Authority <String>]
   [-Credential <PSCredential>]
   [-ThrottleLimit <Int32>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Met de Set-WmiInstance cmdlet wordt een exemplaar van een bestaande WMI-klasse (Windows Management Instrumentation) gemaakt of bijgewerkt. Het gemaakte of bijgewerkte exemplaar wordt naar de WMI-opslagplaats geschreven.

Nieuwe CIM-cmdlets, geïntroduceerd Windows PowerShell 3.0, voeren dezelfde taken uit als de WMI-cmdlets. De CIM-cmdlets voldoen aan WS-Management (WSMan)-standaarden en aan de CIM-standaard (Common Information Model). Hierdoor kunnen cmdlets dezelfde technieken gebruiken om Windows-computers en andere besturingssystemen te beheren. In plaats van Set-WmiInstancete gebruiken, kunt u overwegen de Set-CimInstance- of Cmdlets New-CimInstance te gebruiken.

Voorbeelden

Voorbeeld 1: WMI-logboekregistratieniveau instellen

PS C:\> 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                      :

Met deze opdracht stelt u het WMI-logboekregistratieniveau in op 2. De opdracht geeft de eigenschap door die moet worden ingesteld en de waarde, samen beschouwd als een waardepaar, in de argumentparameter. De parameter gebruikt een hashtabel die is gedefinieerd door de constructie @{property = value}. De geretourneerde klasse-informatie weerspiegelt de nieuwe waarde.

Voorbeeld 2: Een omgevingsvariabele en de bijbehorende waarde maken

PS C:\> 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

Met deze opdracht maakt u de testvar-omgevingsvariabele met de waardetestwaarde. Dit doet u door een nieuw exemplaar van de WMI-klasse Win32_Environment te maken. Voor deze bewerking zijn de juiste referenties vereist en moet u Windows PowerShell mogelijk opnieuw opstarten om de nieuwe omgevingsvariabele te zien.

Voorbeeld 3: WMI-logboekregistratieniveau instellen voor verschillende externe computers

PS C:\> 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                      :
...

Met deze opdracht stelt u het WMI-logboekregistratieniveau in op 2. De opdracht geeft de eigenschap door die moet worden ingesteld en de waarde, samen beschouwd als een waardepaar, in de argumentparameter. De parameter gebruikt een hashtabel die is gedefinieerd door de constructie @{property = value}. De geretourneerde klassegegevens weerspiegelen de nieuwe waarde.

Parameters

-Arguments

Hiermee geeft u de naam van de eigenschap die moet worden gewijzigd en de nieuwe waarde voor die eigenschap. De naam en waarde moeten een naam-waardepaar zijn. Het naam-waardepaar wordt doorgegeven aan de opdrachtregel als een hash-tabel. Bijvoorbeeld:

@{Setting1=1; Setting2=5; Setting3="test"}

Type:Hashtable
Aliassen:Args, Property
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AsJob

Geeft aan dat deze cmdket wordt uitgevoerd als een achtergrondtaak. Gebruik deze parameter om opdrachten uit te voeren die lang duren voordat ze zijn voltooid.

Wanneer u de parameter AsJob opgeeft, retourneert de opdracht een object dat de achtergrondtaak vertegenwoordigt en wordt vervolgens de opdrachtprompt weergegeven. U kunt in de sessie blijven werken terwijl de taak is voltooid. Als Set-WmiInstance- wordt gebruikt voor een externe computer, wordt de taak gemaakt op de lokale computer en worden de resultaten van externe computers automatisch geretourneerd naar de lokale computer. Als u de taak wilt beheren, gebruikt u de cmdlets met het taak- zelfstandig naamwoord (de cmdlets Job). Gebruik de cmdlet Receive-Job om de taakresultaten op te halen.

Als u deze parameter samen met externe computers wilt gebruiken, moeten de lokale en externe computers worden geconfigureerd voor externe communicatie. Daarnaast moet u Windows PowerShell starten met de optie Als administrator uitvoeren in Windows Vista en latere versies van het Windows-besturingssysteem. Zie about_Remote_Requirements voor meer informatie.

Zie about_Jobs en about_Remote_Jobs voor meer informatie over Windows PowerShell-achtergrondtaken.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Authentication

Hiermee geeft u het verificatieniveau op dat moet worden gebruikt met de WMI-verbinding. De acceptabele waarden voor deze parameter zijn:

  • -1: Ongewijzigd.
  • 0: Standaard.
  • 1: Geen. Er is geen verificatie uitgevoerd.
  • 2: Verbinding maken. Verificatie wordt alleen uitgevoerd wanneer de client een relatie tot stand brengt met de toepassing.
  • 3: Bellen. Verificatie wordt alleen uitgevoerd aan het begin van elke aanroep wanneer de toepassing de aanvraag ontvangt.
  • 4: Pakket. Verificatie wordt uitgevoerd op alle gegevens die van de client worden ontvangen.
  • 5: PacketIntegrity. Alle gegevens die worden overgedragen tussen de client en de toepassing, worden geverifieerd en geverifieerd.
  • 6: PacketPrivacy. De eigenschappen van de andere verificatieniveaus worden gebruikt en alle gegevens worden versleuteld.
Type:AuthenticationLevel
Geaccepteerde waarden:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Authority

Hiermee geeft u de instantie op die moet worden gebruikt om de WMI-verbinding te verifiëren. U kunt standaardverificatie voor NTLM of Kerberos opgeven. Als u NTLM wilt gebruiken, stelt u de instelling van de instantie in op ntlmdomain:<DomainName>, waarbij <DomainName> een geldige NTLM-domeinnaam identificeert. Als u Kerberos wilt gebruiken, geeft u kerberos op:<DomainName>\<ServerName>. U kunt de instantie-instelling niet opnemen wanneer u verbinding maakt met de lokale computer.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Class

Hiermee geeft u de naam van een WMI-klasse.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ComputerName

Hiermee geeft u de naam op van de computer waarop deze cmdlet wordt uitgevoerd. De standaardwaarde is de lokale computer.

Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van een of meer computers. Als u de lokale computer wilt opgeven, typt u de computernaam, een punt (.) of localhost.

Deze parameter is niet afhankelijk van externe communicatie met Windows PowerShell. U kunt de parameter ComputerName gebruiken, zelfs als uw computer niet is geconfigureerd voor het uitvoeren van externe opdrachten.

Type:String[]
Aliassen:Cn
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Confirm

U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. De standaardwaarde is de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in, zoals een object dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, vraagt deze cmdlet om een wachtwoord.

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met parameter, worden niet ondersteund door providers die zijn geïnstalleerd met Windows PowerShell.

Type:PSCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-EnableAllPrivileges

Geeft aan dat deze cmdlet alle machtigingen van de huidige gebruiker inschakelt voordat de opdracht de WMI-aanroep uitvoert.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Impersonation

Hiermee geeft u het imitatieniveau op dat moet worden gebruikt. De acceptabele waarden voor deze parameter zijn:

  • 0: Standaard. Leest het lokale register voor het standaard-imitatieniveau, dat meestal is ingesteld op 3: Imiteren.
  • 1: Anoniem. Verbergt de referenties van de beller.
  • 2: Identificeren. Hiermee kunnen objecten query's uitvoeren op de referenties van de aanroeper.
  • 3: Imiteren. Hiermee kunnen objecten de referenties van de aanroeper gebruiken.
  • 4: Gemachtigde. Hiermee kunnen objecten andere objecten toestaan om de referenties van de aanroeper te gebruiken.
Type:ImpersonationLevel
Geaccepteerde waarden:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Hiermee geeft u een ManagementObject-object te gebruiken als invoer. Wanneer deze parameter wordt gebruikt, worden alle andere parameters, met uitzondering van de argumenten parameter, genegeerd.

Type:ManagementObject
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Locale

Hiermee geeft u de voorkeursinstelling voor WMI-objecten. De parameter Landinstelling wordt opgegeven in een matrix in de MS_<LCID->-indeling in de voorkeursvolgorde.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Namespace

Hiermee geeft u de naamruimte van de WMI-opslagplaats op waar de WMI-klasse waarnaar wordt verwezen zich bevindt wanneer deze wordt gebruikt met de parameter Klasse.

Type:String
Aliassen:NS
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Path

Hiermee geeft u een WMI-objectpad op van het exemplaar dat u wilt maken of bijwerken.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PutType

Hiermee wordt aangegeven of het WMI-exemplaar moet worden gemaakt of bijgewerkt. De acceptabele waarden voor deze parameter zijn:

  • UpdateOnly. Hiermee wordt een bestaand WMI-exemplaar bijgewerkt.
  • CreateOnly. Hiermee maakt u een nieuw WMI-exemplaar.
  • UpdateOrCreate. Hiermee wordt het WMI-exemplaar bijgewerkt als deze bestaat of een nieuw exemplaar maakt als er geen exemplaar bestaat.
Type:PutType
Geaccepteerde waarden:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen op dat tot stand kan worden gebracht om deze opdracht uit te voeren. Deze parameter wordt samen met de parameter AsJob gebruikt. De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Type:Int32
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

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

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

Deze cmdlet accepteert geen invoer.

Uitvoerwaarden

None

Met deze cmdlet wordt geen uitvoer gegenereerd.