Búsqueda de sitios web

Invocar método Cim (CimCmdlets)


Invoke-CimMethod

Módulo:
CimCmdlets

Invoca un método de una clase CIM.

Sintaxis

Invoke-CimMethod
      [-ClassName] <String>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ClassName] <String>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -ResourceUri <Uri>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ResourceUri <Uri>]
      [-InputObject] <CimInstance>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ResourceUri <Uri>]
      [-InputObject] <CimInstance>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -ResourceUri <Uri>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-CimClass] <CimClass>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-CimClass] <CimClass>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -Query <String>
      [-QueryDialect <String>]
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -Query <String>
      [-QueryDialect <String>]
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Descripción

Este cmdlet solo está disponible en la plataforma Windows.

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

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

  • Si no se especifica ni el parámetro ComputerName ni el parámetro CimSession, este cmdlet funciona en el Instrumental de administración de Windows (WMI) local 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ámetroCimSession.

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

  • Si no se especifica ni el parámetro ComputerName ni el parámetro CimSession, este cmdlet usa la sesión CIM o el nombre de la computadora del objeto de entrada.
  • Si se especifica el parámetro ComputerName o el parámetro CimSession, este cmdlet utiliza el valor del parámetro CimSession o ComputerName valor del parámetro. Este no es un escenario común.

Ejemplos

Ejemplo 1: invocar un método

Este ejemplo invoca el método Terminate de la clase Win32_Process.

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

Ejemplo 2: invocar un método utilizando un objeto de instancia CIM

Este ejemplo recupera el objeto de instancia CIM y lo almacena en una variable denominada $x mediante el cmdlet Get-CimInstance. Luego, el contenido de la variable se utiliza como InputObject para el cmdlet Invoke-CimMethod. El método GetOwner se invoca para CimInstance.

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

Ejemplo 3: invocar un método estático usando argumentos

Este ejemplo invoca el método Create nombrado usando el parámetro Argumentos.

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

Ejemplo 4: validación del lado del cliente

Este ejemplo realiza la validación del lado del cliente para el método xyz pasando un objeto CimClass a Invoke-CimMethod.

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

Parámetros

-Arguments

Especifica los parámetros que se pasarán 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 ingresados no es importante.

Tipo :

Diccionario

Posición:

1

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-CimClass

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

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

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

Tipo :

CimClass

Posición:

0

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-CimSession

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

Tipo :

Sesión cim[]

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-ClassName

Especifica el nombre de la clase CIM para la que realizar la operación. Este parámetro solo se usa para métodos estáticos. Puede utilizar la función de tabulación para examinar la lista de clases, porque PowerShell obtiene una lista de clases del servidor WMI local para proporcionar una lista de nombres de clases.

Tipo :

String

Alias:

Class

Posición:

0

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-ComputerName

Especifica el nombre de la computadora en la que desea ejecutar la operación CIM. Puede especificar un nombre de dominio completo (FQDN), un nombre NetBIOS o una dirección IP.

Cuando se utiliza este parámetro, el cmdlet crea una sesión temporal en la computadora especificada mediante el protocolo WsMan. De lo contrario, el cmdlet realiza la operación en la computadora local mediante el modelo de objetos componentes (COM).

Conéctese mediante una sesión CIM para obtener un mejor rendimiento cuando se realizan varias operaciones en la misma computadora.

Tipo :

String[]

Alias:

CN, ServerName

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-Confirm

Le solicita confirmación antes de ejecutar el cmdlet.

Tipo :

SwitchParameter

Alias:

cf

Posición:

Nombrado

Valor predeterminado:

False

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-InputObject

Especifica un objeto de instancia CIM que se utilizará como entrada para invocar un método. Este parámetro solo se puede utilizar para invocar métodos de instancia. Para invocar métodos estáticos de clase, utilice el parámetro Class o el parámetro CimClass.

Tipo :

CimInstance

Alias:

CimInstance

Posición:

0

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

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 un método estático de una clase CIM, utilice el parámetro ClassName o CimClass.

Tipo :

String

Alias:

Name

Posición:

2

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-Namespace

Especifica el espacio de nombres para la operación CIM. El espacio de nombres predeterminado es root/cimv2. Puede utilizar la función de tabulación para examinar la lista de espacios de nombres, porque PowerShell obtiene una lista de espacios de nombres del servidor WMI local para proporcionar la lista de espacios de nombres.

Tipo :

String

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

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 utiliza 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 predeterminado de 3 minutos, las fallas de red que duran más que el valor del parámetro OperationTimeoutSec no son recuperables.

Tipo :

UInt32

Alias:

OT

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Query

Especifica una consulta para 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 utilizando el parámetro QueryDialect.

Si el valor especificado contiene comillas dobles ("), comillas simples (') o una barra invertida (\), debe aplicar escape a esos caracteres. prefijándolos con el carácter de barra invertida (\). Si el valor especificado usa el operador WQL LIKE, debe escapar los siguientes caracteres encerrándolos entre corchetes ([]): porcentaje (%), guión bajo (_) o corchete de apertura ([).

Tipo :

String

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-QueryDialect

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

El valor predeterminado es WQL.

Tipo :

String

Posición:

Nombrado

Valor predeterminado:

WQL

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-ResourceUri

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

Un URI consta de un prefijo y una ruta 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 utiliza el URI de recurso estándar DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ y la clase se le añade el nombre.

ResourceURI solo se puede usar con sesiones CIM creadas usando el protocolo WSMan, o cuando se especifica el parámetro ComputerName, que crea una sesión CIM usando WSMan.

Cuando especifica este parámetro sin especificar el parámetro ComputerName, o cuando especifica una sesión CIM creada utilizando el protocolo DCOM, obtiene un error. El protocolo DCOM no admite el parámetro ResourceURI.

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

Tipo :

uri

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-WhatIf

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

Tipo :

SwitchParameter

Alias:

wi

Posición:

Nombrado

Valor predeterminado:

False

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

Entradas

CimClass

Puede canalizar una clase CIM a este cmdlet.

Instancia Cim

Puede canalizar una instancia CIM a este cmdlet.

Salidas

PSCustomObject

Este cmdlet devuelve un objeto.

Notas

PowerShell incluye los siguientes alias para Invoke-CimMethod:

  • Windows:

      icim

Este cmdlet solo está disponible en plataformas Windows.

Artículos relacionados