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 GetOwnerEjemplo 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_LogicalDiskhttp://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettingsDe 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.