WS-Management zdalna (WSMan) w programie PowerShell

Instrukcje dotyczące tworzenia punktu końcowego komunikacji zdalnej

Pakiet programu PowerShell dla Windows zawiera wtyczkę Usługi WinRM ( ) i skrypt pwrshplugin.dll instalacyjny ( ) w Install-PowerShellRemoting.ps1 programie $PSHome . Te pliki umożliwiają programowi PowerShell akceptowanie przychodzących połączeń zdalnych programu PowerShell, gdy zostanie określony jego punkt końcowy.

Motywacja

Instalacja programu PowerShell może ustanowić sesje programu PowerShell na komputerach zdalnych przy użyciu New-PSSession programu 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, 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, dopóki nie dodamy do programu dodatkowych funkcji Enable-PSRemoting w celu wykonania tej samej akcji. Aby uzyskać więcej informacji, zobacz problem nr 1193.

Akcje skryptu

Skrypt

  1. Tworzy katalog wtyczki w programie $env:windir\System32\PowerShell
  2. Kopiuje pwrshplugin.dll do tej lokalizacji
  3. Generuje plik konfiguracji
  4. Rejestruje wtyczkę za pomocą usługi 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 zdalnej uruchamia ponownie usługę WinRM. Wszystkie istniejące sesje PSRP są przerywane natychmiast po uruchomieniu skryptu. Jeśli zostanie uruchomiony podczas sesji zdalnej, skrypt zakończy połączenie.

Jak Połączenie do nowego punktu końcowego

Utwórz sesję programu PowerShell dla nowego punktu końcowego programu PowerShell, określając parametr -ConfigurationName "some endpoint name" . Aby nawiązać połączenie z wystąpieniem programu PowerShell z powyższego przykładu, użyj jednej z tych funkcji:

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

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