Get-CimInstance

Obtém as instâncias CIM de uma classe de um servidor CIM.

Syntax

Get-CimInstance
   [-ClassName] <String>
   [-ComputerName <String[]>]
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-QueryDialect <String>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   -ResourceUri <Uri>
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -Query <String>
   [-QueryDialect <String>]
   [-Shallow]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ClassName] <String>
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-QueryDialect <String>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   -CimSession <CimSession[]>
   [-ResourceUri <Uri>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [<CommonParameters>]
Get-CimInstance
   [-ResourceUri <Uri>]
   [-ComputerName <String[]>]
   [-OperationTimeoutSec <UInt32>]
   [-InputObject] <CimInstance>
   [<CommonParameters>]
Get-CimInstance
   -ResourceUri <Uri>
   [-ComputerName <String[]>]
   [-KeyOnly]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   [-Shallow]
   [-Filter <String>]
   [-Property <String[]>]
   [<CommonParameters>]
Get-CimInstance
   [-ResourceUri <Uri>]
   [-ComputerName <String[]>]
   [-Namespace <String>]
   [-OperationTimeoutSec <UInt32>]
   -Query <String>
   [-QueryDialect <String>]
   [-Shallow]
   [<CommonParameters>]

Description

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

O Get-CimInstance cmdlet obtém as instâncias CIM de uma classe de um servidor CIM. Você pode especificar o nome da classe ou uma consulta para esse cmdlet. Este cmdlet retorna um ou mais objetos de instância do CIM que representam um instantâneo das instâncias do CIM presentes no 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.

Exemplos

Exemplo 1: Obter as instâncias CIM de uma classe especificada

Este exemplo recupera as instâncias CIM de uma classe chamada Win32_Process.

Get-CimInstance -ClassName Win32_Process

Exemplo 2: Obter uma lista de namespaces de um servidor WMI

Este exemplo recupera uma lista de namespaces no namespace Root em um servidor WMI.

Get-CimInstance -Namespace root -ClassName __Namespace

Exemplo 3: Obter instâncias de uma classe filtradas usando uma consulta

Este exemplo recupera todas as instâncias CIM que começam com a letra P de uma classe chamada Win32_Process usando a consulta especificada por um parâmetro Query .

Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"

Exemplo 4: Obter instâncias de uma classe filtradas usando um nome de classe e uma expressão de filtro

Este exemplo recupera todas as instâncias CIM que começam com a letra P de uma classe chamada Win32_Process usando o parâmetro Filter.

Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"

Exemplo 5: Obter as instâncias do CIM com apenas as propriedades da chave preenchidas

Este exemplo cria uma nova instância CIM na memória para uma classe chamada Win32_Process com a propriedade @{ "Handle"=0 } key e a armazena em uma variável chamada $x. A variável é passada como uma instância do CIM para o Get-CimInstance cmdlet para obter uma instância específica.

$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x

Exemplo 6: Recuperar instâncias CIM e reutilizá-las

Este exemplo obtém as instâncias CIM de uma classe chamada Win32_Process e as armazena nas variáveis $x e $y. A variável $x é então formatada em uma tabela contendo apenas as propriedades Name e KernelModeTime , a tabela definida como AutoSize.

$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize

Name                 KernelModeTime
----                 --------------
System Idle Process 157238797968750

Exemplo 7: Obter instâncias CIM do computador remoto

Este exemplo recupera as instâncias CIM de uma classe chamada Win32_ComputerSystem dos computadores remotos chamados Server01 e Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

Exemplo 8: Obtendo apenas as propriedades da chave, em vez de todas as propriedades

Este exemplo recupera apenas as propriedades da chave, o que reduz o tamanho do objeto e do tráfego de rede.

$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner

Exemplo 9: Obtendo apenas um subconjunto de propriedades, em vez de todas as propriedades

Este exemplo recupera apenas um subconjunto de propriedades, o que reduz o tamanho do objeto e do tráfego de rede.

Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner

A instância recuperada com o parâmetro Property pode ser usada para executar outras operações CIM, por exemplo Set-CimInstance ou Invoke-CimMethod.

Exemplo 10: Obter a instância do CIM usando a sessão do CIM

Este exemplo cria uma sessão CIM nos computadores chamados Server01 e Server02 usando o cmdlet e armazena New-CimSession as informações da sessão em uma variável chamada $s. O conteúdo da variável é então passado para Get-CimInstance usando o parâmetro CimSession , para obter as instâncias CIM da classe chamada Win32_ComputerSystem.

$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s

Parâmetros

-CimSession

Especifica a sessão CIM a ser usada para este cmdlet. Insira uma variável que contenha a sessão do CIM ou um comando que crie ou obtenha a sessão do CIM, como os New-CimSession cmdlets or Get-CimSession . Para obter mais informações, consulte about_CimSession.

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClassName

Especifica o nome da classe CIM para a qual recuperar as instâncias CIM. 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.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

Especifica o 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. 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, conecte-se usando uma sessão CIM para obter um melhor desempenho.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Filter

Especifica uma cláusula where a ser usada como filtro. Especifique a cláusula na linguagem de consulta WQL ou CQL . Não inclua a WHERE palavra-chave no valor do parâmetro.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

Especifica um objeto de instância CIM a ser usado como entrada.

Se você já estiver trabalhando com um objeto de instância CIM, poderá usar esse parâmetro para passar o objeto de instância CIM para obter o instantâneo mais recente do servidor CIM. Quando você passa um objeto de instância CIM como uma entrada, Get-CimInstance retorna o objeto do servidor usando uma operação get CIM, em vez de uma operação enumerate ou query. Usar uma operação get CIM é mais eficiente do que recuperar todas as instâncias e, em seguida, filtrá-las.

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.

Se a classe CIM não implementar a operação get, especificar o parâmetro InputObject retornará um erro.

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyOnly

Indica que somente objetos com propriedades de chave preenchidas são retornados. Especificar o parâmetro KeyOnly reduz a quantidade de dados transferidos pela rede.

Use o parâmetro KeyOnly para retornar apenas uma pequena parte do objeto, que pode ser usada para outras operações, como os Set-CimInstance cmdlets or Get-CimAssociatedInstance .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Especifica o namespace da classe 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Especifica um conjunto de propriedades de instância a serem recuperadas. Use este parâmetro quando precisar reduzir o tamanho do objeto retornado, seja na memória ou pela rede. O objeto retornado também contém as propriedades da chave, mesmo que você não as tenha listado usando o parâmetro Property . Outras propriedades da classe estão presentes, mas não são preenchidas.

Type:String[]
Aliases:SelectProperties
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Query

Especifica uma consulta a ser executada no servidor CIM. 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.

Não é possível usar uma consulta de metadados para recuperar uma lista de classes ou uma consulta de evento. Para recuperar uma lista de classes, use o Get-CimClass cmdlet. Para recuperar uma consulta de evento, use o Register-CimIndicationEvent cmdlet.

Você pode especificar o dialeto de consulta usando o parâmetro QueryDialect .

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Shallow

Indica que as instâncias de uma classe são retornadas sem incluir as instâncias de quaisquer classes filhas. Por padrão, o cmdlet retorna as instâncias de uma classe e suas classes filhas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

CimInstance

Você pode canalizar um objeto de instância do CIM para esse cmdlet.

Saídas

CimInstance

Este cmdlet retorna um ou mais objetos de instância do CIM que representam um instantâneo das instâncias do CIM no servidor CIM.

Notas

O PowerShell inclui os seguintes aliases para Get-CimInstance:

  • Windows:
    • gcim

Este cmdlet só está disponível em plataformas Windows.