Set-WmiInstance

Skapar eller uppdaterar en instans av en befintlig WMI-klass (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

Cmdleten Set-WmiInstance skapar eller uppdaterar en instans av en befintlig WMI-klass (Windows Management Instrumentation). Den skapade eller uppdaterade instansen skrivs till WMI-lagringsplatsen.

Nya CIM-cmdletar, introducerade Windows PowerShell 3.0, utför samma uppgifter som WMI-cmdletarna. CIM-cmdletarna följer WS-Management-standarderna (WSMan) och CIM-standarden (Common Information Model). Detta gör det möjligt för cmdletar att använda samma tekniker för att hantera Windows-baserade datorer och de som kör andra operativsystem. I stället för att använda Set-WmiInstancekan du överväga att använda cmdletarna Set-CimInstance eller New-CimInstance .

Exempel

Exempel 1: Ange WMI-loggningsnivå

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                      :

Det här kommandot anger WMI-loggningsnivån till 2. Kommandot skickar egenskapen som ska anges och värdet, som tillsammans betraktas som ett värdepar, i argumentparet. Parametern tar en hash-tabell som definieras av konstruktionen @{property = value} . Klassinformationen som returneras återspeglar det nya värdet.

Exempel 2: Skapa en miljövariabel och dess värde

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

Det här kommandot skapar miljövariabeln testvar som har värdet testvalue. Det gör du genom att skapa en ny instans av WMI-klassen Win32_Environment . Den här åtgärden kräver lämpliga autentiseringsuppgifter och du kan behöva starta om Windows PowerShell för att se den nya miljövariabeln.

Exempel 3: Ange WMI-loggningsnivå för flera fjärrdatorer

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

Det här kommandot anger WMI-loggningsnivån till 2. Kommandot skickar egenskapen som ska anges och värdet, som tillsammans betraktas som ett värdepar, i argumentparet. Parametern tar en hash-tabell som definieras av konstruktionen @{property = value} . Den returnerade klassinformationen återspeglar det nya värdet.

Parametrar

-Arguments

Anger namnet på den egenskap som ska ändras och det nya värdet för den egenskapen. Namnet och värdet måste vara ett namn/värde-par. Namn/värde-paret skickas på kommandoraden som en hash-tabell. Till exempel:

@{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

Anger att den här cmdleten körs som ett bakgrundsjobb. Använd den här parametern för att köra kommandon som tar lång tid att slutföra.

När du anger parametern AsJob returnerar kommandot ett objekt som representerar bakgrundsjobbet och visar sedan kommandotolken. Du kan fortsätta att arbeta i sessionen medan jobbet är klart. Om används för en fjärrdator skapas jobbet på den lokala datorn och resultatet från fjärrdatorerna returneras automatiskt till den lokala datorn. Om du vill hantera jobbet använder du de cmdletar som innehåller jobbets substantiv ( cmdletarna Jobb ). Använd cmdleten för att hämta jobbresultatet Receive-Job .

Om du vill använda den här parametern tillsammans med fjärrdatorer måste de lokala datorerna och fjärrdatorerna konfigureras för fjärrkommunikation. Dessutom måste du starta Windows PowerShell med alternativet Kör som administratör i Windows Vista och senare versioner av Windows-operativsystemet. Mer information finns i about_Remote_Requirements.

Mer information om Windows PowerShell-bakgrundsjobb finns i about_Jobs och about_Remote_Jobs.

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

-Authentication

Anger den autentiseringsnivå som måste användas med WMI-anslutningen. De acceptabla värdena för den här parametern är:

  • -1:Oförändrad.
  • 0: Standard.
  • 1:Ingen. Ingen autentisering har utförts.
  • 2: Anslut. Autentisering utförs endast när klienten upprättar en relation med programmet.
  • 3:Kalla. Autentiseringen utförs endast i början av varje anrop när programmet tar emot begäran.
  • 4:Paket. Autentisering utförs på alla data som tas emot från klienten.
  • 5: PacketIntegrity. Alla data som överförs mellan klienten och programmet autentiseras och verifieras.
  • 6: PacketPrivacy. Egenskaperna för de andra autentiseringsnivåerna används och alla data krypteras.
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

Anger den utfärdare som ska användas för att autentisera WMI-anslutningen. Du kan ange standardautentisering för NTLM eller Kerberos. Om du vill använda NTLM anger du utfärdarinställningen till ntlmdomain:<DomainName>, där <DomainName> identifierar ett giltigt NTLM-domännamn. Om du vill använda Kerberos anger du kerberos:<DomainName>\<ServerName>. Du kan inte inkludera utfärdarinställningen när du ansluter till den lokala datorn.

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

-Class

Anger namnet på en WMI-klass.

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

-ComputerName

Anger namnet på den dator som cmdleten körs på. Standard är den lokala datorn.

Ange NetBIOS-namnet, en IP-adress eller ett fullständigt domännamn på en eller flera datorer. Om du vill ange den lokala datorn skriver du datornamnet, en punkt (.) eller localhost.

Den här parametern förlitar sig inte på Windows PowerShell-fjärrkommunikation. Du kan använda parametern ComputerName även om datorn inte är konfigurerad för att köra fjärrkommandon.

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

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt, till exempel ett som genereras av cmdleten Get-Credential. Om du skriver ett användarnamn, frågar den här cmdleten efter ett lösenord.

Den här parametern stöds inte av några leverantörer som är installerade med parametern stöds inte av några leverantörer som är installerade med Windows PowerShell.

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

-EnableAllPrivileges

Anger att den här cmdleten aktiverar alla behörigheter för den aktuella användaren innan kommandot det gör WMI-anropet.

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

-Impersonation

Anger den personifieringsnivå som ska användas. De acceptabla värdena för den här parametern är:

  • 0: Standard. Läser det lokala registret för standard personifieringsnivån, som vanligtvis är inställd på 3: Personifiera.
  • 1:Anonym. Döljer anroparens autentiseringsuppgifter.
  • 2:Identifiera. Tillåter att objekt frågar efter anroparens autentiseringsuppgifter.
  • 3:Personifiera. Tillåter att objekt använder anroparens autentiseringsuppgifter.
  • 4:Delegera. Tillåter att objekt tillåter att andra objekt använder anroparens autentiseringsuppgifter.
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

Anger ett ManagementObject-objekt som ska användas som indata. När den här parametern används ignoreras alla andra parametrar ,förutom parametern Argument .

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

-Locale

Anger önskat språk för WMI-objekt. Parametern Nationella inställningar anges i en matris i MS_<LCID-format> i önskad ordning.

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

-Namespace

Anger namnområdet för WMI-lagringsplatsen där den refererade WMI-klassen finns när den används med parametern Klass .

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

-Path

Anger en WMI-objektsökväg för den instans som du vill skapa eller uppdatera.

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

-PutType

Anger om WMI-instansen ska skapas eller uppdateras. De acceptabla värdena för den här parametern är:

  • UpdateOnlyUppdateringar en befintlig WMI-instans.
  • CreateOnly Skapar en ny WMI-instans.
  • UpdateOrCreateUppdateringar WMI-instansen om den finns eller skapar en ny instans om det inte finns någon instans.
Type:PutType
Accepted values:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Anger det maximala antalet samtidiga anslutningar som kan upprättas för att köra det här kommandot. Den här parametern används tillsammans med parametern AsJob . Begränsningsgränsen gäller endast för det aktuella kommandot, inte för sessionen eller på datorn.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

Indata

None

Den här cmdleten accepterar inte indata.

Utdata

None

Den här cmdleten genererar inte utdata.

Kommentarer

Windows PowerShell innehåller följande alias för Set-WmiInstance:

  • swmi