about_Remote_Requirements
Krótki opis
Opisuje wymagania systemowe i wymagania konfiguracyjne 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.
Uwaga
Niektóre polecenia cmdlet pobierają obiekty z komputerów zdalnych połączenia RPC lub sesje WMI dla połączeń zdalnych. Nie korzystają z 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 Windows Management Framework (WMF). Aby uruchomić sesje zdalne w programie PowerShell, komputery lokalne i zdalne muszą mieć następujące elementy:
- Windows PowerShell w wersji 3.0 lub nowszej
- Microsoft .NET Framework 4 lub nowszy
- Zdalne zarządzanie systemem Windows w wersji 3.0 lub nowszej
Aby uruchomić sesje zdalne na Windows PowerShell 2.0, komputery lokalne i zdalne muszą mieć następujące elementy:
- Windows PowerShell w wersji 2.0 lub nowszej
- 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 o obsłudze platformy WMF, zobacz Windows Management Framework (WMF).
Sesję zdalną można utworzyć między komputerem z systemem Windows PowerShell 2.0 i jedną z nowszą wersją programu PowerShell. Jednak funkcje uruchamiane tylko w nowych wersjach programu PowerShell, takich jak możliwość rozłączenia i ponownego nawiązywania połączenia z sesjami, są dostępne tylko wtedy, gdy oba komputery działają Windows PowerShell 3.0 i nowszych.
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ę komunikacji zdalnej programu PowerShell za pośrednictwem protokołu SSH. Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH umożliwia nawiązanie połączenia z dowolnym hostem systemu Windows, macOS lub Linux z uruchomionym protokołem SSH. Aby uzyskać więcej informacji, zobacz Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH.
Uprawnienia użytkowników
Aby tworzyć sesje zdalne i uruchamiać polecenia zdalne, domyślnie bieżący użytkownik musi być członkiem grupy Administratorzy na komputerze zdalnym lub podać poświadczenia administratora. W przeciwnym razie polecenie zakończy się niepowodzeniem.
Uprawnienia wymagane do tworzenia sesji i uruchamiania poleceń na komputerze zdalnym są ustanawiane przez konfigurację sesji. Konfiguracja sesji definiuje opcje konfiguracji 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ą tylko na dostęp do członków 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 do nawiązywania *-PSSession
połączenia z różnymi punktami końcowymi.
Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.
Lokalizacje sieciowe systemu Windows
Począwszy od wersji Windows PowerShell 3.0, Enable-PSRemoting
polecenie cmdlet może włączyć zdalną obsługę zdalną w wersjach klienta i serwera systemu Windows.
W wersjach serwera systemu Windows z sieciami Enable-PSRemoting
prywatnymi i domenowymi polecenie cmdlet 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 klienckich systemu Windows z sieciami prywatnymi i domenowymi tworzy reguły zapory, Enable-PSRemoting
które zezwalają na nieograniczony dostęp zdalny.
Aby włączyć komunikacja zdalną w wersjach klienta systemu Windows z sieciami publicznymi, użyj parametru Enable-PSRemoting
SkipNetworkProfileCheck polecenia cmdlet. 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 Set-NetFirewallRule
polecenia cmdlet w module NetSecurity . Uruchom następujące polecenie:
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Uwaga
Nazwa reguły zapory może być inna dla różnych wersji systemu Windows. Użyj polecenia 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 Windows PowerShell 2.0 w wersjach serwera systemu Windows tworzy reguły zapory, Enable-PSRemoting
które zezwalają na dostęp zdalny we wszystkich sieciach.
W Windows PowerShell 2.0 w wersjach klienckich systemu Windows Enable-PSRemoting
reguły zapory są tworzone tylko w sieciach prywatnych i domenowych. Jeśli lokalizacja sieciowa jest publiczna, Enable-PSRemoting
nie powiedzie się.
Uruchom jako administrator
Uprawnienia administratora są wymagane w przypadku następujących operacji komunikacji zdalniej:
- Nawiązywanie 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: .
Program PowerShell należy uruchomić z opcją Uruchom jako administrator , nawet jeśli jesteś członkiem grupy Administratorzy na komputerze lokalnym.
Po uruchomieniu Windows PowerShell z innego programu, takiego jak cmd.exe
, użyj opcji Uruchom jako administrator, aby uruchomić program.
Jak skonfigurować komputer do komunikacji zdalnej
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.
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 Enable-PSRemoting
polecenie cmdlet .
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:
- Uruchom program PowerShell z opcją Uruchom jako administrator .
- W wierszu polecenia wpisz polecenie:
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.
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 na pracę mają wpływ 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ą.