Get-CimInstance

Obtiene las instancias CIM de una clase de un 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 solo está disponible en la plataforma Windows.

El Get-CimInstance cmdlet obtiene las instancias CIM de una clase de un servidor CIM. Puede especificar el nombre de clase o una consulta para este cmdlet. Este cmdlet devuelve uno o varios objetos de instancia CIM que representan una instantánea de las instancias CIM presentes en el servidor CIM.

Si no se especifica el parámetro InputObject , el cmdlet funciona de una de las siguientes maneras:

  • Si no se especifica el parámetro ComputerName ni el parámetro CimSession , este cmdlet funciona en la instrumentación de administración local de Windows (WMI) mediante una sesión de Modelo de objetos componentes (COM).
  • Si se especifica el parámetro ComputerName o el parámetro CimSession , este cmdlet funciona con el servidor CIM especificado por el parámetro ComputerName o el parámetro CimSession .

Si se especifica el parámetro InputObject , el cmdlet funciona de una de las maneras siguientes:

  • Si no se especifica el parámetro ComputerName ni el parámetro CimSession , este cmdlet usa la sesión CIM o el nombre de equipo del objeto de entrada.
  • Si se especifica el parámetro ComputerName o el parámetro CimSession , este cmdlet usa el valor del parámetro CimSession o el valor del parámetro ComputerName .

Ejemplos

Ejemplo 1: Obtención de las instancias CIM de una clase especificada

En este ejemplo se recuperan las instancias CIM de una clase denominada Win32_Process.

Get-CimInstance -ClassName Win32_Process

Ejemplo 2: Obtener una lista de espacios de nombres de un servidor WMI

En este ejemplo se recupera una lista de espacios de nombres en el espacio de nombres Raíz en un servidor WMI.

Get-CimInstance -Namespace root -ClassName __Namespace

Ejemplo 3: Obtención de instancias de una clase filtrada mediante una consulta

En este ejemplo se recuperan todas las instancias CIM que comienzan con la letra P de una clase denominada Win32_Process mediante la consulta especificada por un parámetro Query .

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

Ejemplo 4: Obtener instancias de una clase filtrada mediante un nombre de clase y una expresión de filtro

En este ejemplo se recuperan todas las instancias CIM que comienzan con la letra P de una clase denominada Win32_Process mediante el parámetro Filter.

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

Ejemplo 5: Obtención de las instancias CIM con solo propiedades de clave rellenadas

En este ejemplo se crea una nueva instancia CIM en memoria para una clase denominada Win32_Process con la propiedad @{ "Handle"=0 } key y la almacena en una variable denominada $x. La variable se pasa como una instancia CIM al Get-CimInstance cmdlet para obtener una instancia determinada.

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

Ejemplo 6: Recuperación de instancias CIM y reutilización de ellas

En este ejemplo se obtienen las instancias CIM de una clase denominada Win32_Process y las almacena en las variables $x y $y. A continuación, la variable $x tiene el formato en una tabla que contiene solo las propiedades Name y KernelModeTime , la tabla establecida en AutoSize.

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

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

Ejemplo 7: Obtención de instancias CIM del equipo remoto

En este ejemplo se recuperan las instancias CIM de una clase denominada Win32_ComputerSystem de los equipos remotos denominados Server01 y Server02.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02

Ejemplo 8: Obtener solo las propiedades clave, en lugar de todas las propiedades

En este ejemplo solo se recuperan las propiedades clave, lo que reduce el tamaño del objeto y del tráfico de red.

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

Ejemplo 9: Obtener solo un subconjunto de propiedades, en lugar de todas las propiedades

En este ejemplo solo se recupera un subconjunto de propiedades, lo que reduce el tamaño del objeto y el tráfico de red.

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

La instancia recuperada con el parámetro Property se puede usar para realizar otras operaciones CIM, por ejemplo Set-CimInstance o Invoke-CimMethod.

Ejemplo 10: Obtención de la instancia CIM mediante la sesión cim

En este ejemplo se crea una sesión CIM en los equipos denominados Server01 y Server02 mediante el New-CimSession cmdlet y se almacena la información de sesión en una variable denominada $s. A continuación, el contenido de la variable se pasa a Get-CimInstance mediante el parámetro CimSession para obtener las instancias CIM de la clase denominada Win32_ComputerSystem.

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

Parámetros

-CimSession

Especifica la sesión CIM que se va a usar para este cmdlet. Escriba una variable que contenga la sesión CIM o un comando que cree u obtenga la sesión CIM, como los New-CimSession cmdlets o Get-CimSession . Para obtener más información, consulte about_CimSession.

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

-ClassName

Especifica el nombre de la clase CIM para la que se van a recuperar las instancias cim. Puede usar la finalización con tabulación para examinar la lista de clases, ya que PowerShell obtiene una lista de clases del servidor WMI local para proporcionar una lista de nombres de clase.

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

-ComputerName

Especifica el equipo en el que desea ejecutar la operación CIM. Puede especificar un nombre de dominio completo (FQDN), un nombre NetBIOS o una dirección IP. Si no especifica este parámetro, el cmdlet realiza la operación en el equipo local mediante el modelo de objetos componentes (COM).

Si especifica este parámetro, el cmdlet crea una sesión temporal en el equipo especificado mediante el protocolo WsMan.

Si se realizan varias operaciones en el mismo equipo, conéctese mediante una sesión CIM para mejorar el rendimiento.

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

-Filter

Especifica una cláusula where que se va a usar como filtro. Especifique la cláusula en el lenguaje de consulta WQL o CQL . No incluya la WHERE palabra clave en el valor del parámetro .

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

-InputObject

Especifica un objeto de instancia CIM que se va a usar como entrada.

Si ya está trabajando con un objeto de instancia CIM, puede usar este parámetro para pasar el objeto de instancia CIM para obtener la instantánea más reciente del servidor CIM. Cuando se pasa un objeto de instancia CIM como entrada, Get-CimInstance devuelve el objeto del servidor mediante una operación get CIM, en lugar de una operación de enumeración o consulta. El uso de una operación get CIM es más eficaz que recuperar todas las instancias y, a continuación, filtrarlas.

El parámetro InputObject no enumera las colecciones. Si se pasa una colección, se produce un error. Al trabajar con colecciones, canalice la entrada para enumerar los valores.

Si la clase CIM no implementa la operación get, la especificación del parámetro InputObject devuelve un error.

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

-KeyOnly

Indica que solo se devuelven objetos con propiedades de clave rellenadas. La especificación del parámetro KeyOnly reduce la cantidad de datos transferidos a través de la red.

Use el parámetro KeyOnly para devolver solo una pequeña parte del objeto , que se puede usar para otras operaciones, como los Set-CimInstance cmdlets o Get-CimAssociatedInstance .

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

-Namespace

Especifica el espacio de nombres de la clase CIM.

El espacio de nombres predeterminado es root/cimv2. Puede usar la finalización con tabulación para examinar la lista de espacios de nombres, ya que PowerShell obtiene una lista de espacios de nombres del servidor WMI local para proporcionar la lista de espacios de nombres.

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

-OperationTimeoutSec

Especifica la cantidad de tiempo que el cmdlet espera una respuesta del equipo. De forma predeterminada, el valor de este parámetro es 0, lo que significa que el cmdlet usa el valor de tiempo de espera predeterminado para el servidor.

Si el parámetro OperationTimeoutSec se establece en un valor menor que el tiempo de espera de reintento de conexión sólido de 3 minutos, los errores de red que duran más que el valor del parámetro OperationTimeoutSec no se pueden recuperar, ya que la operación en el servidor agota el tiempo de espera antes de que el cliente pueda volver a conectarse.

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

-Property

Especifica un conjunto de propiedades de instancia que se van a recuperar. Use este parámetro cuando necesite reducir el tamaño del objeto devuelto, ya sea en memoria o a través de la red. El objeto devuelto también contiene las propiedades de clave incluso si no las ha enumerado mediante el parámetro Property . Hay otras propiedades de la clase, pero no se rellenan.

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

-Query

Especifica una consulta que se va a ejecutar en el servidor CIM. Si el valor especificado contiene comillas "dobles, comillas 'simples o una barra diagonal inversa \, debe escapar esos caracteres prefijos con el carácter de barra diagonal inversa. Si el valor especificado usa el operador WQL LIKE , debe escapar los caracteres siguientes entre corchetes []: porcentaje %, subrayado _o corchete [de apertura.

No se puede usar una consulta de metadatos para recuperar una lista de clases o una consulta de eventos. Para recuperar una lista de clases, use el Get-CimClass cmdlet . Para recuperar una consulta de eventos, use el Register-CimIndicationEvent cmdlet .

Puede especificar el dialecto de consulta mediante el parámetro QueryDialect .

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

-QueryDialect

Especifica el lenguaje de consulta utilizado para el parámetro Query. Los valores aceptables para este parámetro son: WQL o CQL. El valor predeterminado es WQL.

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

-ResourceUri

Especifica el identificador uniforme de recursos (URI) de la clase de recurso o la instancia. El URI se usa para identificar un tipo de recurso en un equipo, como discos o procesos.

Un URI consta de un prefijo y una ruta de acceso a un recurso. Por ejemplo:

  • http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
  • http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

De forma predeterminada, si no especifica este parámetro, se usa el URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ del recurso estándar DMTF y el nombre de clase se anexa a él.

ResourceURI solo se puede usar con sesiones CIM creadas mediante el protocolo WSMan o al especificar el parámetro ComputerName , que crea una sesión CIM mediante WSMan. Si especifica este parámetro sin especificar el parámetro ComputerName o si especifica una sesión CIM creada mediante el protocolo DCOM, obtendrá un error porque el protocolo DCOM no admite el parámetro ResourceURI .

Si se especifican tanto el parámetro ResourceUri como el parámetro Filter , se omite el parámetro Filter .

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

-Shallow

Indica que las instancias de una clase se devuelven sin incluir las instancias de ninguna clase secundaria. De forma predeterminada, el cmdlet devuelve las instancias de una clase y sus clases secundarias.

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

Entradas

CIM Instance

Este cmdlet acepta objetos de entrada especificados con el parámetro InputObject.

Salidas

CIM Instance

Este cmdlet devuelve uno o varios objetos de instancia CIM que representan una instantánea de las instancias CIM en el servidor CIM.