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 cmdlet Connect-WSMan
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 conectarse al servicio WinRM en un equipo remoto antes de cambiar al proveedor WSMan. El equipo remoto aparece en el directorio raíz del proveedor WSMan.
Las credenciales explícitas son necesarias cuando los equipos cliente y servidor están en dominios o grupos de trabajo diferentes.
Para obtener información sobre cómo desconectar del servicio WinRM en un equipo remoto, consulte el cmdlet Disconnect-WSMan
.
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 al equipo remoto server01.
El cmdlet Connect-WSMan
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 el cmdlet para establecer conexiones a equipos remotos antes de cambiar al proveedor WSMan. Esas conexiones aparecen en la lista de 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 servidor del sistema remoto01 mediante 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 variable $cred
.
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
después 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 al equipo remoto server01 a través del 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 comando New-WSManSessionOption
.
El primer comando usa New-WSManSessionOption
para almacenar un conjunto de opciones de configuración de conexión en la variable $a
. En este caso, las opciones de sesión establecen un tiempo de espera de conexión de 30 segundos (30 000 milisegundos).
El segundo comando usa el parámetro SessionOption para pasar las credenciales almacenadas en la variable $a
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 del punto de conexión remoto tiene el siguiente formato:
<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 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 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 aceptables para este parámetro 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
: 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. -
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 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.
Cautela
CredSSP delega las credenciales de usuario del 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 |
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 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 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 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: | 0 |
Valor predeterminado: | None |
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 el siguiente:
<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 |
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 de PSCredential, como uno devuelto por el cmdlet Get-Credential
. 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 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: | False |
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 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 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, 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 ninguna salida.
Notas
Puede ejecutar comandos de administración o consultar datos de administración en un equipo remoto sin crear una sesión de WS-Management. Para ello, use los parámetros de 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. Una vez que se ejecuta el comando, se cierra la conexión.