Udostępnij za pośrednictwem


Set-WmiInstance

Tworzy lub aktualizuje wystąpienie istniejącej klasy Instrumentacja zarządzania Windows (WMI).

Składnia

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>]

Opis

Polecenie Set-WmiInstance cmdlet tworzy lub aktualizuje wystąpienie istniejącej klasy Instrumentacja zarządzania Windows (WMI). Utworzone lub zaktualizowane wystąpienie jest zapisywane w repozytorium usługi WMI.

Nowe polecenia cmdlet ciM, wprowadzone w programie Windows PowerShell 3.0, wykonują te same zadania co polecenia cmdlet usługi WMI. Polecenia cmdlet modelu CIM są zgodne ze standardami WS-Management (WSMan) i standardem Common Information Model (CIM). Dzięki temu polecenia cmdlet mogą używać tych samych technik do zarządzania komputerami z systemem Windows i innymi systemami operacyjnymi. Zamiast używać Set-WmiInstancepolecenia cmdlet , rozważ użycie poleceń cmdlet Set-CimInstance lub New-CimInstance .

Przykłady

Przykład 1. Ustawianie poziomu rejestrowania usługi 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                      :

To polecenie ustawia poziom rejestrowania usługi WMI na 2. Polecenie przekazuje właściwość do ustawienia, a wartość, razem uważaną za parę wartości, w parametrze argumentu. Parametr przyjmuje tabelę skrótów zdefiniowaną przez konstrukcję @{property = value} . Zwrócone informacje o klasie odzwierciedlają nową wartość.

Przykład 2. Tworzenie zmiennej środowiskowej i jej wartości

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

To polecenie tworzy zmienną środowiskową testvar, która ma wartość testvalue. Robi to przez utworzenie nowego wystąpienia klasy Win32_Environment WMI. Ta operacja wymaga odpowiednich poświadczeń i może być konieczne ponowne uruchomienie programu Windows PowerShell w celu wyświetlenia nowej zmiennej środowiskowej.

Przykład 3. Ustawianie poziomu rejestrowania usługi WMI dla kilku komputerów zdalnych

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

To polecenie ustawia poziom rejestrowania usługi WMI na 2. Polecenie przekazuje właściwość do ustawienia, a wartość, razem uważaną za parę wartości, w parametrze argumentu. Parametr przyjmuje tabelę skrótów zdefiniowaną przez konstrukcję @{property = value} . Zwrócone informacje o klasie odzwierciedlają nową wartość.

Parametry

-Arguments

Określa nazwę właściwości, która ma zostać zmieniona, oraz nową wartość dla tej właściwości. Nazwa i wartość musi być parą name-value. Para name-value jest przekazywana w wierszu polecenia jako tabela skrótów. Na przykład:

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

Typ:Hashtable
Aliasy:Args, Property
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-AsJob

Wskazuje, że to polecenie cmdlet jest uruchamiane jako zadanie w tle. Użyj tego parametru, aby uruchomić polecenia, które zajmują dużo czasu.

Po określeniu parametru AsJob polecenie zwraca obiekt reprezentujący zadanie w tle, a następnie wyświetla wiersz polecenia. Możesz kontynuować pracę w sesji, gdy zadanie zostanie zakończone. Jeśli jest używany dla komputera zdalnego, zadanie jest tworzone na komputerze lokalnym, a wyniki z komputerów zdalnych są automatycznie zwracane do komputera lokalnego. Aby zarządzać zadaniem, użyj poleceń cmdlet zawierających wartość noun zadania (polecenia cmdlet zadania). Aby uzyskać wyniki zadania, użyj Receive-Job polecenia cmdlet .

Aby używać tego parametru razem z komputerami zdalnymi, należy skonfigurować komputery lokalne i zdalne na potrzeby komunikacji zdalnej. Ponadto należy uruchomić program Windows PowerShell przy użyciu opcji Uruchom jako administrator w systemie Windows Vista i nowszych wersjach systemu operacyjnego Windows. Aby uzyskać więcej informacji, zobacz about_Remote_Requirements.

Aby uzyskać więcej informacji na temat zadań w tle programu Windows PowerShell, zobacz about_Jobs i about_Remote_Jobs.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Authentication

Określa poziom uwierzytelniania, który musi być używany z połączeniem usługi WMI. Dopuszczalne wartości tego parametru to:

  • -1:Niezmienione.
  • 0: domyślnie
  • 1:Żaden. Nie przeprowadzono uwierzytelniania.
  • 2:Połączyć. Uwierzytelnianie jest wykonywane tylko wtedy, gdy klient ustanawia relację z aplikacją.
  • 3:Nazwać. Uwierzytelnianie jest wykonywane tylko na początku każdego wywołania, gdy aplikacja odbiera żądanie.
  • 4:Pakiet. Uwierzytelnianie jest wykonywane na wszystkich danych otrzymanych od klienta.
  • 5: PacketIntegrity. Wszystkie dane przesyłane między klientem a aplikacją są uwierzytelniane i weryfikowane.
  • 6: PacketPrivacy. Używane są właściwości innych poziomów uwierzytelniania, a wszystkie dane są szyfrowane.
Typ:AuthenticationLevel
Dopuszczalne wartości:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Authority

Określa urząd używany do uwierzytelniania połączenia usługi WMI. Można określić standardowe uwierzytelnianie NTLM lub Kerberos. Aby użyć protokołu NTLM, ustaw ustawienie urzędu na ntlmdomain:<DomainName, gdzie <DomainName>> identyfikuje prawidłową nazwę domeny NTLM. Aby użyć protokołu Kerberos, określ wartość kerberos:<DomainName\<ServerName>>. Nie można dołączyć ustawienia urzędu podczas nawiązywania połączenia z komputerem lokalnym.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Class

Określa nazwę klasy WMI.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ComputerName

Określa nazwę komputera, na którym jest uruchamiane to polecenie cmdlet. Wartość domyślna to komputer lokalny.

Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny jednego lub kilku komputerów. Aby określić komputer lokalny, wpisz nazwę komputera, kropkę (.) lub localhost.

Ten parametr nie opiera się na komunikacji zdalnej programu Windows PowerShell. Można użyć parametru ComputerName , nawet jeśli komputer nie jest skonfigurowany do uruchamiania poleceń zdalnych.

Typ:String[]
Aliasy:Cn
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Credential

Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Wartość domyślna to użytkownik bieżący.

Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential , taki jak wygenerowany przez polecenie cmdlet Get-Credential. Jeśli wpiszesz nazwę użytkownika, to polecenie cmdlet wyświetli monit o podanie hasła.

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych z parametrem nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie Windows PowerShell.

Typ:PSCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-EnableAllPrivileges

Wskazuje, że to polecenie cmdlet włącza wszystkie uprawnienia bieżącego użytkownika przed wykonaniem wywołania usługi WMI.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Impersonation

Określa poziom personifikacji do użycia. Dopuszczalne wartości tego parametru to:

  • 0: domyślnie Odczytuje rejestr lokalny dla domyślnego poziomu personifikacji, który jest zwykle ustawiony na 3: Personifikacja.
  • 1:Anonimowy. Ukrywa poświadczenia obiektu wywołującego.
  • 2:Identyfikować. Umożliwia obiektom wykonywanie zapytań dotyczących poświadczeń obiektu wywołującego.
  • 3:Personifikować. Umożliwia obiektom używanie poświadczeń obiektu wywołującego.
  • 4:Delegat. Umożliwia obiektom zezwolenie innym obiektom na używanie poświadczeń obiektu wywołującego.
Typ:ImpersonationLevel
Dopuszczalne wartości:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Określa obiekt ManagementObject , który ma być używany jako dane wejściowe. Jeśli ten parametr jest używany, wszystkie inne parametry , z wyjątkiem parametru Argumenty , są ignorowane.

Typ:ManagementObject
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Locale

Określa preferowane ustawienia regionalne dla obiektów WMI. Parametr Ustawień regionalnych jest określony w tablicy w formacie MS_<LCID> w preferowanej kolejności.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Namespace

Określa przestrzeń nazw repozytorium WMI, w której znajduje się odwołana klasa WMI, gdy jest używana z parametrem Class .

Typ:String
Aliasy:NS
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę obiektu usługi WMI wystąpienia, które chcesz utworzyć lub zaktualizować.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PutType

Wskazuje, czy należy utworzyć lub zaktualizować wystąpienie usługi WMI. Dopuszczalne wartości tego parametru to:

  • UpdateOnly Aktualizuje istniejące wystąpienie usługi WMI.
  • CreateOnly Tworzy nowe wystąpienie usługi WMI.
  • UpdateOrCreate Aktualizuje wystąpienie usługi WMI, jeśli istnieje lub tworzy nowe wystąpienie, jeśli wystąpienie nie istnieje.
Typ:PutType
Dopuszczalne wartości:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ThrottleLimit

Określa maksymalną liczbę połączeń współbieżnych, które można ustanowić w celu uruchomienia tego polecenia. Ten parametr jest używany razem z parametrem AsJob . Limit ograniczania ma zastosowanie tylko do bieżącego polecenia, a nie do sesji ani do komputera.

Typ:Int32
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

To polecenie cmdlet nie akceptuje danych wejściowych.

Dane wyjściowe

None

To polecenie cmdlet nie generuje danych wyjściowych.

Uwagi

Program Windows PowerShell zawiera następujące aliasy dla programu Set-WmiInstance:

  • swmi