Invoke-CimMethod
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>]
Description
Este cmdlet solo está disponible en la plataforma Windows.
El Invoke-CimMethod
cmdlet 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 . No se trata de un escenario habitual.
Ejemplos
Ejemplo 1: Invocar un método
En este ejemplo se 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 mediante el objeto de instancia CIM
En este ejemplo se recupera el objeto de instancia CIM y se almacena en una variable denominada $x
mediante el Get-CimInstance
cmdlet . A continuación, el contenido de la variable se usa como InputObject para el Invoke-CimMethod
cmdlet . 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 mediante argumentos
En este ejemplo se invoca el método Create denominado mediante el parámetro Arguments .
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}
Ejemplo 4: Validación del lado cliente
En este ejemplo se realiza la validación del lado 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 especificados no es importante.
Tipo: | IDictionary |
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. Use este parámetro al invocar un método estático de una clase.
Puede usar el Get-CimClass
cmdlet 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.
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 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 New-CimSession
cmdlets o Get-CimSession
. Para obtener más información, consulte about_CimSession.
Tipo: | CimSession[] |
Posición: | Named |
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 se va a realizar la operación. Este parámetro solo se usa para métodos estáticos. Puede usar la finalización de 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.
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 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.
Al usar este parámetro, el cmdlet crea una sesión temporal en el equipo especificado mediante el protocolo WsMan. De lo contrario, el cmdlet realiza la operación en el equipo local mediante el modelo de objetos componentes (COM).
Conéctese mediante una sesión CIM para mejorar el rendimiento cuando se realizan varias operaciones en el mismo equipo.
Tipo: | String[] |
Alias: | CN, ServerName |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
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 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 .
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 vacío. Para invocar el método estático de una clase CIM, use 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 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.
Tipo: | String |
Posición: | Named |
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 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 predeterminado de 3 minutos, los errores de red que duran más que el valor del parámetro OperationTimeoutSec no se pueden recuperar.
Tipo: | UInt32 |
Alias: | OT |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 corchetes de apertura (_
[
).
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | WQL |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 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.
Al especificar este parámetro sin especificar el parámetro ComputerName , o cuando se especifica una sesión CIM creada mediante el protocolo DCOM, se produce un error. 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.
Tipo: | Uri |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar una clase CIM a este cmdlet.
Puede canalizar una instancia CIM a este cmdlet.
Salidas
Este cmdlet devuelve un objeto .
Notas
PowerShell incluye los siguientes alias para Invoke-CimMethod
:
- Windows:
icim
Este cmdlet solo está disponible en plataformas Windows.