Get-CimInstance
Obtém as instâncias CIM de uma classe de um servidor CIM.
Sintaxe
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 cmdlet Get-CimInstance
obtém as instâncias CIM de uma classe de um servidor CIM. Você pode especificar o nome da classe ou uma consulta para este cmdlet. Esse cmdlet retorna um ou mais objetos de instância CIM que representam um instantâneo das instâncias 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 for especificado, 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 o 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 for especificado, 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 Raiz em um servidor WMI.
Get-CimInstance -Namespace root -ClassName __Namespace
Exemplo 3: Obter instâncias de uma classe filtrada usando uma consulta
Este exemplo recupera todas as instâncias de CIM que começam com a letra P de uma classe chamada Win32_Process usando a consulta especificada por um parâmetro de consulta.
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
Exemplo 4: Obter instâncias de uma classe filtrada usando um nome de classe e uma expressão de filtro
Este exemplo recupera todas as instâncias de 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 de CIM com apenas propriedades de chave preenchidas
Este exemplo cria uma nova instância CIM na memória para uma classe chamada Win32_Process com a propriedade key @{ "Handle"=0 }
e a armazena em uma variável chamada $x
. A variável é passada como uma instância CIM para o cmdlet Get-CimInstance
para obter uma instância específica.
$instance = @{
ClassName = 'Win32_Process'
Namespace = 'root\cimv2'
Properties = @{
Handle = 0
}
Key = 'Handle'
ClientOnly = $true
}
$x = New-CimInstance @instance
Get-CimInstance -CimInstance $x
Exemplo 6: recuperar instâncias de 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
é formatada em uma tabela que contém apenas as propriedades de Nome 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 de chave, em vez de todas as propriedades
Este exemplo recupera apenas as propriedades de 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 propriedade pode ser usada para executar outras operações cim, por exemplo, Set-CimInstance
ou Invoke-CimMethod
.
Exemplo 10: Obter a instância cim usando a sessão CIM
Este exemplo cria uma sessão CIM nos computadores chamados Server01 e Server02 usando o cmdlet New-CimSession
e armazena as informações da sessão em uma variável chamada $s
. O conteúdo da variável é 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 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_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 recuperar as instâncias cim. Você pode usar a conclusão da guia para navegar na 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 |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ComputerName
Especifica o 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ê não especificar esse parâmetro, o cmdlet executará a operação no computador local usando 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 melhorar o desempenho.
Tipo: | String[] |
Aliases: | CN, ServerName |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Filter
Especifica uma cláusula where a ser usada como um filtro. Especifique a cláusula no WQL ou na linguagem de consulta CQL. Não inclua a palavra-chave WHERE
no valor do parâmetro.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 de enumeração ou consulta. 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 em coleções. Se uma coleção for passada, um erro será gerado. Ao trabalhar com coleções, redirecione 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.
Tipo: | CimInstance |
Aliases: | CimInstance |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-KeyOnly
Indica que somente objetos com propriedades de chave populadas 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 cmdlets Set-CimInstance
ou Get-CimAssociatedInstance
.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Namespace
Especifica o namespace da classe CIM.
O namespace padrão é raiz/cimv2. Você pode usar a conclusão da guia 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 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, pois a operação no servidor atinge o tempo limite antes que o cliente possa se reconectar.
Tipo: | UInt32 |
Aliases: | OT |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Property
Especifica um conjunto de propriedades de instância a serem recuperadas. Use esse parâmetro quando precisar reduzir o tamanho do objeto retornado, na memória ou na rede. O objeto retornado também contém as propriedades de chave mesmo que você não as tenha listado usando o parâmetro propriedade. Outras propriedades da classe estão presentes, mas não são preenchidas.
Tipo: | String[] |
Aliases: | SelectProperties |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 LIKE do WQL, você deverá escapar dos seguintes caracteres colocando-os entre colchetes []
: porcentagem %
, sublinhado _
ou abrir colchete [
.
Você não pode usar uma consulta de metadados para recuperar uma lista de classes ou uma consulta de evento. Para recuperar uma lista de classes, use o cmdlet Get-CimClass
. Para recuperar uma consulta de evento, use o cmdlet Register-CimIndicationEvent
.
Você pode especificar o dialeto de consulta usando o parâmetro QueryDialect.
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 De consulta. Os valores aceitáveis para esse parâmetro são: WQL ou CQL . O valor padrão é WQL.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-ResourceUri
Especifica o URI (identificador de recurso) uniforme do recurso da classe de recurso ou instância. 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 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.
do 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 de filtro de será ignorado.
Tipo: | Uri |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Shallow
Indica que as instâncias de uma classe são retornadas sem incluir as instâncias de nenhuma classe filho. Por padrão, o cmdlet retorna as instâncias de uma classe e suas classes filho.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar um objeto de instância CIM para este cmdlet.
Saídas
Esse cmdlet retorna um ou mais objetos de instância CIM que representam um instantâneo das instâncias cim no servidor CIM.
Observações
O PowerShell inclui os seguintes aliases para Get-CimInstance
:
- Windows:
gcim
Esse cmdlet só está disponível em plataformas Windows.