Compartir a través de


Invoke-WSManAction

Invoca una acción en el objeto especificado por el URI de recurso y por los selectores.

Sintaxis

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

Invoke-WSManAction ejecuta una acción en el objeto especificado por RESOURCE_URI, donde los parámetros se especifican mediante pares clave-valor.

Este cmdlet usa la capa de transporte y conexión WSMan para ejecutar la acción.

Ejemplos

Ejemplo 1: Invocar un método

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Este comando llama al método StartService de la instancia de la clase WMI Win32_Service que se corresponde con el servicio Administrador de trabajos de impresión.

El valor devuelto indica si la acción se realizó correctamente. En este caso, un valor devuelto de 0 indica que se realizó correctamente. Un valor devuelto de 5 indica que el servicio ya se ha iniciado.

Ejemplo 2: Invocar un método

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Este comando llama al método StopService en el servicio Spooler mediante la entrada de un archivo. El archivo, Input.xml, contiene el siguiente contenido:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Ejemplo 3: Invocar un método con valores de parámetro especificados

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

Este comando llama al método Create de la clase Win32_Process. Pasa el método dos valores de parámetro y Notepad.exe C:\. Como resultado, se crea un nuevo proceso para ejecutar el Bloc de notas y el directorio actual del nuevo proceso se establece en C:\.

Ejemplo 4: Invocar un método en un equipo remoto

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Este comando llama al método StartService de la instancia de la clase WMI Win32_Service que se corresponde con el servicio Administrador de trabajos de impresión. Dado que se especifica el parámetro ComputerName, el comando se ejecuta en el equipo remoto server01.

El valor devuelto indica si la acción se realizó correctamente. En este caso, un valor devuelto de 0 indica que se realizó correctamente. Un valor devuelto de 5 indica que el servicio ya se ha iniciado.

Parámetros

-Action

Especifica el método que se va a ejecutar en el objeto de administración especificado por el ResourceURI y los selectores.

Tipo:String
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ApplicationName

Especifica el nombre de la aplicación en la conexión. El valor predeterminado del parámetro de nombre de aplicación es "WSMAN". El identificador completo para el extremo remoto está en el formato siguiente:

<Transport>://<Server>:<Port>/<ApplicationName>

Por ejemplo:

http://server01:8080/WSMAN

Internet Information Services (IIS), que hospeda la sesión, reenvía las solicitudes con este extremo a la aplicación especificada. Este valor predeterminado de "WSMAN" es adecuado para la mayoría de los casos. Este parámetro está diseñado para usarse cuando varios equipos establecen conexiones remotas a un equipo que ejecuta Windows PowerShell. En este caso, IIS hospeda servicios web para administración (WS-Management) para mejorar la eficacia.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Authentication

Especifica el mecanismo de autenticación que se va a usar en el servidor. Los valores posibles son:

  • Basic - Básico es un esquema en el que el nombre de usuario y la contraseña se envían en texto no cifrado al servidor o proxy.
  • Default - Use el método de autenticación implementado por el protocolo WS-Management. Este es el valor predeterminado.
  • Digest - Resumen es un esquema de desafío-respuesta que usa una cadena de datos especificada por el servidor para el desafío.
  • Kerberos - El equipo cliente y el servidor se autentican mutuamente mediante certificados Kerberos.
  • Negotiate - Negotiate es un esquema de desafío-respuesta que negocia con el servidor o proxy para determinar el esquema que se va a usar para la autenticación. Por ejemplo, este valor de parámetro permite una negociación para determinar si se utiliza el protocolo Kerberos o NTLM.
  • CredSSP - Use la autenticación del proveedor de soporte técnico de seguridad de credenciales (CredSSP), que permite al usuario delegar las credenciales. Esta opción está diseñada para comandos que se ejecuten en un equipo remoto pero que recopilen datos o ejecuten comandos adicionales en otros equipos remotos.

Precaución

CredSSP delega las credenciales del usuario desde el equipo local a un equipo remoto. Este procedimiento aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto ve su seguridad comprometida, al pasar al equipo las credenciales, estas pueden utilizarse para controlar la sesión de red.

Tipo:AuthenticationMechanism
Alias:auth, am
Valores aceptados:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CertificateThumbprint

Especifica el certificado de clave pública digital (X509) de una cuenta de usuario que tiene permiso para realizar esta acción. Escriba la huella digital del certificado.

Los certificados se usan para la autenticación basada en certificados de cliente. Solo se pueden asignar a cuentas de usuario locales y no funcionan con cuentas de dominio.

Para obtener una huella digital de certificado, use el Get-Item comando o Get-ChildItem en la unidad Certificado de Windows PowerShell: .

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Especifica el equipo en el que se quiere ejecutar la operación de administración. El valor puede ser un nombre de dominio completo, un nombre NetBIOS o una dirección IP. Use el nombre del equipo local, use localhost o use un punto (.) para especificar el equipo local. El valor predeterminado es el equipo local. Si el equipo remoto está en un dominio distinto al del usuario, se deberá usar el nombre de dominio completo. Se puede canalizar un valor para este parámetro al cmdlet.

Tipo:String
Alias:cn
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ConnectionURI

Especifica el extremo de la conexión. El formato de esta cadena es:

<Transport>://<Server>:<Port>/<ApplicationName>

La siguiente cadena es un valor con el formato correcto para este parámetro:

http://Server01:8080/WSMAN

El identificador URI debe ser completo.

Tipo:Uri
Alias:CURI, CU
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "User01", "Domain01\User01" o User@Domain.com. O bien, escriba un objeto PSCredential, como uno devuelto por el Get-Credential cmdlet . Cuando escriba un nombre de usuario, se le solicitará una contraseña.

Tipo:PSCredential
Alias:cred, c
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-FilePath

Especifica la ruta de acceso de un archivo que se usa para actualizar un recurso de administración. Para especificar el recurso de administración se usa el parámetro ResourceURI y el parámetro SelectorSet. Por ejemplo, el siguiente comando usa el parámetro FilePath:

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

Este comando llama al método StopService en el servicio Spooler mediante la entrada de un archivo. El archivo, Input.xml, contiene el siguiente contenido:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Tipo:String
Alias:Path
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-OptionSet

Pasa un conjunto de modificadores a un servicio para modificar o refinar la naturaleza de la solicitud. Son similares a los modificadores usados en los shells de línea de comandos porque son específicos para el servicio. Se pueden especificar tantas opciones como sea necesario.

En el siguiente ejemplo se muestra la sintaxis que pasa los valores 1, 2 y 3 a los parámetros a, b y c:

-OptionSet @{a=1;b=2;c=3}

Tipo:Hashtable
Alias:os
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Port

Especifica el puerto que se utilizará cuando el cliente se conecte al servicio WinRM. Si el transporte es HTTP, el puerto predeterminado es 80. Si el transporte es HTTPS, el puerto predeterminado es 443. Cuando se utiliza HTTPS como transporte, el valor del parámetro ComputerName debe coincidir con el nombre común (CN) del certificado del servidor. Sin embargo, si se especifica el parámetro SkipCNCheck como parte del parámetro SessionOption, el nombre común del certificado del servidor no tiene que coincidir con el nombre de host del servidor. El parámetro SkipCNCheck debe usarse solo para equipos de confianza.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceURI

Contiene el identificador uniforme de recursos (URI) de la clase de recursos o la instancia. 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://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Tipo:Uri
Alias:ruri
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SelectorSet

Especifica un conjunto de pares de valores que se usan para seleccionar determinadas instancias de recursos de administración. SelectorSet se usa cuando existe más de una instancia del recurso. El valor de SelectorSet debe ser una tabla hash.

En el siguiente ejemplo se muestra cómo escribir un valor para este parámetro:

-SelectorSet @{Name="WinRM";ID="yyy"}

Tipo:Hashtable
Posición:2
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SessionOption

Define un conjunto de opciones ampliadas para la sesión de WS-Management. Escriba un objeto SessionOption que cree mediante el New-WSManSessionOption cmdlet . Para obtener más información sobre las opciones disponibles, vea New-WSManSessionOption.

Tipo:SessionOption
Alias:so
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UseSSL

Especifica que el protocolo Capa de sockets seguros (SSL) se usa para establecer una conexión con el equipo remoto. De forma predeterminada, no se usa SSL.

WS-Management cifra todo el contenido de PowerShell que se transmite a través de la red. El parámetro UseSSL le permite especificar la protección adicional de HTTPS en lugar de HTTP. Si SSL no está disponible en el puerto que se utiliza para la conexión y se especifica este parámetro, el comando produce un error.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ValueSet

Especifica una tabla hash que ayuda a modificar un recurso de administración. Especifique el recurso de administración mediante los parámetros ResourceURI y SelectorSet . El valor del parámetro ValueSet debe ser una tabla hash.

Tipo:Hashtable
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

XmlElement

Este cmdlet devuelve el resultado de la operación como un objeto XmlElement .