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


Set-CimInstance

Изменяет экземпляр CIM на сервере CIM путем вызова метода ModifyInstance класса CIM.

Синтаксис

Set-CimInstance
   [-ComputerName <String[]>]
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [-Property <IDictionary>]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   -CimSession <CimSession[]>
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CimInstance
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Query] <String>
   [-QueryDialect <String>]
   -Property <IDictionary>
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Описание

Этот командлет изменяет экземпляр CIM на сервере CIM.

Если параметр InputObject не указан, командлет работает одним из следующих способов:

  • Если ни параметр ComputerName, ни параметр CimSession не указаны, этот командлет работает с локальным инструментарием управления Windows (WMI) с использованием сеанса COM.
  • Если указан параметр ComputerName или CimSession , то этот командлет работает с сервером CIM, указанным параметром ComputerName или параметром CimSession .

Если указан параметр InputObject , командлет работает одним из следующих способов:

  • Если ни параметр ComputerName, ни параметр CimSession не указаны, то этот командлет использует имя сеанса или компьютера CIM из входного объекта.
  • Если указан параметр ComputerName или параметр CimSession , то этот командлет использует значение параметра CimSession или Значение параметра ComputerName . Это не очень часто.

Примеры

Пример 1. Установка экземпляра CIM

В этом примере свойству VariableValue присваивается значение abcd с помощью параметра Query . Вы можете изменить экземпляры, соответствующие запросу WQL.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"}

Пример 2. Установка свойства экземпляра CIM с помощью конвейера

В этом примере извлекается объект экземпляра CIM, отфильтрованный по параметру Query , с помощью командлета Get-CimInstance . Командлет Set-CimInstance изменяет значение свойства VariableValue на abcd.

Get-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' |
  Set-CimInstance -Property @{VariableValue="abcd"}

Пример 3. Установка свойства экземпляра CIM с помощью входного объекта

$x = Get-CimInstance -Query 'Select * from Win32_Environment where Name="testvar"'
Set-CimInstance -InputObject $x -Property @{VariableValue="somevalue"} -PassThru

В этом примере объекты экземпляра CIM, отфильтрованные параметром Query в , извлекаются в переменную $x с помощью Get-CimInstance, а затем передают содержимое переменной командлету Set-CimInstance . Set-CimInstance затем изменяет свойство VariableValue на somevalue. Так как используется параметр Passthru , этот пример возвращает измененный объект экземпляра CIM.

Пример 4. Установка свойства экземпляра CIM

В этом примере объект экземпляра CIM, указанный в параметре Query , извлекается в переменную $x с помощью командлета Get-CimInstance , и изменяет значение свойства VariableValue объекта на изменение. Затем объект экземпляра CIM сохраняется с помощью командлета Set-CimInstance . Так как используется параметр Passthru , этот пример возвращает измененный объект экземпляра CIM.

$x = Get-CimInstance -Query 'Select * from Win32_Environment where name="testvar"'
$x.VariableValue = "Change"
Set-CimInstance -CimInstance $x -PassThru

Пример 5. Отображение списка экземпляров CIM для изменения с помощью WhatIf

В этом примере используется общий параметр WhatIf , чтобы указать, что изменение не должно выполняться, а выводится только то, что произойдет в этом случае.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf

Пример 6. Установка экземпляра CIM после подтверждения от пользователя

В этом примере используется общий параметр Confirm , чтобы указать, что изменение должно быть выполнено только после подтверждения от пользователя.

Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -Confirm

Пример 7. Установка созданного экземпляра CIM

В этом примере создается экземпляр CIM с указанными свойствами с помощью командлета New-CimInstance и извлекается его содержимое в переменную $x. Затем переменная передается командлету Set-CimInstance , который изменяет значение свойства VariableValue на somevalue. Так как используется параметр Passthru , этот пример возвращает измененный объект экземпляра CIM.

$x = New-CimInstance -ClassName Win32_Environment -Property @{Name="testvar";UserName="domain\user"} -Keys Name,UserName -ClientOnly
Set-CimInstance -CimInstance $x -Property @{VariableValue="somevalue"} -PassThru

Параметры

-CimSession

Выполняет командлеты на удаленном компьютере. Введите имя компьютера или объект сеанса, например выходные данные командлета New-CimSession или Get-CimSession .

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

Указывает имя компьютера, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN) или NetBIOS-имя.

Если этот параметр не указан, командлет выполняет операцию на локальном компьютере с помощью модели COM.

Если указать этот параметр, командлет создает временный сеанс на указанном компьютере с помощью протокола WsMan.

Если на одном компьютере выполняется несколько операций, подключение с помощью сеанса CIM обеспечивает более высокую производительность.

Type:String[]
Aliases:CN, ServerName
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

-InputObject

Указывает объект экземпляра CIM для использования в качестве входных данных.

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

-Namespace

Задает пространство имен для операции CIM. Пространство имен по умолчанию — root/cimv2. Для просмотра списка пространств имен можно использовать завершение нажатия клавиши TAB, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.

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

-OperationTimeoutSec

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

Если для параметра OperationTimeoutSec задано значение меньше времени ожидания надежного повтора подключения в 3 минуты, сбои сети, которые длятся больше значения параметра OperationTimeoutSec , не могут быть восстановлены, так как время ожидания операции на сервере истекает до того, как клиент сможет повторно подключиться.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Возвращает объект, представляющий элемент, с которым вы работаете. По умолчанию этот командлет не создает выходные данные.

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

-Property

Задает свойства экземпляра CIM в виде хэш-таблицы (с использованием пар "имя-значение"). Изменяются только свойства, указанные с помощью этого параметра. Другие свойства экземпляра CIM не изменяются.

Type:IDictionary
Aliases:Arguments
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Query

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

Если указанное значение содержит двойные кавычки ("), одинарные кавычки (') или обратную косую черту (\), необходимо экранировать эти символы, префиксируя их символом обратной косой черты (\). Если указанное значение использует оператор WQL LIKE , необходимо экранировать следующие символы, заключив их в квадратные скобки ([]): процент (%), подчеркивание (_) или открывающую квадратную скобку ([).

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

-QueryDialect

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

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

-ResourceUri

Указывает универсальный код ресурса (URI) класса или экземпляра ресурса. URI используется для идентификации определенного типа ресурсов, например дисков и процессов на компьютере.

URI состоит из префикса и пути к ресурсу. Пример:

  • https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ DMTF и к нему добавляется имя класса.

ResourceURI можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName, который создает сеанс CIM с помощью WSMan. Если указать этот параметр без указания параметра ComputerName или указать сеанс CIM, созданный по протоколу DCOM, появится сообщение об ошибке, так как протокол DCOM не поддерживает параметр ResourceURI.

Если указаны параметры ResourceUri и Filter , параметр Filter игнорируется.

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

-WhatIf

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

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

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

CimInstance

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

CimInstance

Если указан параметр Passthru , этот командлет возвращает измененный объект экземпляра CIM.