Поделиться через


Set-WmiInstance

Создает или обновляет экземпляр существующего класса WMI.

Синтаксис

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

Описание

Командлет Set-WmiInstance создает или обновляет экземпляр существующего класса инструментария управления Windows (WMI). Созданный или обновленный экземпляр записывается в репозиторий WMI.

В Windows PowerShell 3.0 появились новые командлеты CIM, которые выполняют те же задачи, что и командлеты WMI. Командлеты CIM соответствуют стандартам WS-Management (WSMan) и стандарту CIM. Это позволяет командлетам использовать те же методы для управления компьютерами под управлением Windows и другими операционными системами. Вместо использования Set-WmiInstanceрекомендуется использовать командлеты Set-CimInstance или New-CimInstance .

Примеры

Пример 1. Установка уровня ведения журнала 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                      :

Эта команда задает 2 уровень ведения журнала WMI. Команда передает свойство, которое необходимо задать, и значение, которое считается парой значений, в параметре аргумента . Параметр принимает хэш-таблицу, которая определяется конструкцией @{property = value}. Возвращаемые сведения о классе отражают новое значение.

Пример 2. Create переменной среды и ее значения

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

Эта команда создает переменную среды testvar со значением testvalue. Для этого создается новый экземпляр класса WMI Win32_Environment . Для этой операции требуются соответствующие учетные данные, которые, возможно, потребуется перезапустить Windows PowerShell, чтобы увидеть новую переменную среды.

Пример 3. Установка уровня ведения журнала WMI для нескольких удаленных компьютеров

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

Эта команда задает 2 уровень ведения журнала WMI. Команда передает свойство, которое необходимо задать, и значение, которое считается парой значений, в параметре аргумента . Параметр принимает хэш-таблицу, которая определяется конструкцией @{property = value}. Возвращаемые сведения о классе отражают новое значение.

Параметры

-Arguments

Указывает имя свойства, которое необходимо изменить, и новое значение свойства. Имя и значение должны быть парой "имя-значение". Пара "имя-значение" передается в командной строке в виде хэш-таблицы. Пример:

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

Указывает, что этот cmdket выполняется как фоновое задание. Используйте этот параметр для запуска команд, на завершение которых требуется много времени.

При указании параметра AsJob команда возвращает объект, представляющий фоновое задание, а затем отображает командную строку. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Если для удаленного компьютера используется set-WmiInstance , задание создается на локальном компьютере, а результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Для управления заданием используйте командлеты, содержащие существительное Job (командлеты Job ). Чтобы получить результаты задания, используйте командлет Receive-Job.

Чтобы использовать этот параметр вместе с удаленными компьютерами, локальный и удаленный компьютеры должны быть настроены для удаленного взаимодействия. Кроме того, необходимо запустить Windows PowerShell с помощью параметра Запуск от имени администратора в Windows Vista и более поздних версиях операционной системы Windows. Дополнительные сведения см. в разделе about_Remote_Requirements.

Дополнительные сведения о фоновых заданиях Windows PowerShell см. в разделах about_Jobs и about_Remote_Jobs.

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

-Authentication

Указывает уровень проверки подлинности, который должен использоваться с подключением WMI. Допустимые значения для этого параметра:

  • -1: без изменений.
  • 0: по умолчанию.
  • 1: Нет. Проверка подлинности в не выполняется.
  • 2. Подключение. Проверка подлинности выполняется только в том случае, если клиент устанавливает связь с приложением.
  • 3: Вызов. Проверка подлинности выполняется только в начале каждого вызова, когда приложение получает запрос.
  • 4. Пакет. Проверка подлинности выполняется для всех данных, полученных от клиента.
  • 5: PacketIntegrity. Все данные, передаваемые между клиентом и приложением, проходят проверку подлинности и проверку.
  • 6: PacketPrivacy. Используются свойства других уровней проверки подлинности, а все данные шифруются.
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

Указывает центр сертификации, используемый для проверки подлинности подключения к WMI. Можно выбрать стандартную проверку подлинности NTLM или Kerberos. Чтобы использовать NTLM, задайте для параметра центра значение ntlmdomain:<DomainName>, где <DomainName> определяет допустимое доменное имя NTLM. Чтобы использовать Kerberos, укажите kerberos:<DomainName>\<ServerName>. Параметр authority не может быть указан при подключении к локальному компьютеру.

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

-Class

Задает имя класса WMI.

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

-ComputerName

Указывает имя компьютера, на котором выполняется этот командлет. По умолчанию это локальный компьютер.

Введите имя NetBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, localhost или точку (.).

Этот параметр не зависит от удаленного взаимодействия Windows PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен для выполнения удаленных команд.

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

-Confirm

Запрос подтверждения перед выполнением командлета.

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

-Credential

Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, либо укажите объект PSCredential, например формируемый командлетом Get-Credential. Если ввести имя пользователя, этот командлет запрашивает пароль.

Этот параметр не поддерживается поставщиками, установленными с параметром , не поддерживается поставщиками, установленными с Windows PowerShell.

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

-EnableAllPrivileges

Указывает, что этот командлет включает все разрешения текущего пользователя перед командой, которую он выполняет вызов WMI.

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

-Impersonation

Задает используемый уровень олицетворения. Допустимые значения для этого параметра:

  • 0: по умолчанию. Считывает локальный реестр для уровня олицетворения по умолчанию, который обычно имеет значение 3: олицетворение.
  • 1: анонимный. Скрывает учетные данные вызывающей стороны.
  • 2. Определите. позволяет объектам запрашивать учетные данные вызывающей стороны.
  • 3: Олицетворить. позволяет объектам использовать учетные данные вызывающей стороны.
  • 4. Делегат. Позволяет объектам разрешать другим объектам использовать учетные данные вызывающей стороны.
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

Указывает объект ManagementObject для использования в качестве входных данных. При использовании этого параметра все остальные параметры, кроме параметра Arguments , игнорируются.

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

-Locale

Указывает предпочтительный язык для объектов WMI. Параметр Locale указывается в массиве в формате MS_<LCID> в предпочтительном порядке.

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

-Namespace

Указывает пространство имен репозитория WMI, в котором находится класс WMI, на который указывает ссылка, при использовании с параметром Class .

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

-Path

Указывает путь к объекту WMI экземпляра, который требуется создать или обновить.

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

-PutType

Указывает, следует ли создавать или обновлять экземпляр WMI. Допустимые значения для этого параметра:

  • UpdateOnly. обновляет существующий экземпляр WMI.
  • CreateOnly. создает новый экземпляр WMI.
  • UpdateOrCreate. обновляет экземпляр WMI, если он существует, или создает новый экземпляр, если экземпляр не существует.
Type:PutType
Accepted values:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Указывает максимальное число одновременных подключений, которые можно установить для запуска этой команды. Этот параметр используется вместе с параметром AsJob . Предел регулирования применяется только к текущему командлету, а не к сеансу или компьютеру.

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

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

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

Входные данные

None

Этот командлет не принимает входные данные.

Выходные данные

None

Этот командлет не создает никакие выходные данные.