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 instalacyjny (Install-PowerShellRemoting.ps1) w pliku $PSHome. Te pliki umożliwiają programowi PowerShell akceptowanie przychodzących połączeń zdalnych programu PowerShell po określeniu jego punktu końcowego.

Motywacja

Instalacja programu PowerShell może ustanowić sesje programu PowerShell na komputerach zdalnych przy użyciu poleceń 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 z wyrażeniem zgody, w którym użytkownik uruchamia Install-PowerShellRemoting.ps1 w celu utworzenia punktu końcowego usługi WinRM. Skrypt instalacji jest krótkoterminowym rozwiązaniem do momentu dodania dodatkowych funkcji w celu Enable-PSRemoting wykonania tej samej akcji. Aby uzyskać więcej informacji, zobacz problem nr 1193.

Akcje skryptu

Skrypt

  1. Tworzy katalog dla wtyczki w obrębie $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 zostanie zarejestrowane

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 ponownie uruchamia 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 dla nowego punktu końcowego programu PowerShell, określając wartość -ConfigurationName "some endpoint name". 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-PSSessionEnter-PSSession wywołania, które nie określają -ConfigurationName , będą dotyczyć domyślnego punktu końcowego programu PowerShell, microsoft.powershell.