Set-WmiInstance

Vytvoří nebo aktualizuje instanci existující třídy WMI (Windows Management Instrumentation).

Syntax

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

Rutina Set-WmiInstance vytvoří nebo aktualizuje instanci existující třídy WMI (Windows Management Instrumentation). Vytvořená nebo aktualizovaná instance se zapíše do úložiště rozhraní WMI.

Nové rutiny CIM, zavedené prostředí Windows PowerShell 3.0, provádějí stejné úlohy jako rutiny rozhraní WMI. Rutiny CIM splňují standardy WS-Management (WSMan) a standard CIM (Common Information Model). To umožňuje rutinám používat stejné techniky ke správě počítačů se systémem Windows a těch, na kterých běží jiné operační systémy. Místo použití Set-WmiInstancezvažte použití rutin Set-CimInstance nebo New-CimInstance.

Příklady

Příklad 1: Nastavení úrovně protokolování rozhraní WMI

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                      :

Tento příkaz nastaví úroveň protokolování rozhraní WMI na 2. Příkaz předá vlastnost, která má být nastavena, a hodnota, společně považován za pár hodnot v parametru argumentu. Parametr přebírá tabulku hash, která je definována @{property = value} konstrukcí. Vrácené informace o třídě odrážejí novou hodnotu.

Příklad 2: Vytvoření proměnné prostředí a její hodnoty

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

Tento příkaz vytvoří proměnnou prostředí testvar, která má hodnotu testvalue. Provede to vytvořením nové instance Win32_Environment třídy WMI. Tato operace vyžaduje odpovídající přihlašovací údaje a že možná budete muset restartovat Prostředí Windows PowerShell, abyste viděli novou proměnnou prostředí.

Příklad 3: Nastavení úrovně protokolování rozhraní WMI pro několik vzdálených počítačů

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                      :
...

Tento příkaz nastaví úroveň protokolování rozhraní WMI na 2. Příkaz předá vlastnost, která má být nastavena, a hodnota, společně považován za pár hodnot v parametru argumentu. Parametr přebírá tabulku hash, která je definována @{property = value} konstrukcí. Vrácené informace o třídě odrážejí novou hodnotu.

Parametry

-Arguments

Určuje název vlastnosti, kterou chcete změnit, a novou hodnotu této vlastnosti. Název a hodnota musí být dvojicí name-value. Pár name-value se předává na příkazovém řádku jako tabulka hash. Příklad:

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

Type:Hashtable
Aliases:Args, Property
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Označuje, že tato rutina běží jako úloha na pozadí. Pomocí tohoto parametru můžete spouštět příkazy, které potrvá dlouhou dobu.

Když zadáte parametr AsJob , příkaz vrátí objekt, který představuje úlohu na pozadí a pak zobrazí příkazový řádek. Během dokončení úlohy můžete pokračovat v práci v relaci. Pokud se používá pro vzdálený počítač, úloha se vytvoří v místním počítači a výsledky ze vzdálených počítačů se automaticky vrátí do místního počítače. Ke správě úlohy použijte rutiny, které obsahují podstatné jméno úlohy (rutiny úlohy ). K získání výsledků úlohy použijte rutinu Receive-Job .

Chcete-li tento parametr použít společně se vzdálenými počítači, musí být místní a vzdálené počítače nakonfigurovány pro vzdálenou komunikace. Kromě toho musíte spustit Windows PowerShell pomocí možnosti Spustit jako správce v systému Windows Vista a novějších verzích operačního systému Windows. Další informace najdete v tématu about_Remote_Requirements.

Další informace o úlohách na pozadí prostředí Windows PowerShell najdete v tématu about_Jobs a about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

Určuje úroveň ověřování, která se musí použít s připojením rozhraní WMI. Tento parametr přijímá tyto hodnoty:

  • -1:Nezměněn.
  • 0: Výchozí.
  • 1:Žádný. Neprovádělo se žádné ověřování.
  • 2: Připojení. Ověřování se provádí pouze v případech, kdy klient vytvoří relaci s aplikací.
  • 3:Volání. Ověřování se provádí pouze na začátku každého volání, když aplikace obdrží požadavek.
  • 4:Paket. Ověřování se provádí u všech dat přijatých z klienta.
  • 5: PacketIntegrity. Všechna data přenášená mezi klientem a aplikací se ověřují a ověřují.
  • 6: PacketPrivacy. Používají se vlastnosti ostatních úrovní ověřování a všechna data se šifrují.
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authority

Určuje autoritu, která se má použít k ověření připojení rozhraní WMI. Můžete zadat standardní ověřování NTLM nebo Kerberos. Chcete-li použít protokol NTLM, nastavte nastavení autority na ntlmdomain:<DomainName, kde <DomainName>> identifikuje platný název domény NTLM. Pokud chcete použít Kerberos, zadejte kerberos:<DomainName>\<ServerName>. Nastavení autority nelze zahrnout při připojení k místnímu počítači.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Class

Určuje název třídy WMI.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Určuje název počítače, na kterém se tato rutina spouští. Ve výchozím nastavení je to místní počítač.

Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény jednoho nebo více počítačů. Chcete-li zadat místní počítač, zadejte název počítače, tečku (.) nebo localhost.

Tento parametr nespoléhá na vzdálené komunikace Windows PowerShellu. Parametr ComputerName můžete použít i v případě, že váš počítač není nakonfigurovaný tak, aby spouštět vzdálené příkazy.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt vygenerovaný rutinou Get-Credential. Pokud zadáte uživatelské jméno, tato rutina zobrazí výzvu k zadání hesla.

Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými s parametrem nejsou podporovány žádnými poskytovateli nainstalovanými v prostředí Windows PowerShell.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAllPrivileges

Označuje, že tato rutina povolí všechna oprávnění aktuálního uživatele před příkazem, který provede volání rozhraní WMI.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Určuje úroveň zosobnění, která se má použít. Tento parametr přijímá tyto hodnoty:

  • 0: Výchozí. Přečte místní registr pro výchozí úroveň zosobnění, která je obvykle nastavená na 3: Zosobnění.
  • 1:Anonymní. Skryje přihlašovací údaje volajícího.
  • 2:Identifikovat. Umožňuje objektům dotazovat přihlašovací údaje volajícího.
  • 3:Zosobnit. Umožňuje objektům používat přihlašovací údaje volajícího.
  • 4:Delegát. Umožňuje objektům povolit, aby jiné objekty používaly přihlašovací údaje volajícího.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Určuje objekt ManagementObject , který se má použít jako vstup. Při použití tohoto parametru se ignorují všechny ostatní parametry s výjimkou parametru Arguments .

Type:ManagementObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Locale

Určuje upřednostňované národní prostředí pro objekty WMI. Parametr Národního prostředí je zadán v poli ve formátu MS_<LCID> v upřednostňovaném pořadí.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Určuje obor názvů úložiště rozhraní WMI, kde se při použití s parametrem Class nachází odkazovaná třída rozhraní WMI.

Type:String
Aliases:NS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Určuje cestu objektu WMI instance, kterou chcete vytvořit nebo aktualizovat.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PutType

Určuje, zda se má vytvořit nebo aktualizovat instance rozhraní WMI. Tento parametr přijímá tyto hodnoty:

  • UpdateOnlyAktualizace existující instanci služby WMI.
  • CreateOnly Vytvoří novou instanci rozhraní WMI.
  • UpdateOrCreateAktualizace instanci rozhraní WMI, pokud existuje, nebo vytvoří novou instanci, pokud instance neexistuje.
Type:PutType
Accepted values:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Určuje maximální počet souběžných připojení, která lze navázat pro spuštění tohoto příkazu. Tento parametr se používá společně s parametrem AsJob . Omezení se vztahuje pouze na aktuální příkaz, ne na relaci nebo na počítač.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Tato rutina nepřijímá vstup.

Výstupy

None

Tato rutina negeneruje výstup.

Poznámky

Windows PowerShell obsahuje následující aliasy pro Set-WmiInstance:

  • swmi