Set-CimInstance
Modifica uma instância CIM em um servidor CIM chamando o método ModifyInstance da classe CIM.
Sintaxe
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>]
Description
Esse 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 forem especificados, 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, esse 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 forem especificados, 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 o valor do parâmetro ComputerName. Isso não é muito comum.
Exemplos
Exemplo 1: Definir a instância do CIM
Este exemplo define o valor da propriedade VariableValue como abcd usando o parâmetro Query . 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 Query usando o Get-CimInstance
cmdlet. O Set-CimInstance
cmdlet 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 de 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 de instância CIM filtrados pelo parâmetro Query em uma variável $x
usando Get-CimInstance
, e passa o conteúdo da variável para o Set-CimInstance
cmdlet. Set-CimInstance
em seguida, modifica a propriedade VariableValue para somevalue. Como o parâmetro PassThru é usado, este exemplo retorna um objeto de instância CIM modificado.
Exemplo 4: Definir a propriedade de instância CIM
Este exemplo recupera o objeto de instância CIM especificado no parâmetro Query em uma variável $x
usando o Get-CimInstance
cmdlet e altera o valor da propriedade VariableValue do objeto a ser alterado. O objeto de instância CIM é salvo usando o Set-CimInstance
cmdlet.
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 do 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 fosse feita.
Set-CimInstance -Query 'Select * from Win32_Environment where name LIKE "testvar%"' -Property @{VariableValue="abcd"} -WhatIf
Exemplo 6: Definir a instância do CIM após a confirmação do usuário
Este exemplo usa o parâmetro comum Confirm para especificar que a modificação deve ser feita somente 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 New-CimInstance
cmdlet e recupera seu conteúdo em uma variável $x
. A variável é então passada para o Set-CimInstance
cmdlet, que modifica o valor da propriedade VariableValue para somevalue.
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 New-CimSession
cmdlet ou Get-CimSession
.
Tipo: | CimSession[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 o 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, a conexão usando uma sessão CIM fornecerá melhor desempenho.
Tipo: | String[] |
Aliases: | CN, ServerName |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica um objeto de instância CIM a ser usado como entrada.
O parâmetro InputObject não enumera coleções. Se uma coleção for passada, um erro será gerado. Ao trabalhar com coleções, canalize a entrada para enumerar os valores.
Tipo: | CimInstance |
Aliases: | CimInstance |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Namespace
Especifica o namespace para a operação CIM. O namespace padrão é root/cimv2. Você pode usar o preenchimento de tabulação para procurar a lista de namespaces, pois o PowerShell obtém uma lista de namespaces do servidor WMI local para fornecer a lista de namespaces.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 robusta 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.
Tipo: | UInt32 |
Aliases: | OT |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-PassThru
Retorna um objeto que representa o item com que você está trabalhando. Por padrão, este cmdlet não gera saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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 CIM não são alteradas.
Tipo: | IDictionary |
Aliases: | Arguments |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 WQL LIKE , você deverá escapar os seguintes caracteres colocando-os entre colchetes ([]
): porcentagem (%
), sublinhado (_
) ou abrindo colchetes ([
).
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-QueryDialect
Especifica a linguagem de consulta usada para o parâmetro Query. Os valores aceitáveis para este parâmetro são: WQL ou CQL. O valor padrão é WQL.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ResourceUri
Especifica o URI (Uniform Resource Identifier) do recurso da classe ou instância do recurso. O URI é utilizado 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 http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
do recurso padrão DMTF será usado e o nome da classe será acrescentado a ele.
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 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 oferece suporte ao parâmetro ResourceURI.
Se o parâmetro ResourceUri e o parâmetro Filter forem especificados, o parâmetro Filter será ignorado.
Tipo: | Uri |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
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
Esse cmdlet só está disponível em plataformas Windows.