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-WmiInstance
polecenia 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ślnie1
:Ż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