Comunicación remota de WS-Management (WSMan) en PowerShell Core
Instrucciones para crear un punto de conexión de comunicación remota
El paquete de PowerShell Core para Windows incluye un complemento WinRM (pwrshplugin.dll) y un script de instalación (Install-PowerShellRemoting.ps1) en $PSHome. Estos archivos permiten que PowerShell acepte conexiones remotas entrantes de PowerShell cuando se especifica su punto de conexión.
Motivación
Una instalación de PowerShell puede establecer sesiones de PowerShell en equipos remotos a través New-PSSession y Enter-PSSession. Para permitirle aceptar conexiones remotas entrantes de PowerShell, el usuario debe crear un punto de conexión de comunicación remota de WinRM. Se trata de un escenario de participación explícito, en el que el usuario ejecuta Install-PowerShellRemoting.ps1 para crear el punto de conexión de WinRM. El script de instalación es una solución a corto plazo, hasta que agreguemos funcionalidad adicional a Enable-PSRemoting para realizar la misma acción. Para más información, vea problema #1193.
Acciones de script
El script
- Crea un directorio para el complemento en
$env:windir\System32\PowerShell - Copia pwrshplugin.dll en esa ubicación.
- Genera un archivo de configuración.
- Registra el complemento con WinRM.
Registro
El script debe ejecutarse en una sesión de PowerShell de nivel de administrador y se ejecuta en dos modos.
Ejecutado por la instancia de PowerShell que registrará
Install-PowerShellRemoting.ps1
Ejecutado por otra instancia de PowerShell en nombre de la instancia que registrará
<path to powershell>\Install-PowerShellRemoting.ps1 -PowerShellHome "<absolute path to the instance's $PSHOME>"
Por ejemplo:
Set-Location -Path 'C:\Program Files\PowerShell\6.0.0\'
.\Install-PowerShellRemoting.ps1 -PowerShellHome "C:\Program Files\PowerShell\6.0.0\"
Nota
El script de registro de comunicación remota reinicia WinRM. Todas las sesiones de PSRP existentes se finalizan de inmediato después de ejecutar el script. Si se ejecuta durante una sesión remota, el script finaliza la conexión.
Cómo conectarse al nuevo punto de conexión
Cree una sesión de PowerShell en el nuevo punto de conexión de PowerShell. Para ello, especifique -ConfigurationName "some endpoint name". Para conectarse a la instancia de PowerShell en el ejemplo anterior, use una de las opciones siguientes:
New-PSSession ... -ConfigurationName "powershell.6.0.0"
Enter-PSSession ... -ConfigurationName "powershell.6.0.0"
Tenga en cuenta que las invocaciones New-PSSession y Enter-PSSession que no especifiquen -ConfigurationName tendrán como destino el punto de conexión predeterminado de PowerShell, microsoft.powershell.