Set-WmiInstance
Создает или обновляет экземпляр существующего класса инструментария управления Windows (WMI).
Синтаксис
Set-WmiInstance [-Class] <string> [[-Arguments] <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Командлет Set-WmiInstance создает или обновляет экземпляр существующего класса WMI. Созданный или обновленный экземпляр записывается в репозиторий WMI.
Параметры
-Arguments <hashtable>
Задает имя изменяемого свойства и новое значение этого свойства. Имя и значение должны следовать в паре. Пара имя-значение передается в командную строку как хэш-таблица. Например:
-argument @{Setting1=1; Setting2=5; Setting3="test"}.
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-AsJob
Запускает команду в качестве фонового задания. Этот параметр служит для запуска команд, выполнение которых занимает длительное время.
При использовании параметра AsJob команда возвращает объект, представляющий фоновое задание, а затем отображает командную строку. Пока задание выполняется можно продолжать работу в сеансе. Если Set-WmiObject используется для работы с удаленным компьютером, задание создается на локальном компьютере, и результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Для управления заданием используйте командлеты, в именах которых содержится существительное Job (командлеты Job). Чтобы получить результаты задания, используйте командлет Receive-Job.
Примечание. Чтобы использовать этот параметр для удаленных компьютеров, для локального и удаленного компьютеров должно быть настроено удаленное взаимодействие. Кроме того, при работе с компьютером под управлением Windows Vista и более поздних версий Windows необходимо запускать Windows PowerShell командой "Запуск от имени администратора". Дополнительные сведения см. в разделе about_Remote_Requirements.
Дополнительные сведения о фоновых заданиях в Windows PowerShell см. в разделах about_Jobs и about_Remote_Jobs.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Authentication <AuthenticationLevel>
Задает уровень проверки подлинности, используемый для WMI-соединения. Допустимые значения:
-1: Unchanged
0: Default
1: None (проверка подлинности не используется).
2: Connect (проверка подлинности выполняется только при установке клиентом подключения к приложению).
3: Call (проверка подлинности выполняется только в начале каждого вызова при получении запроса приложением).
4: Packet (проверка подлинности выполняется при обработке всех данных, полученных от клиента).
5: PacketIntegrity (для всех данных, передаваемых между клиентом и приложением, проводится проверка подлинности и проверка целостности).
6: PacketPrivacy (используются свойства других уровней проверки подлинности, все данные шифруются).
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Authority <string>
Задает центр, который используется для проверки подлинности WMI-соединения. Можно указать стандартную проверку подлинности NTLM или Kerberos. Чтобы использовать NTLM, задайте для параметра Authority значение "ntlmdomain:<имя_домена>", где <имя_домена> — допустимое имя домена NTLM. Чтобы использовать Kerberos, укажите "kerberos:<имя_домена>\<имя_сервера>". При подключении к локальному компьютеру нельзя использовать параметр Authority.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Class <string>
Задает имя класса WMI.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-ComputerName <string[]>
Задает компьютер, к которому требуется применить операцию управления. Значение может быть полным доменным именем, именем NetBIOS или IP-адресом. Используйте имя локального компьютера, "localhost" или точку (.) чтобы указать "Локальный компьютер". Локальный компьютер используется по умолчанию. Если пользователь и удаленный компьютер находятся в разных доменах, необходимо использовать полное доменное имя. Можно передать значение этому параметру по конвейеру.
Этот параметр не использует функцию удаленного взаимодействия Windows PowerShell, которая использует протокол WS-Management. Параметр ComputerName командлета Get-WmiObject можно использовать, даже если компьютер не настроен на выполнение удаленных команд по протоколу WS-Management.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение "Текущий пользователь". Введите имя пользователя, например "User01", "Domain01\User01" или User@Contoso.com. Или укажите объект PSCredential, например объект, возвращенный командлетом Get-Credential. При вводе имени пользователя появится приглашение ввести пароль.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-EnableAllPrivileges
Включает все привилегии текущего пользователя перед вызовом WMI из команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Impersonation <ImpersonationLevel>
Задает используемый уровень олицетворения. Допустимые значения:
0: Default (считывает значение уровня представления по умолчанию из локального реестра, обычно это значение равняется "3: Impersonate").
1: Anonymous (скрывает учетные данные вызывающего).
2: Identify (позволяет объектам запрашивать учетные данные вызывающего).
3: Impersonate (позволяет объектам использовать учетные данные вызывающего).
4: Delegate (позволяет объектам разрешать другим объектам использовать учетные данные вызывающего).
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <ManagementObject>
Задает объект ManagementObject, используемый в качестве входных данных. При использовании этого параметра все остальные параметры, кроме параметра Arguments, игнорируются.
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
false |
-Locale <string>
Задает предпочтительную локаль для объектов WMI. Значение параметра Locale задается как массив в формате MS_<LCID> в желаемом порядке.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Namespace <string>
При использовании с параметром Class данный параметр задает пространство имен хранилища WMI, в котором находится указанный класс WMI.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Path <string>
Задает путь к экземпляру объекта WMI, который нужно создать или обновить.
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-PutType <PutType>
Указывает, что требуется сделать: создать экземпляр WMI или обновить экземпляр WMI. Допустимые значения:
UpdateOnly. Обновляет существующий экземпляр WMI.
CreateOnly. Создает новый экземпляр WMI.
UpdateOrCreate. Обновляет экземпляр WMI, если он существует; в противном случае создает новый экземпляр.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-ThrottleLimit <int>
Дает возможность пользователю указать пороговое значение количества операций WMI, которые могут выполняться одновременно. Этот параметр используется вместе с параметром AsJob. Ограничение скорости относится только к текущей команде, но не к сеансу или компьютеру.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет Этот командлет не принимает входных данных. |
Выходные данные |
Нет Этот командлет не формирует выходных данных. |
Пример 1
C:\PS>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 :
Описание
-----------
Эта команда задает значение 2 для уровня записи WMI. Команда передает свойство, которое требуется задать, и значение (как пару) в параметре argument. Параметр принимает хэш таблицу, представленную конструкцией @{property = value}. Возвращаемая информация о классе содержит новое значение.
Пример 2
C:\PS>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
Описание
-----------
Эта команда создает переменную среды "testvar" со значением "testvalue". Это выполняется путем создания нового экземпляра класса Win32_Environment WMI. Следует иметь в виду, что эта операция требует наличия соответствующих учетных данных, и что для просмотра новой переменной среды может понадобиться перезапустить Windows PowerShell.
Пример 3
C:\PS>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 :
...
Описание
-----------
Эта команда задает значение 2 для уровня записи WMI. Команда передает свойство, которое требуется задать, и значение (как пару) в параметре argument. Параметр принимает хэш таблицу, представленную конструкцией @{property = value}. Возвращаемая информация о классе содержит новое значение.
См. также
Концепции
Get-WmiObject
Invoke-WmiMethod
Remove-WmiObject
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance