Set-CimInstance
Modifica uma instância do 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
Este cmdlet modifica uma instância do 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á no 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 correspondentes a uma consulta WQL (Linguagem de Consulta da 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 do CIM usando 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 da instância do 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 do CIM filtrados pelo parâmetro Query para uma variável $x
usando Get-CimInstance
o , 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 da instância do 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 do 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 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 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 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 do 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
cmdlet.
Tipo: | CimSession[] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ComputerName
Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um nome de domínio totalmente qualificado (FQDN) 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 proporcionará um melhor desempenho.
Tipo: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
Especifica um objeto de instância CIM a ser usado como entrada.
O parâmetro InputObject não enumera sobre coleções. Se uma coleção for aprovada, um erro será lançado. Ao trabalhar com coleções, canalize a entrada para enumerar os valores.
Tipo: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Namespace
Especifica o namespace para a operação CIM. O namespace padrão é root/cimv2. Você pode usar o preenchimento de guias para procurar a lista de namespaces, porque o PowerShell obtém uma lista de namespaces do servidor WMI local para fornecer a lista de namespaces.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-OperationTimeoutSec
Especifica a quantidade de tempo que o cmdlet aguarda por 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, porque a operação no servidor expira antes que o cliente possa se reconectar.
Tipo: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Property
Especifica as propriedades da instância CIM como uma tabela hash (com 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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 dos seguintes caracteres colocando-os entre colchetes ([]
): porcentagem (%
), sublinhado (_
) ou colchete de abertura ([
).
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ResourceUri
Especifica o URI (identificador uniforme de recurso) de recurso da classe ou instância de 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 http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
do recurso padrão DMTF será usado e o nome da classe será anexado 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, obterá um erro, porque o protocolo DCOM não suporta o parâmetro ResourceURI.
Se o parâmetro ResourceUri e o parâmetro Filter forem especificados, o parâmetro Filter será ignorado.
Tipo: | Uri |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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.