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

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

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

Ejemplos

Ejemplo 1

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

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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 clase WMI de Win32_Service que corresponde al servicio Spooler.

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

Ejemplo 2

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           : https://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="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

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

Ejemplo 3

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

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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, Notepad.exe y "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

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

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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 clase WMI de Win32_Service que corresponde al servicio Spooler. 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 ha realizado 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 ApplicationName es WSMAN. El identificador completo del punto de conexión remoto tiene el siguiente formato:

<transporte>://<servidor>:<puerto>/<ApplicationName>

Por ejemplo:

http://server01:8080/WSMAN

Internet Information Services (IIS), que hospeda la sesión, reenvía las solicitudes con este punto de conexión a la aplicación especificada. Esta configuración predeterminada de "WSMAN" es adecuada para la mayoría de los usos. Este parámetro está diseñado para usarse cuando numerosos 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:Wsman
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:

  • Básico: 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.
  • Valor predeterminado: use el método de autenticación implementado por el protocolo WS-Management. Este es el valor predeterminado.
  • Resumen: el 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.
  • Negociar: 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 a la negociación determinar si se usa 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 credenciales. Esta opción está diseñada para comandos que se ejecutan en un equipo remoto, pero recopilan datos de o ejecutan comandos adicionales en otros equipos remotos.

Precaución: CredSSP delega las credenciales del usuario desde el equipo local a un equipo remoto. Esta práctica aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto está en peligro, cuando se le pasan las credenciales, las credenciales se pueden usar para controlar la sesión de red.

Tipo:AuthenticationMechanism
Alias:auth, am
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 en la autenticación basada en certificados de cliente. Solo se pueden asignar a cuentas de usuario locales; no funcionan con cuentas de dominio.

Para obtener una huella digital de certificado, use el comando Get-Item 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 desea 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 equipo local es el valor predeterminado. Cuando el equipo remoto está en un dominio diferente del usuario, debe usar un nombre de dominio completo. Puede canalizar un valor para este parámetro al cmdlet .

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

-ConnectionURI

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

<transport>://<Server>:<Port>/<ApplicationName>

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

http://Server01:8080/WSMAN

El URI debe estar 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 que tiene 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 cmdlet Get-Credential. Al escribir un nombre de usuario, se le pedirá 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. Especifique el recurso de administración mediante 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="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Tipo:String
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 que se usan en los shells de línea de comandos porque son específicos del servicio. Se puede especificar cualquier número de opciones.

En el ejemplo siguiente se muestra la sintaxis que pasa los valores 1, 2 y 3 para 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 va a usar cuando el cliente se conecta al servicio WinRM. Cuando el transporte es HTTP, el puerto predeterminado es 80. Cuando el transporte es HTTPS, el puerto predeterminado es 443. Cuando se usa HTTPS como transporte, el valor del parámetro ComputerName debe coincidir con el nombre común (CN) del certificado del servidor. Sin embargo, si el parámetro SkipCNCheck se especifica 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 solo debe usarse para máquinas 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 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://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 instancias de recursos de administración concretas. selectorSet se usa cuando existe más de una instancia del recurso. El valor de SelectorSet debe ser una tabla hash.

En el ejemplo siguiente 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 extendidas para la sesión de WS-Management. Escriba un objeto SessionOption que cree mediante el cmdlet New-WSManSessionOption. 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 permite especificar la protección adicional de HTTPS en lugar de HTTP. Si SSL no está disponible en el puerto que se usa para la conexión y especifica este parámetro, se produce un error en el comando.

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

Este cmdlet no acepta ninguna entrada.

Salidas

None

Este cmdlet no genera ninguna salida.