WS-Management (WSMan) Remoting in PowerShell
Anweisungen zum Erstellen eines Remoting-Endpunkts
Das PowerShell-Paket für Windows enthält ein WinRM-Plug-In (pwrshplugin.dll
) und ein Installationsskript (Install-PowerShellRemoting.ps1
) in $PSHome
. Diese Dateien ermöglichen PowerShell eingehende PowerShell-Remoteverbindungen anzunehmen, wenn ihr Endpunkt angegeben ist.
Motivation
Eine PowerShell-Installation kann mithilfe von New-PSSession
und Enter-PSSession
PowerShell-Sitzungen mit Remotecomputern erstellen. Der Benutzer muss zunächst einen WinRM-Remoting-Endpunkt erstellen, um PowerShell das Annehmen von eingehenden Remoteverbindungen zu erlauben. Dies ist ein Szenario mit expliziter Anmeldung, bei dem der Benutzer „Install-PowerShellRemoting.ps1“ ausführt, um den WinRM-Endpunkt zu erstellen. Das Installationsskript ist eine kurzfristige Lösung, bis Enable-PSRemoting
eine zusätzliche Funktion hinzugefügt wird, um diese Aktion auszuführen. Weitere Informationen finden Sie im Ticket #1193.
Skriptaktionen
Das Skript
- Erstellt ein Verzeichnis für das Plug-In unter
$env:windir\System32\PowerShell
- Kopiert „Pwrshplugin.dll“ an diesen Speicherort
- Erstellt eine Konfigurationsdatei
- Registriert das Plug-In für WinRM
Registrierung
Das Skript muss in einer PowerShell-Sitzung auf Administratorebene ausgeführt werden, und wird in zwei Modi ausgeführt.
Wird durch die PowerShell-Instanz ausgeführt, die es registriert
Install-PowerShellRemoting.ps1
Wird durch eine andere PowerShell-Instanz für die Instanz ausgeführt, die registriert wird
<path to powershell>\Install-PowerShellRemoting.ps1 -PowerShellHome "<absolute path to the instance's $PSHOME>"
Beispiel:
Set-Location -Path 'C:\Program Files\PowerShell\6.0.0\'
.\Install-PowerShellRemoting.ps1 -PowerShellHome "C:\Program Files\PowerShell\6.0.0\"
Hinweis
Das Remoting-Registrierungsskript führt einen Neustart von WinRM aus. Alle vorhandenen PSRP-Sitzungen werden unmittelbar nach ausführung des Skripts beendet. Wenn es während einer Remotesitzung ausgeführt wird, beendet das Skript die Verbindung.
Herstellen einer Verbindung mit dem neuen Endpunkt
Erstellen Sie eine PowerShell-Sitzung mit dem neuen PowerShell-Endpunkt, indem Sie -ConfigurationName "some endpoint name"
angeben. Verwenden Sie zum Verbinden mit der PowerShell-Instanz aus dem obigen Beispiel einen dieser Aufrufe:
New-PSSession ... -ConfigurationName "powershell.6.0.0"
Enter-PSSession ... -ConfigurationName "powershell.6.0.0"
Beachten Sie, dass New-PSSession
- und Enter-PSSession
-Aufrufe, die nicht angegeben -ConfigurationName
werden, auf den PowerShell-Standardendpunkt abzielen, microsoft.powershell
.