Invoke-CimMethod
Invoca um método de uma classe CIM.
Syntax
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
Este cmdlet só está disponível na plataforma do Windows.
O Invoke-CimMethod
cmdlet invoca um método de uma classe CIM ou instância CIM com os pares name-value especificados pelo parâmetro Argumentos .
Se o parâmetro InputObject não for especificado, o cmdlet funciona de uma das seguintes formas:
- Se nem o parâmetro ComputerName nem o parâmetro CimSession forem especificados , este cmdlet funciona no Windows Management Instrumentation (WMI) local com uma sessão do Component Object Model (COM).
- Se o parâmetro ComputerName ou o parâmetro CimSession for especificado, este cmdlet funciona no servidor CIM especificado pelo parâmetro ComputerName ou pelo parâmetro CimSession .
Se o parâmetro InputObject for especificado, o cmdlet funciona de uma das seguintes formas:
- Se nem o parâmetro ComputerName nem o parâmetro CimSession forem especificados , este cmdlet utiliza 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, este cmdlet utiliza o valor do parâmetro CimSession ou o valor do parâmetro ComputerName . Este não é um cenário comum.
Exemplos
Exemplo 1: Invocar um método
Este exemplo invoca o método Terminar da classe Win32_Process .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Exemplo 2: Invocar um método com o objeto de instância CIM
Este exemplo obtém o objeto de instância cim e armazena-o numa variável com o nome $x
com o Get-CimInstance
cmdlet. Em seguida, os conteúdos da variável são utilizados como InputObject para o Invoke-CimMethod
cmdlet. O método GetOwner é invocado para 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 com argumentos
Este exemplo invoca o método Criar com o nome com o parâmetro Argumentos .
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 ao transmitir 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 transmitir para o chamado método. Especifique os valores deste parâmetro como pares nome-valor, armazenados numa tabela hash. A ordem dos valores introduzidos não é importante.
Type: | IDictionary |
Position: | 1 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CimClass
Especifica um objeto de classe CIM que representa uma definição de classe CIM no servidor. Utilize este parâmetro ao invocar um método estático de uma classe.
Pode utilizar o Get-CimClass
cmdlet para obter uma definição de classe do servidor.
A utilização deste parâmetro resulta em melhores validações de esquema do lado do cliente.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CimSession
Executa o comando com a sessão CIM especificada. Introduza 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 ou Get-CimSession
. Para obter mais informações, consulte about_CimSession.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClassName
Especifica o nome da classe CIM para a qual efetuar a operação. Este parâmetro só é utilizado para métodos estáticos. Pode utilizar a conclusão do separador para navegar na lista de classes, uma vez que o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classes.
Type: | String |
Aliases: | Class |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
Especifica o nome do computador no qual pretende executar a operação CIM. Pode especificar um nome de domínio completamente qualificado (FQDN), um nome NetBIOS ou um endereço IP.
Ao utilizar este parâmetro, o cmdlet cria uma sessão temporária para o computador especificado com o protocolo WsMan. Caso contrário, o cmdlet efetua a operação no computador local com o Modelo de Objeto de Componente (COM).
Ligue-se através de uma sessão CIM para um melhor desempenho quando estão a ser realizadas múltiplas operações no mesmo computador.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica um objeto de instância CIM a utilizar como entrada para invocar um método. Este parâmetro só pode ser utilizado para invocar métodos de instância. Para invocar métodos estáticos de classe, utilize o parâmetro Classe ou o parâmetro CimClass .
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MethodName
Especifica o nome do método CIM a invocar. Este parâmetro é obrigatório e não pode ser nulo ou vazio. Para invocar o método estático de uma classe CIM, utilize o parâmetro ClassName ou CimClass .
Type: | String |
Aliases: | Name |
Position: | 2 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Namespace
Especifica o espaço de nomes da operação CIM. O espaço de nomes predefinido é root/cimv2. Pode utilizar a conclusão do separador para navegar na lista de espaços de nomes, uma vez que o PowerShell obtém uma lista de espaços de nomes do servidor WMI local para fornecer a lista de espaços de nomes.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
Especifica a quantidade de tempo que o cmdlet aguarda por uma resposta do computador. Por predefinição, o valor é 0, o que significa que o cmdlet utiliza o valor de tempo limite predefinido para o servidor.
Se o parâmetro OperationTimeoutSec estiver definido para um valor inferior ao tempo limite de repetição de ligação predefinido de 3 minutos, as falhas de rede que duram mais do que o valor do parâmetro OperationTimeoutSec não são recuperáveis.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Especifica uma consulta a executar no servidor CIM. Um método é invocado nas instâncias recebidas como resultado da consulta. Pode especificar o dialeto de consulta com o parâmetro QueryDialect .
Se o valor especificado contiver aspas duplas ("
), plicas ('
) ou uma barra invertida (\
), tem de escapar a esses carateres ao prefixá-los com o caráter de barra invertida (\
). Se o valor especificado utilizar o operador WQL LIKE, terá de escapar aos seguintes carateres colocando-os entre parênteses retos (): percentagem ([]
%
), caráter de sublinhado (_
) ou parêntese reto de abertura ([
).
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-QueryDialect
Especifica a linguagem de consulta utilizada para o parâmetro Consulta. Os valores aceitáveis para este parâmetro são: WQL ou CQL.
O valor predefinido é WQL.
Type: | String |
Position: | Named |
Default value: | WQL |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Especifica o identificador de recursos uniforme de recursos (URI) da classe ou instância de recursos. O URI é utilizado para identificar um tipo específico de recurso, como discos ou processos, num computador.
Um URI consiste num prefixo e num 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 predefinição, se não especificar este parâmetro, é utilizado o URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
de recurso padrão DMTF e o nome da classe é acrescentado ao mesmo.
O ResourceURI só pode ser utilizado com sessões CIM criadas com o protocolo WSMan ou ao especificar o parâmetro ComputerName , que cria uma sessão CIM com o WSMan.
Quando especifica este parâmetro sem especificar o parâmetro ComputerName ou quando especifica uma sessão CIM criada com o protocolo DCOM, obtém um erro. O protocolo DCOM não suporta o parâmetro ResourceURI .
Se o parâmetro ResourceUri e o parâmetro Filtro forem especificados, o parâmetro Filtro é ignorado.
Type: | Uri |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Pode encaminhar uma classe CIM para este cmdlet.
Pode encaminhar uma instância CIM para este cmdlet.
Saídas
Este cmdlet devolve um objeto.
Ligações Relacionadas
Comentários
Submeter e ver comentários