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 .