Connect-WSMan

Se conecta al servicio WinRM en un equipo remoto.

Syntax

Connect-WSMan
       [-ApplicationName <String>]
       [[-ComputerName] <String>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-UseSSL]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]
Connect-WSMan
       [-ConnectionURI <Uri>]
       [-OptionSet <Hashtable>]
       [-Port <Int32>]
       [-SessionOption <SessionOption>]
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El Connect-WSMan cmdlet se conecta al servicio WinRM en un equipo remoto y establece una conexión persistente al equipo remoto. Puede usar este cmdlet en el contexto del proveedor WSMan para conectarse al servicio WinRM en un equipo remoto. Sin embargo, también puede usar este cmdlet para conectar con el servicio WinRM en un equipo remoto antes de cambiar al proveedor WSMan. El equipo remoto aparece en el directorio raíz del proveedor WSMan.

cuando los equipos cliente y servidor están en distintos dominios o grupos de trabajo, se requieren credenciales explícitas.

Para obtener información sobre cómo desconectar del servicio WinRM en un equipo remoto, consulte el Disconnect-WSMan cmdlet .

Ejemplos

Ejemplo 1: Conectar a un equipo remoto

PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Este comando crea una conexión con el equipo remoto server01.

El Connect-WSMan cmdlet se usa generalmente en el contexto del proveedor WSMan para conectarse a un equipo remoto, en este caso el equipo server01. Sin embargo, puede usar este cmdlet para establecer conexiones con equipos remotos antes de cambiar al proveedor de WSMan. Esas conexiones aparecen en la lista NombreDeEquipo .

Ejemplo 2: Conectar a un equipo remoto mediante credenciales de Administración istrator

PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Este comando crea una conexión con el sistema remoto server01 utilizando las credenciales de la cuenta de administrador.

El primer comando usa el cmdlet Get-Credential para obtener las credenciales de Administración istrator y, a continuación, los almacena en la $cred variable . Get-Credential le pide una contraseña de nombre de usuario y contraseña a través de un cuadro de diálogo o en la línea de comandos, según la configuración del Registro del sistema.

El segundo comando usa el parámetro Credential para pasar las credenciales almacenadas en $cred a Connect-WSMan. Connect-WSMana continuación, se conecta al servidor del sistema remoto01 mediante las credenciales de Administración istrator.

Ejemplo 3: Conectar a un equipo remoto a través de un puerto especificado

PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

Este comando crea una conexión con el equipo remoto server01 en el puerto 80.

Ejemplo 4: Conectar a un equipo remoto mediante opciones de conexión

PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\> dir

WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01                                      Container

En este ejemplo se crea una conexión al equipo remoto server01 mediante las opciones de conexión definidas en el New-WSManSessionOption comando .

El primer comando usa New-WSManSessionOption para almacenar un conjunto de opciones de configuración de conexión en la $a variable . En este caso, las opciones de sesión definen un tiempo de espera de conexión 30 segundos (30.000 milisegundos).

El segundo comando usa el parámetro SessionOption para pasar las credenciales almacenadas en la $a variable a Connect-WSMan. A continuación, Connect-WSMan se conecta al equipo remoto server01 mediante las opciones de sesión especificadas.

Parámetros

-ApplicationName

Especifica el nombre de la aplicación en la conexión. El valor predeterminado del parámetro ApplicationName 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. Esta configuración predeterminada de WSMAN es adecuada para la mayoría de los usos. Este parámetro está diseñado para usarse si muchos 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

Especifica el mecanismo de autenticación que se va a usar en el servidor. Los valores permitidos para este parámetro son los siguientes:

  • 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 que la negociación determine 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 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 de usuario del 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.

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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: .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Especifica el equipo en el que se va a 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.

Type:String
Aliases:cn
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

Especifica el extremo de la 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 identificador URI debe ser completo.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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\User01o User@Domain.com. O bien, escriba un objeto PSCredential , como uno devuelto por el Get-Credential cmdlet . Al escribir un nombre de usuario, este cmdlet le pedirá una contraseña.

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OptionSet

Especifica un conjunto de modificadores a un servicio para modificar o refinar la naturaleza de la solicitud. Estos modificadores se asemejan a los que se usan en los shells de línea de comandos porque son específicos del 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}

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 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 equipos de confianza.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

Especifica las opciones extendidas 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, escriba Get-Help New-WSManSessionOption.

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Windows 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.

Notas

Puede ejecutar los comandos de administración o consultar los datos de administración en un equipo remoto sin crear una sesión de WS-Management. Puede hacerlo mediante los parámetros ComputerName de Invoke-WSManAction y Get-WSManInstance. Cuando se usa el parámetro ComputerName , Windows PowerShell crea una conexión temporal que se usa para el comando único. Después de que se ejecute el comando, se cierra la conexión.