Sdílet prostřednictvím


Set-WmiInstance

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

Syntaxe

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 odpovídají standardům WS-Management (WSMan) a standardu 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 Rutiny New-CimInstan ce.

Příklady

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

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                      :

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 definovanou konstruktorem @{property = value}. Vrácené informace o třídě odrážejí novou hodnotu.

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

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

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čů

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

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 definovanou konstruktorem @{property = value}. 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. Například:

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

Typ:Hashtable
Aliasy:Args, Property
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AsJob

Označuje, že tento cmdket 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 pro vzdálený počítač používá Set-WmiInstance, vytvoří se úloha 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í úlohu podstatné jméno (rutiny úloha). 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 prostředí Windows PowerShell na pozadí najdete v tématu about_Jobs a about_Remote_Jobs.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Authentication

Určuje úroveň ověřování, která se musí použít s připojením rozhraní WMI. Přijatelné hodnoty pro tento parametr jsou:

  • -1: Beze změny.
  • 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: Zavolejte. 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í.
Typ:AuthenticationLevel
Přípustné hodnoty:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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 NTLM, nastavte nastavení autority na ntlmdomain:<DomainName>, kde <DomainName> identifikuje platný název domény NTLM. Chcete-li použít Protokol Kerberos, zadejte kerberos:<DomainName>\<Název_serveru>. Nastavení autority nelze zahrnout při připojení k místnímu počítači.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Class

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

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ComputerName

Určuje název počítače, na kterém se tato rutina spouští. Výchozí hodnota je 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ý pro spouštění vzdálených příkazů.

Typ:String[]
Aliasy:Cn
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

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

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte PSCredential objekt, 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.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Impersonation

Určuje úroveň zosobnění, která se má použít. Přijatelné hodnoty pro tento parametr jsou:

  • 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: Identifikace. Umožňuje objektům dotazovat přihlašovací údaje volajícího.
  • 3: Zosobnění. 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.
Typ:ImpersonationLevel
Přípustné hodnoty:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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 Argumenty.

Typ:ManagementObject
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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í.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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.

Typ:String
Aliasy:NS
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

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

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PutType

Určuje, zda se má vytvořit nebo aktualizovat instance rozhraní WMI. Přijatelné hodnoty pro tento parametr jsou:

  • UpdateOnly. Aktualizuje existující instanci služby WMI.
  • CreateOnly. Vytvoří novou instanci rozhraní WMI.
  • UpdateOrCreate. Aktualizuje instanci služby WMI, pokud existuje nebo vytvoří novou instanci, pokud instance neexistuje.
Typ:PutType
Přípustné hodnoty:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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č.

Typ:Int32
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Tato rutina nepřijímá vstup.

Výstupy

None

Tato rutina negeneruje výstup.