Búsqueda de sitios web

Comunicación remota con PowerShell: cómo conectarse a hosts remotos en un entorno de dominio y sin dominio (hosts de confianza)


En este artículo voy a mostrar cómo conectarse a hosts remotos y cómo configurar la lista de Hosts confiables. Porque con la introducción de Windows Server Core y Nanoserver, la importancia de Windows PowerShell Remoting ha aumentado.

Para la comunicación remota, también puede utilizar Escritorio remoto, como se describe en mi artículo: Cómo habilitar Escritorio remoto y establecer una sesión de Escritorio remoto (Windows 10/Windows Server). Pero este artículo trata sobre PowerShell Remoting.

Enter-PSSession

He iniciado sesión en una computadora cliente como administrador de dominio. Ahora intento conectarme al servidor spagr02, que se encuentra en el mismo dominio que yo. spagr02 ejecuta Windows Server 2016. En Windows Server 2012/2016, la administración remota está habilitada de forma predeterminada. En Windows Server 2008, ejecute winrm qc para habilitar la administración remota.

Enter-PSSession -ComputerName spagr02

Funciona a las mil maravillas. En un entorno de dominio.

La lista de Hosts Confiables con IPv4

Si las computadoras no están en un dominio compartido, la información de autenticación se debe proporcionar con el parámetro -credential y ambas computadoras deben confiar entre sí. Palabra clave: TrustedHosts!

Tenemos que configurar Trusted Hosts en ambas computadoras. Tienen que confiar unos en otros para establecer una conexión remota.

Set-Item wsman:\localhost\client\TrustedHosts -Value 192.168.0.103 -Force

Luego intente conectarse al host remoto utilizando el parámetro Credencial.

Enter-PSSession -ComputerName HostName -Credential nano500\administrator

La lista de Hosts Confiables con IPv6

Para configurar Trusted Hosts con IPv6 tenemos que colocar la Dirección IPv6 Link-Local entre paréntesis.

Set-Item wsman:\localhost\client\TrustedHosts -Value [fe80::bc11:fa91:8674:99ba] -Force
Enter-PSSession -ComputerName fe80::bc11:fa91:8674:99ba -Credential nano500\administrator

La seguridad está sobreestimada - Configurar * ?

La lista de hosts de confianza también se puede configurar en formato *. Entonces todas las computadoras pueden establecer una sesión remota con el host.

Set-Item wsman:\localhost\client\TrustedHosts -Value * -Force

Pensamientos adicionales

La mayoría de los cmdlets de PowerShell admiten el parámetro -ComputerName. Para comprobar el software instalado en hosts remotos, es más fácil ejecutar un One-Liner con el parámetro -ComputerName, en lugar de establecer una sesión remota: Windows Server: enumera todas las funciones y funciones instaladas mediante PowerShell

Si no le gusta SSH, utilice la función remota integrada de PowerShell, que describí en mi artículo: PowerShell: use SSH para conectarse a hosts remotos (Posh-SSH)

Artículos relacionados