Invoke-CimMethod
Invoca um método de uma classe CIM.
Sintaxe
Invoke-CimMethod
[-ClassName] <String>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ClassName] <String>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Esse cmdlet só está disponível na plataforma Windows.
O Invoke-CimMethod
cmdlet invoca um método de uma classe CIM ou instância CIM usando os pares nome-valor especificados pelo parâmetro Argumentos .
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. Esse não é um cenário comum.
Exemplos
Exemplo 1: Invocar um método
Este exemplo invoca o método Terminate da classe Win32_Process .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Exemplo 2: Invocar um método usando o objeto de instância CIM
Este exemplo recupera o objeto de instância CIM e o armazena em uma variável chamada $x
usando o Get-CimInstance
cmdlet. O conteúdo da variável é usado como o InputObject para o Invoke-CimMethod
cmdlet. O método GetOwner é invocado para o CimInstance.
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Exemplo 3: Invocar um método estático usando argumentos
Este exemplo invoca o método Create nomeado usando o parâmetro Arguments .
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}
Exemplo 4: validação do lado do cliente
Este exemplo executa a validação do lado do cliente para o método xyz passando um objeto CimClass para .Invoke-CimMethod
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Parâmetros
-Arguments
Especifica os parâmetros a passar para o método chamado. Especifique os valores para esse parâmetro como pares nome-valor, armazenados em uma tabela de hash. A ordem dos valores inseridos não é importante.
Tipo: | IDictionary |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-CimClass
Especifica um objeto de classe CIM que representa uma definição de classe CIM no servidor. Use esse parâmetro ao invocar um método estático de uma classe.
Você pode usar o Get-CimClass
cmdlet para recuperar uma definição de classe do servidor.
O uso desse parâmetro resulta em melhores validações de esquema do lado do cliente.
Tipo: | CimClass |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-CimSession
Executa o comando usando a sessão CIM especificada. Insira uma variável que contenha a sessão CIM ou um comando que crie ou obtenha a sessão CIM, como os New-CimSession
cmdlets or Get-CimSession
. Para obter mais informações, consulte about_CimSession.
Tipo: | CimSession[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ClassName
Especifica o nome da classe CIM para a qual executar a operação. Esse parâmetro é usado apenas para métodos estáticos. Você pode usar o preenchimento de tabulação para procurar a lista de classes, pois o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.
Tipo: | String |
Aliases: | Class |
Cargo: | 0 |
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), um nome NetBIOS ou um endereço IP.
Ao usar esse parâmetro, o cmdlet cria uma sessão temporária para o computador especificado usando o protocolo WsMan. Caso contrário, o cmdlet executará a operação no computador local usando o COM (Component Object Model).
Conecte-se usando uma sessão CIM para obter melhor desempenho quando várias operações estiverem sendo executadas no mesmo computador.
Tipo: | String[] |
Aliases: | CN, ServerName |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
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 para chamar um método. Esse parâmetro só pode ser usado para invocar métodos de instância. Para invocar métodos estáticos de classe, use o parâmetro Class ou o parâmetro CimClass .
Tipo: | CimInstance |
Aliases: | CimInstance |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-MethodName
Especifica o nome do método CIM a ser invocado. Este parâmetro é obrigatório e não pode ser nulo ou vazio. Para invocar o método estático de uma classe CIM, use o parâmetro ClassName ou CimClass.
Tipo: | String |
Aliases: | Name |
Cargo: | 2 |
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 é 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 padrão de 3 minutos, as falhas de rede que durarem mais do que o valor do parâmetro OperationTimeoutSec não poderão ser recuperadas.
Tipo: | UInt32 |
Aliases: | OT |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Query
Especifica uma consulta a ser executada no servidor CIM. Um método é invocado nas instâncias recebidas como resultado da consulta. 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: | Named |
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: | WQL |
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.
Quando você especifica esse parâmetro sem especificar o parâmetro ComputerName ou quando especifica uma sessão CIM criada usando o protocolo DCOM, você obtém um erro. O protocolo DCOM não dá 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
Você pode canalizar uma classe CIM para esse cmdlet.
Você pode canalizar uma instância CIM para esse cmdlet.
Saídas
Esse cmdlet retorna um objeto.
Observações
O PowerShell inclui os seguintes aliases para Invoke-CimMethod
:
- Windows:
icim
Esse cmdlet só está disponível em plataformas Windows.