WS-Management (WSMan) voor remoting in PowerShell

Instructies voor het maken van een eindpunt voor remoting

Het PowerShell-pakket voor Windows bevat een WinRM-in plug-in ( ) en een pwrshplugin.dll installatiescript ( Install-PowerShellRemoting.ps1 ) in $PSHome . Met deze bestanden kan PowerShell binnenkomende externe PowerShell-verbindingen accepteren wanneer het eindpunt is opgegeven.

Motivatie

Met een installatie van PowerShell kunnen PowerShell-sessies worden gemaakt op externe computers met New-PSSession behulp van en Enter-PSSession . Als u wilt dat deze binnenkomende externe PowerShell-verbindingen accepteert, moet de gebruiker een WinRM-eindpunt voor externe toegang maken. Dit is een expliciet opt-in scenario waarin de gebruiker een Install-PowerShellRemoting.ps1 het WinRM-eindpunt te maken. Het installatiescript is een kortetermijnoplossing totdat we extra functionaliteit toevoegen om Enable-PSRemoting dezelfde actie uit te voeren. Zie probleem #1193voor meer informatie.

Scriptacties

Het script

  1. Hiermee maakt u een map voor de in plug-in in $env:windir\System32\PowerShell
  2. Kopieert pwrshplugin.dll naar die locatie
  3. Genereert een configuratiebestand
  4. Registreert die in plug-in met WinRM

Registratie

Het script moet worden uitgevoerd in een PowerShell-sessie op beheerdersniveau en wordt uitgevoerd in twee modi.

Uitgevoerd door het exemplaar van PowerShell dat wordt geregistreerd

Install-PowerShellRemoting.ps1

Uitgevoerd door een andere instantie van PowerShell namens het exemplaar dat wordt geregistreerd

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

Bijvoorbeeld:

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

Notitie

WinRM wordt opnieuw gestart met het script voor registratie op basis van een andere computer. Alle bestaande PSRP-sessies worden onmiddellijk beƫindigd nadat het script is uitgevoerd. Als het script wordt uitgevoerd tijdens een externe sessie, wordt de verbinding beƫindigd.

Een Verbinding maken het nieuwe eindpunt

Maak een PowerShell-sessie naar het nieuwe PowerShell-eindpunt door op te -ConfigurationName "some endpoint name" geven. Als u vanuit het bovenstaande voorbeeld verbinding wilt maken met het PowerShell-exemplaar, gebruikt u een van de volgende:

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

Houd er rekening New-PSSession mee Enter-PSSession dat en aanroepen die niet worden opgegeven, gericht -ConfigurationName zijn op het standaard PowerShell-eindpunt, microsoft.powershell .