Compartilhar via


Set-CimInstance

Modifica uma instância cim em um servidor CIM chamando o método ModifyInstance da classe CIM.

Sintaxe

CimInstanceComputerSet (Default)

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

CimInstanceSessionSet

Set-CimInstance
    [-InputObject] <CimInstance>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-Property <IDictionary>]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

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

QueryComputerSet

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

Description

Este cmdlet só está disponível na plataforma Windows.

Esse cmdlet modifica uma instância cim em um servidor CIM.

Se o parâmetro InputObject não for especificado, o cmdlet funcionará de uma das seguintes maneiras:

  • Se nem o parâmetro ComputerName nem o parâmetro CimSession for especificado, esse cmdlet funcionará na WMI (Instrumentação de Gerenciamento do Windows) local usando uma sessão COM (Component Object Model).
  • Se o parâmetro ComputerName ou o parâmetro CimSession for especificado, este cmdlet funcionará no servidor CIM especificado pelo parâmetro ComputerName ou pelo parâmetro CimSession.

Se o parâmetro InputObject for especificado, o cmdlet funcionará de uma das seguintes maneiras:

  • Se nem o parâmetro ComputerName nem o parâmetro CimSession for especificado, esse cmdlet usará a sessão CIM ou o nome do computador do objeto de entrada.
  • Se o parâmetro ComputerName ou o parâmetro CimSession for especificado, esse cmdlet usará o valor do parâmetro CimSession ou computername valor do parâmetro. Isso não é muito comum.

Exemplos

Exemplo 1: Definir a instância do CIM

Este exemplo define o valor da propriedade VariableValue para abcd usando o parâmetro Consulta. Você pode modificar instâncias que correspondem a uma consulta WQL (Linguagem de Consulta de Instrumentação de Gerenciamento do Windows).

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

Exemplo 2: Definir a propriedade da instância cim usando o pipeline

Este exemplo recupera o objeto de instância CIM filtrado pelo parâmetro Consulta usando o cmdlet Get-CimInstance. O cmdlet Set-CimInstance modifica o valor da propriedade VariableValue para abcd.

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

Exemplo 3: Definir a propriedade da instância cim usando o objeto de entrada

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

Este exemplo recupera os objetos da instância cim filtrados pelo parâmetro Query em uma variável $x usando Get-CimInstancee, em seguida, passa o conteúdo da variável para o cmdlet Set-CimInstance. Set-CimInstance modifica a propriedade VariableValue para algum valor. Como o parâmetro Passthru é usado, este exemplo retorna um objeto de instância CIM modificado.

Exemplo 4: Definir a propriedade da instância cim

Este exemplo recupera o objeto de instância CIM especificado no parâmetro Query em uma variável $x usando o cmdlet Get-CimInstance e altera o valor da propriedade VariableValue do objeto a ser alterado. O objeto de instância CIM é salvo usando o cmdlet Set-CimInstance. Como o parâmetro Passthru é usado, este exemplo retorna um objeto de instância CIM modificado.

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

Exemplo 5: Mostrar a lista de instâncias cim a serem modificadas usando WhatIf

Este exemplo usa o parâmetro comum WhatIf para especificar que a modificação não deve ser feita, mas apenas gerará o que aconteceria se ela fosse feita.

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

Exemplo 6: Definir a instância cim após a confirmação do usuário

Este exemplo usa o parâmetro comum Confirmar para especificar que a modificação só deve ser feita após a confirmação do usuário.

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

Exemplo 7: Definir a instância cim criada

Este exemplo cria uma instância CIM com as propriedades especificadas usando o cmdlet New-CimInstance e recupera seu conteúdo em uma variável $x. Em seguida, a variável é passada para o cmdlet Set-CimInstance, que modifica o valor da propriedade VariableValue para algum valor. Como o parâmetro Passthru é usado, este exemplo retorna um objeto de instância CIM modificado.

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

Parâmetros

-CimSession

Executa os cmdlets em um computador remoto. Insira um nome de computador ou um objeto de sessão, como a saída de um cmdlet New-CimSession ou Get-CimSession.

Propriedades do parâmetro

Tipo:

CimSession[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CimInstanceSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QuerySessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ComputerName

Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um FQDN (nome de domínio totalmente qualificado) ou um nome NetBIOS.

Se você não especificar esse parâmetro, o cmdlet executará a operação no computador local usando COM (Component Object Model).

Se você especificar esse parâmetro, o cmdlet criará uma sessão temporária para o computador especificado usando o protocolo WsMan.

Se várias operações estiverem sendo executadas no mesmo computador, conectar-se usando uma sessão CIM oferecerá melhor desempenho.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:China, Nome do Servidor

Conjuntos de parâmetros

CimInstanceComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QueryComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Especifica um objeto de instância CIM a ser usado como entrada.

O parâmetro InputObject não enumera em coleções. Se uma coleção for passada, um erro é gerado. Ao trabalhar com coleções, redirecione a entrada para enumerar os valores.

Propriedades do parâmetro

Tipo:CimInstance
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:CimInstance

Conjuntos de parâmetros

CimInstanceComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CimInstanceSessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Namespace

Especifica o namespace para a operação CIM. O namespace padrão é raiz/cimv2. Você pode usar o preenchimento de guia para navegar na lista de namespaces, pois o PowerShell obtém uma lista de namespaces do servidor WMI local para fornecer a lista de namespaces.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

QuerySessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
QueryComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-OperationTimeoutSec

Especifica a quantidade de tempo que o cmdlet aguarda uma resposta do computador. Por padrão, o valor desse parâmetro é 0, o que significa que o cmdlet usa o valor de tempo limite padrão para o servidor.

Se o parâmetro OperationTimeoutSec for definido como um valor menor que o tempo limite de repetição de conexão robusto de 3 minutos, as falhas de rede que duram mais do que o valor do parâmetro OperationTimeoutSec não serão recuperáveis, pois a operação no servidor atinge o tempo limite antes que o cliente possa se reconectar.

Propriedades do parâmetro

Tipo:UInt32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:OT

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PassThru

Retorna um objeto que representa o item com o qual você está trabalhando. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Property

Especifica as propriedades da instância cim como uma tabela de hash (usando pares nome-valor). Somente as propriedades especificadas usando esse parâmetro são alteradas. Outras propriedades da instância do CIM não são alteradas.

Propriedades do parâmetro

Tipo:IDictionary
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:Argumentos

Conjuntos de parâmetros

CimInstanceComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
CimInstanceSessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
QuerySessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
QueryComputerSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Query

Especifica uma consulta a ser executada no servidor CIM para recuperar instâncias CIM nas quais executar o cmdlet. Você pode especificar o dialeto de consulta usando o parâmetro QueryDialect.

Se o valor especificado contiver aspas duplas ("), aspas simples (') ou uma barra invertida (\), você deverá escapar desses caracteres prefixando-os com o caractere de barra invertida (\). Se o valor especificado usar o operador LIKE do WQL, você deverá escapar dos seguintes caracteres colocando-os entre colchetes ([]): porcentagem (%), sublinhado (_) ou abrir colchete ([).

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

QuerySessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
QueryComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-QueryDialect

Especifica a linguagem de consulta usada para o parâmetro de consulta. Os valores aceitáveis para esse parâmetro são: WQL ou CQL. O valor padrão é WQL.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

QuerySessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
QueryComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-ResourceUri

Especifica o identificador uniforme de recurso (URI) da classe ou instância do recurso. O URI é usado para identificar um tipo específico de recurso, como discos ou processos, em um computador.

Um URI consiste em um prefixo e um caminho para um recurso. Por exemplo:

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

Por padrão, se você não especificar esse parâmetro, o URI de recurso padrão DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ será usado e o nome da classe será acrescentado a ele.

O ResourceURI só pode ser usado com sessões CIM criadas usando o protocolo WSMan ou ao especificar o parâmetro ComputerName, que cria uma sessão CIM usando o WSMan. Se você especificar esse parâmetro sem especificar o parâmetro ComputerName ou se especificar uma sessão CIM criada usando o protocolo DCOM, receberá um erro, pois o protocolo DCOM não dá suporte ao parâmetro ResourceURI.

Se tanto o parâmetro ResourceUri quanto o parâmetro Filter forem especificados, o parâmetro Filter será ignorado.

Propriedades do parâmetro

Tipo:Uri
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

CimInstanceComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
CimInstanceSessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

CimInstance

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

CimInstance

Quando você usa o parâmetro Passthru , esse cmdlet retorna o objeto de instância CIM modificado.

Observações

O PowerShell inclui os seguintes aliases para Set-CimInstance:

  • Windows:
    • scim

Este cmdlet está disponível apenas em plataformas Windows.