Connect-WSMan
Se conecta al servicio WinRM en un equipo remoto.
Sintaxis
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: Conexión 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: Conexión a un equipo remoto mediante credenciales de administrador
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 administrador 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-WSMan
a continuación, se conecta al servidor del sistema remoto01 mediante las credenciales de administrador.
Ejemplo 3: Conexión 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: Conexión 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.
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 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.
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 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.
Tipo: | String |
Alias: | cn |
Posición: | 0 |
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 cadena siguiente es un valor con formato correcto para este parámetro:
http://Server01:8080/WSMAN
El identificador URI debe ser completo.
Tipo: | Uri |
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 . Al escribir un nombre de usuario, este cmdlet 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 |
-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}
Tipo: | Hashtable |
Alias: | os |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
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 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.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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
.
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 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.
Tipo: | SwitchParameter |
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
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.