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

  1. Crea un directorio para el complemento en $env:windir\System32\PowerShell
  2. Copia pwrshplugin.dll en esa ubicación.
  3. Genera un archivo de configuración.
  4. 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.