Compartilhar via


Invoke-CimMethod

Invoca um método de uma classe CIM.

Sintaxe

ClassNameComputerSet (Default)

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ClassNameSessionSet

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriSessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceComputerSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceSessionSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    -CimSession <CimSession[]>
    [-QueryDialect <String>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QueryComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    [-QueryDialect <String>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

O cmdlet Invoke-CimMethod invoca um método de uma classe CIM ou instância CIM usando os pares nome-valor especificados pelo parâmetro Arguments.

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. Observação: isso não é muito comum.

Exemplos

Exemplo 1: Invocar um método

Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"

Esse comando invoca o método chamado Terminate na classe CIM chamada Win32_Process. A classe CIM é recuperada pela consulta "Select * from Win32_Process where name like 'notepad%'".

Exemplo 2: Invocar um método usando o objeto de instância CIM

$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner

Esse conjunto de comandos recupera o objeto da instância cim e o armazena em uma variável chamada $x usando o cmdlet Get-CimInstance. O conteúdo da variável é usado como InputObject para o cmdlet Invoke-CimMethod e o método GetOwner é invocado para o CimInstance.

Exemplo 3: Invocar um método estático

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ Path = "notepad.exe" }

Esse comando invoca o método estático Create na classe chamada Win32_Process, com os argumentos especificados pelo parâmetro Arguments.

Exemplo 4: invocar um método usando argumentos

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32" }

Esse comando invoca o método chamado Create usando o parâmetro Arguments.

Exemplo 5: validação do lado do cliente

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }

Esse conjunto de comandos executa a validação do lado do cliente para o método chamado xyz passando um objeto CimClass para o cmdlet Invoke-CimMethod.

Parâmetros

-Arguments

Especifica os parâmetros a serem passados 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.

Propriedades do parâmetro

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

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes: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 cmdlet Get-CimClass para recuperar uma definição de classe do servidor.

Usar esse parâmetro resulta em melhores validações de esquema do lado do cliente.

Propriedades do parâmetro

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

Conjuntos de parâmetros

CimClassSessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CimClassComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 cria ou obtém a sessão CIM, como os cmdlets New-CimSession ou Get-CimSession. Para obter mais informações, consulte about_CimSessions.

Propriedades do parâmetro

Tipo:

CimSession[]

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

Conjuntos de parâmetros

ClassNameSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CimInstanceSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
CimClassSessionSet
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

-ClassName

Especifica o nome da classe CIM para a qual executar a operação. Esse parâmetro é usado apenas para métodos estáticos. OBSERVAÇÃO: você pode usar a conclusão da guia para navegar na lista de classes, pois o Windows PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.

Propriedades do parâmetro

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

Conjuntos de parâmetros

ClassNameComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ClassNameSessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
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), um nome NetBIOS ou um endereço IP.

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

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

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

ClassNameComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ResourceUriComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
CimClassComputerSet
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

-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 para invocar 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.

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

-MethodName

Especifica o nome do método CIM a ser invocado. Esse 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.

Propriedades do parâmetro

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

Conjuntos de parâmetros

(All)
Cargo:2
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
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

ClassNameComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ClassNameSessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ResourceUriSessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ResourceUriComputerSet
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: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 é 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

-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 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: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

-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:

https://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 o parâmetro ResourceUri e 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

ResourceUriSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False
ResourceUriComputerSet
Cargo:Named
Obrigatório:True
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

CIM class

Esse cmdlet aceita uma classe CIM como um objeto de entrada.

CIM instance

Esse cmdlet aceita uma instância cim como um objeto de entrada.

Saídas

PSCustomObject

Esse cmdlet retorna um objeto.