Partilhar via


Invoke-CimMethod

Invoca um método de uma classe CIM.

Sintaxe

ClassNameComputerSet (Predefinição)

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

ResourceUriComputerSet

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

CimInstanceSessionSet

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

CimInstanceComputerSet

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

ResourceUriSessionSet

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

CimClassComputerSet

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

CimClassSessionSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-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>]

QuerySessionSet

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

Description

Este cmdlet só está disponível na plataforma Windows.

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á 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 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 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 do CIM e o armazena em uma variável chamada $x usando o cmdlet Get-CimInstance. O conteúdo da variável é usado como o InputObject para o cmdlet Invoke-CimMethod. O GetOwner método é 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 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 dos parâmetros

Tipo:IDictionary
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

O uso desse parâmetro resulta em melhores validações de esquema do lado do cliente.

Propriedades dos parâmetros

Tipo:CimClass
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CimClassComputerSet
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CimClassSessionSet
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 cmdlets New-CimSession ou Get-CimSession. Para obter mais informações, consulte about_CimSession.

Propriedades dos parâmetros

Tipo:

CimSession[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ClassNameSessionSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CimInstanceSessionSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CimClassSessionSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
QuerySessionSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
ResourceUriSessionSet
Position:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ClassName

Especifica o nome da classe CIM para a qual executar a operação. Este parâmetro é usado apenas para métodos estáticos. Você pode usar o preenchimento de guias para procurar a lista de classes, porque o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Classe

Conjuntos de parâmetros

ClassNameComputerSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
ClassNameSessionSet
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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), 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 um melhor desempenho quando várias operações estão sendo executadas no mesmo computador.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:China, Nome do servidor

Conjuntos de parâmetros

ClassNameComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
ResourceUriComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
CimClassComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
CimInstanceComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
QueryComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Confirm

Solicita confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 dos parâmetros

Tipo:CimInstance
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:CimInstance

Conjuntos de parâmetros

CimInstanceComputerSet
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
CimInstanceSessionSet
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 ClassName ou o parâmetro CimClass.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Nome

Conjuntos de parâmetros

(All)
Position:2
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ClassNameComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
ClassNameSessionSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
ResourceUriComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
ResourceUriSessionSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
QuerySessionSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
QueryComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-OperationTimeoutSec

Especifica a quantidade de tempo que o cmdlet aguarda por 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 do que o tempo limite de repetição de conexão padrão de 3 minutos, as falhas de rede que duram mais do que o valor do parâmetro OperationTimeoutSec não serão recuperáveis.

Propriedades dos parâmetros

Tipo:UInt32
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:OT

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 abertura de colchete ([).

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

QuerySessionSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
QueryComputerSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:String
Default value:WQL
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

QuerySessionSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
QueryComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-ResourceUri

Especifica o URI (identificador uniforme de recurso) 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:

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 http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ URI de 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.

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ê recebe um erro. 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.

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

CimInstanceComputerSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False
CimInstanceSessionSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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

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

CIM instance

Este cmdlet aceita uma instância do CIM como um objeto de entrada.

Saídas

PSCustomObject

Este cmdlet retorna um objeto.