komunikacja zdalna WS-Management (WSMan) w programie PowerShell

Instrukcje dotyczące tworzenia punktu końcowego komunikacji wirtualnej

Pakiet programu PowerShell dla systemu Windows zawiera wtyczkę WinRM (pwrshplugin.dll) i skrypt instalacji (Install-PowerShellRemoting.ps1) w programie $PSHome. Te pliki umożliwiają programowi PowerShell akceptowanie przychodzących połączeń zdalnych programu PowerShell po określeniu punktu końcowego.

Motywacja

Instalacja programu PowerShell może ustanowić sesje programu PowerShell na komputerach zdalnych przy użyciu programu New-PSSession i Enter-PSSession. Aby umożliwić akceptowanie przychodzących połączeń zdalnych programu PowerShell, użytkownik musi utworzyć punkt końcowy komunikacji zdalnej usługi WinRM. Jest to jawny scenariusz zgody, w którym użytkownik uruchamia Install-PowerShellRemoting.ps1 w celu utworzenia punktu końcowego usługi WinRM. Skrypt instalacji jest rozwiązaniem krótkoterminowym, dopóki nie dodamy dodatkowych funkcji, aby Enable-PSRemoting wykonać tę samą akcję. Aby uzyskać więcej informacji, zobacz problem nr 1193.

Akcje skryptu

Skrypt

  1. Tworzy katalog dla wtyczki w programie $env:windir\System32\PowerShell
  2. Kopiuje pwrshplugin.dll do tej lokalizacji
  3. Generuje plik konfiguracji
  4. Rejestruje, że wtyczka z usługą WinRM

Rejestracja

Skrypt musi być wykonywany w sesji programu PowerShell na poziomie administratora i uruchamiany w dwóch trybach.

Wykonywane przez wystąpienie programu PowerShell, które zarejestruje

Install-PowerShellRemoting.ps1

Wykonywane przez inne wystąpienie programu PowerShell w imieniu wystąpienia, które zostanie zarejestrowane

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

Na przykład:

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

Uwaga

Skrypt rejestracji komunikacji wirtualnej uruchamia ponownie usługę WinRM. Wszystkie istniejące sesje psRP są przerywane natychmiast po uruchomieniu skryptu. Jeśli zostanie uruchomiona podczas sesji zdalnej, skrypt zakończy połączenie.

Jak nawiązać połączenie z nowym punktem końcowym

Utwórz sesję programu PowerShell w nowym punkcie końcowym programu PowerShell, określając -ConfigurationName "some endpoint name"wartość . Aby nawiązać połączenie z wystąpieniem programu PowerShell z powyższego przykładu, użyj jednego z następujących poleceń:

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

Należy pamiętać, że New-PSSession wywołania Enter-PSSession , które nie określają -ConfigurationName , będą dotyczyć domyślnego punktu końcowego programu PowerShell, microsoft.powershell.