WS-Management (WSMan) fjärrkommunikation i PowerShell

Anvisningar för att skapa en fjärrkommunikationsslutpunkt

PowerShell-paketet för Windows innehåller ett WinRM-plugin-program ( pwrshplugin.dll ) och ett installationsskript ( ) i Install-PowerShellRemoting.ps1 $PSHome . Dessa filer gör det möjligt för PowerShell att acceptera inkommande PowerShell-fjärranslutningar när dess slutpunkt har angetts.

Motivation

En installation av PowerShell kan upprätta PowerShell-sessioner till fjärrdatorer med New-PSSession hjälp av och Enter-PSSession . För att den ska kunna acceptera inkommande PowerShell-fjärranslutningar måste användaren skapa en WinRM-fjärrkommunikationsslutpunkt. Det här är ett explicit scenario där användaren kör Install-PowerShellRemoting.ps1 för att skapa WinRM-slutpunkten. Installationsskriptet är en kortsiktig lösning tills vi lägger till ytterligare funktioner Enable-PSRemoting för att utföra samma åtgärd. Mer information finns i problem #1193.

Skriptåtgärder

Skriptet

  1. Skapar en katalog för plugin-programmet i $env:windir\System32\PowerShell
  2. Kopierar pwrshplugin.dll till den platsen
  3. Genererar en konfigurationsfil
  4. Registrerar det plugin-programmet med WinRM

Registrering

Skriptet måste köras i en PowerShell-session på administratörsnivå och köras i två lägen.

Körs av PowerShell-instansen som den kommer att registrera

Install-PowerShellRemoting.ps1

Körs av en annan instans av PowerShell för den instans som den ska registrera

<path to powershell>\Install-PowerShellRemoting.ps1 -PowerShellHome "<absolute path to the instance's $PSHOME>"

Till exempel:

Set-Location -Path 'C:\Program Files\PowerShell\6.0.0\'
.\Install-PowerShellRemoting.ps1 -PowerShellHome "C:\Program Files\PowerShell\6.0.0\"

Anteckning

Registreringsskriptet för fjärrkommunikation startar om WinRM. Alla befintliga PSRP-sessioner avslutas omedelbart efter att skriptet har körts. Om det körs under en fjärrsession avslutar skriptet anslutningen.

Så här Anslut till den nya slutpunkten

Skapa en PowerShell-session till den nya PowerShell-slutpunkten genom att ange -ConfigurationName "some endpoint name" . Om du vill ansluta till PowerShell-instansen från exemplet ovan använder du antingen:

New-PSSession ... -ConfigurationName "powershell.6.0.0"
Enter-PSSession ... -ConfigurationName "powershell.6.0.0"

Observera att New-PSSession Enter-PSSession anrop som inte anger kommer att rikta in -ConfigurationName sig på PowerShell-standardslutpunkten, microsoft.powershell .