Udostępnij za pośrednictwem


about_Remote_Requirements

Krótki opis

Opisuje wymagania systemowe i wymagania konfiguracji dotyczące uruchamiania poleceń zdalnych w programie PowerShell.

Długi opis

W tym temacie opisano wymagania systemowe, wymagania użytkownika i wymagania dotyczące zasobów dotyczące nawiązywania połączeń zdalnych i uruchamiania poleceń zdalnych w programie PowerShell. Zawiera również instrukcje dotyczące konfigurowania operacji zdalnych.

Nuta

Niektóre polecenia cmdlet pobierają obiekty z komputerów zdalnych połączenia RPC lub sesje WMI dla połączeń zdalnych. Nie używają infrastruktury komunikacji zdalnej programu PowerShell. Wymagania w tym dokumencie nie mają zastosowania do tych poleceń cmdlet.

Aby znaleźć polecenia cmdlet z parametrem ComputerName, ale nie używają komunikacji zdalnej programu PowerShell, przeczytaj opis parametru ComputerName poleceń cmdlet.

Wymagania systemowe

W systemie Windows komunikacja zdalna programu PowerShell korzysta z funkcji Zdalne zarządzanie systemem Windows (WinRM), która jest dostarczana przez program Windows Management Framework (WMF). Aby uruchomić sesje zdalne w programie PowerShell, komputery lokalne i zdalne muszą mieć następujące elementy:

  • Windows PowerShell 3.0 lub nowszy
  • Program Microsoft .NET Framework 4 lub nowszy
  • Zdalne zarządzanie systemem Windows w wersji 3.0 lub nowszej

Aby uruchomić sesje zdalne w programie Windows PowerShell 2.0, komputery lokalne i zdalne muszą mieć następujące elementy:

  • Windows PowerShell 2.0 lub nowszy
  • Program Microsoft .NET Framework 2.0 lub nowszy
  • Zdalne zarządzanie systemem Windows 2.0

Aby być w pełni obsługiwanym, należy użyć programu WMF 5.1. Aby uzyskać więcej informacji na temat obsługi programu WMF, zobacz Windows Management Framework (WMF).

Sesję zdalną można utworzyć między komputerem z uruchomionym programem Windows PowerShell 2.0 a jedną z nowszą wersją programu PowerShell. Jednak funkcje uruchamiane tylko w nowych wersjach programu PowerShell, takich jak możliwość odłączania i ponownego nawiązywania połączenia z sesjami, są dostępne tylko wtedy, gdy oba komputery korzystają z programu Windows PowerShell 3.0 lub nowszego.

Aby znaleźć numer wersji zainstalowanej wersji programu PowerShell, użyj zmiennej automatycznej $PSVersionTable.

Program PowerShell 7 lub nowszy obsługuje również zdalną obsługę programu PowerShell za pośrednictwem protokołu SSH. Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH umożliwia łączenie się z dowolnym hostem systemu Windows, macOS lub Linux z uruchomionym protokołem SSH. Aby uzyskać więcej informacji, zobacz komunikacji zdalnej programu PowerShell za pośrednictwem protokołu SSH.

Uprawnienia użytkownika

Aby utworzyć sesje zdalne i uruchomić polecenia zdalne, połącz się z kontem użytkownika, które jest członkiem grupy Administratorzy lub Użytkownicy zdalnego zarządzania na komputerze zdalnym.

Uprawnienia wymagane do tworzenia sesji i uruchamiania poleceń na komputerze zdalnym są ustanawiane przez konfigurację sesji. Konfiguracja sesji definiuje opcje konfiguracji dla punktu końcowego połączenia na komputerze zdalnym. W szczególności deskryptor zabezpieczeń w konfiguracji sesji określa, kto ma dostęp do konfiguracji sesji i kto może używać go do nawiązywania połączenia.

Deskryptory zabezpieczeń w domyślnych konfiguracjach sesji, Microsoft.PowerShell i Microsoft.PowerShell32, zezwalają na dostęp tylko członkom grupy Administratorzy.

Członkowie grupy administratorzy na komputerze mogą określić, kto ma uprawnienia do zdalnego łączenia się z komputerem, zmieniając deskryptory zabezpieczeń w domyślnych konfiguracjach sesji lub tworząc nowe konfiguracje sesji z różnymi deskryptorami zabezpieczeń. Użytkownicy mogą używać parametru ConfigurationName poleceń cmdlet *-PSSession w celu nawiązania połączenia z różnymi punktami końcowymi.

Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz about_Session_Configurations.

Lokalizacje sieciowe systemu Windows

Począwszy od programu Windows PowerShell 3.0, polecenie cmdlet Enable-PSRemoting może włączyć komunikacji zdalnej na klientach i serwerach wersji systemu Windows.

W wersjach serwera systemu Windows z sieciami prywatnymi i domenowymi polecenie cmdlet Enable-PSRemoting tworzy reguły zapory, które zezwalają na nieograniczony dostęp zdalny. Tworzy również regułę zapory dla sieci publicznych, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej. Ta reguła zapory podsieci lokalnej jest domyślnie włączona w wersjach serwera systemu Windows w sieciach publicznych, ale Enable-PSRemoting ponownie tworzy regułę w przypadku zmiany lub usunięcia.

W wersjach klienta systemu Windows z sieciami prywatnymi i domenowymi Enable-PSRemoting tworzy reguły zapory, które zezwalają na nieograniczony dostęp zdalny.

Aby włączyć komunikacja zdalną w wersjach klienta systemu Windows z sieciami publicznymi, użyj parametru SkipNetworkProfileCheck polecenia cmdlet Enable-PSRemoting. Ta opcja tworzy regułę zapory, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.

Aby usunąć ograniczenie podsieci lokalnej w sieciach publicznych i zezwolić na dostęp zdalny ze wszystkich lokalizacji w wersjach klienta i serwera systemu Windows, użyj polecenia cmdlet Set-NetFirewallRule w module NetSecurity. Uruchom następujące polecenie:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Nuta

Nazwa reguły zapory może być inna dla różnych wersji systemu Windows. Użyj Get-NetFirewallRule, aby wyświetlić listę reguł. Przed włączeniem reguły zapory wyświetl ustawienia zabezpieczeń w regule, aby sprawdzić, czy konfiguracja jest odpowiednia dla danego środowiska.

W programie Windows PowerShell 2.0 w wersjach serwera systemu Windows Enable-PSRemoting tworzy reguły zapory, które zezwalają na dostęp zdalny we wszystkich sieciach.

W programie Windows PowerShell 2.0 w wersjach klienckich systemu Windows Enable-PSRemoting tworzy reguły zapory tylko w sieciach prywatnych i domenowych. Jeśli lokalizacja sieciowa jest publiczna, Enable-PSRemoting zakończy się niepowodzeniem.

Uruchom jako administrator

Uprawnienia administratora są wymagane w przypadku następujących operacji komunikacji zdalniej:

  • Ustanawianie połączenia zdalnego z komputerem lokalnym. Jest to często nazywane scenariuszem "sprzężenia zwrotnego".
  • Zarządzanie konfiguracjami sesji na komputerze lokalnym.
  • Wyświetlanie i zmienianie ustawień WS-Management na komputerze lokalnym. Są to ustawienia w węźle LocalHost dysku WSMan: .

Należy uruchomić program PowerShell z opcją Uruchom jako administrator, nawet jeśli jesteś członkiem grupy administratorów na komputerze lokalnym.

Po uruchomieniu programu Windows PowerShell z innego programu, takiego jak cmd.exe, użyj opcji Uruchom jako administrator, aby uruchomić program.

Jak skonfigurować komputer do komunikacji zdalnie

Komputery z dowolną obsługiwaną wersją systemu Windows mogą nawiązywać połączenia zdalne i uruchamiać polecenia zdalne w programie PowerShell bez żadnej konfiguracji. Jednak aby odbierać połączenia zdalne, należy włączyć komunikacji zdalnej programu PowerShell na komputerze.

System Windows Server 2012 i nowsze wersje systemu Windows Server są domyślnie włączone na potrzeby komunikacji zdalnej programu PowerShell. Jeśli ustawienia zostaną zmienione, możesz przywrócić ustawienia domyślne, uruchamiając polecenie cmdlet Enable-PSRemoting.

Domyślnie funkcje komunikacji zdalnej programu PowerShell są obsługiwane przez usługę WinRM, która jest implementacją przez firmę Microsoft protokołu Web Services for Management (WS-Management). Po włączeniu komunikacji zdalnej programu PowerShell należy zmienić domyślną konfigurację WS-Management i dodać konfigurację systemu, która umożliwia użytkownikom łączenie się z usługą WS-Management.

Aby skonfigurować program PowerShell do odbierania poleceń zdalnych:

  1. Uruchom program PowerShell z opcją Uruchom jako administrator.
  2. W wierszu polecenia wpisz: Enable-PSRemoting

Aby sprawdzić, czy komunikacja zdalna jest poprawnie skonfigurowana, uruchom polecenie testowe, takie jak następujące polecenie, które tworzy sesję zdalną na komputerze lokalnym.

New-PSSession

Jeśli komunikacja zdalna jest skonfigurowana poprawnie, polecenie tworzy sesję na komputerze lokalnym i zwraca obiekt reprezentujący sesję.

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Jeśli polecenie zakończy się niepowodzeniem, zobacz about_Remote_Troubleshooting.

Protokół komunikacji zdalnej programu PowerShell (PSRP) wymaga bezpiecznej warstwy transportu na potrzeby bezpiecznego transferu danych. Aby uzyskać więcej informacji, zobacz Bezpieczny transfer danych w sekcji Komunikacji zdalnej programu PowerShellfunkcji zabezpieczeń programu PowerShell.

Omówienie zasad

Podczas pracy zdalnej należy użyć dwóch wystąpień programu PowerShell, jednego na komputerze lokalnym i jednego na komputerze zdalnym. W związku z tym praca ma wpływ na zasady systemu Windows i programu PowerShell zarówno na komputerach lokalnych, jak i zdalnych.

Przed nawiązaniem połączenia i nawiązaniem połączenia obowiązują zasady na komputerze lokalnym. W przypadku korzystania z połączenia zasady na komputerze zdalnym obowiązują.

Zobacz także