Compartir a través de


Invoke-CimMethod

Invoca un método de una clase CIM.

Sintaxis

ClassNameComputerSet (valor predeterminado)

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

El cmdlet Invoke-CimMethod invoca un método de una clase CIM o una instancia CIM mediante los pares nombre-valor especificados por el parámetro Arguments.

Si no 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 funciona en la sesión local de Instrumental de administración de Windows (WMI) mediante una sesión del 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. Nota: Esto no es muy común.

Ejemplos

Ejemplo 1: Invocar un método

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

Este comando invoca el método denominado Terminate en la clase CIM denominada Win32_Process. La clase CIM se recupera mediante la consulta "Select * from Win32_Process where name like 'notepad%'".

Ejemplo 2: Invocar un método mediante el objeto de instancia CIM

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

Este conjunto de comandos recupera el objeto de instancia CIM y lo almacena en una variable denominada $x mediante el cmdlet Get-CimInstance. A continuación, el contenido de la variable se usa como InputObject para el cmdlet Invoke-CimMethod y se invoca el método GetOwner para CimInstance.

Ejemplo 3: Invocar un método estático

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

Este comando invoca el método estático Create en la clase denominada Win32_Process, con los argumentos especificados por el parámetro Arguments.

Ejemplo 4: Invocar un método mediante argumentos

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

Este comando invoca el método denominado Create mediante el parámetro Arguments.

Ejemplo 5: Validación del lado cliente

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

Este conjunto de comandos realiza la validación del lado cliente para el método denominado xyz pasando un objeto CimClass al cmdlet Invoke-CimMethod.

Parámetros

-Arguments

Especifica los parámetros que se van a pasar al método llamado. Especifique los valores de este parámetro como pares nombre-valor, almacenados en una tabla hash. El orden de los valores especificados no es importante.

Propiedades de parámetro

Tipo:IDictionary
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:1
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-CimClass

Especifica un objeto de clase CIM que representa una definición de clase CIM en el servidor. Use este parámetro al invocar un método estático de una clase.

Puede usar el cmdlet Get-CimClass para recuperar una definición de clase del servidor.

El uso de este parámetro da como resultado mejores validaciones de esquema del lado cliente.

Propiedades de parámetro

Tipo:CimClass
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CimClassSessionSet
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CimClassComputerSet
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CimSession

Ejecuta el comando mediante la sesión CIM especificada. Escriba una variable que contenga la sesión CIM o un comando que cree o obtenga la sesión CIM, como los cmdlets New-CimSession o Get-CimSession. Para obtener más información, consulte about_CimSessions.

Propiedades de parámetro

Tipo:

CimSession[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ClassNameSessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CimInstanceSessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CimClassSessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
QuerySessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ClassName

Especifica el nombre de la clase CIM para la que se va a realizar la operación. Este parámetro solo se usa para métodos estáticos. NOTA: Puede usar la finalización de tabulación para examinar la lista de clases, ya que Windows PowerShell obtiene una lista de clases del servidor WMI local para proporcionar una lista de nombres de clase.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Clase

Conjuntos de parámetros

ClassNameComputerSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ClassNameSessionSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ComputerName

Especifica el nombre del 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 especifica este parámetro, el cmdlet crea una sesión temporal en el equipo especificado mediante el protocolo WsMan.

Si no especifica este parámetro, el cmdlet realiza la operación en el equipo local mediante el modelo de objetos componentes (COM).

Si se realizan varias operaciones en el mismo equipo, la conexión mediante una sesión CIM proporciona un mejor rendimiento.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:CN, NombreDelServidor

Conjuntos de parámetros

ClassNameComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ResourceUriComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
CimClassComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QueryComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Especifica un objeto de instancia CIM que se va a usar como entrada para invocar un método.

Este parámetro solo se puede usar para invocar métodos de instancia. Para invocar métodos estáticos de clase, use el parámetro Class o el parámetro CimClass.

Propiedades de parámetro

Tipo:CimInstance
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:CimInstance

Conjuntos de parámetros

CimInstanceComputerSet
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CimInstanceSessionSet
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-MethodName

Especifica el nombre del método CIM que se va a invocar. Este parámetro es obligatorio y no puede ser nulo ni estar vacío.

Para invocar el método estático de una clase CIM, use el parámetro ClassName o CimClass.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Nombre

Conjuntos de parámetros

(All)
Posición:2
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Namespace

Especifica el espacio de nombres para la operación CIM.

El espacio de nombres predeterminado es root/cimv2. Puede usar la finalización de 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.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ClassNameComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ClassNameSessionSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ResourceUriSessionSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ResourceUriComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QuerySessionSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QueryComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-OperationTimeoutSec

Especifica la cantidad de tiempo que el cmdlet espera una respuesta del equipo.

De forma predeterminada, el valor 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.

Propiedades de parámetro

Tipo:UInt32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:OT

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Query

Especifica una consulta que se va a ejecutar en el servidor CIM. Se invoca un método en las instancias recibidas como resultado de la consulta.

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

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 cuadrado de apertura ([).

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

QuerySessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QueryComputerSet
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-QueryDialect

Especifica el lenguaje de consulta usado para el parámetro Query. Los valores aceptables para este parámetro son: WQL o CQL.

El valor predeterminado es WQL.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

QuerySessionSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
QueryComputerSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-ResourceUri

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

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

https://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 del recurso estándar DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ 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, ya que 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.

Propiedades de parámetro

Tipo:Uri
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ResourceUriSessionSet
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False
ResourceUriComputerSet
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

CIM class

Este cmdlet acepta una clase CIM como un objeto de entrada.

CIM instance

Este cmdlet acepta una instancia CIM como un objeto de entrada.

Salidas

PSCustomObject

Este cmdlet devuelve un objeto .