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.
Uwaga
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, które mają parametr 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 Komunikacja zdalna programu PowerShell za pośrednictwem protokołu SSH.
Uprawnienia użytkownika
Aby utworzyć sesje zdalne i uruchomić polecenia zdalne, domyślnie bieżący użytkownik musi być członkiem grupy Administracja istratorów na komputerze zdalnym lub podać poświadczenia administratora. W przeciwnym razie polecenie koń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 Administracja istratorów.
Członkowie grupy Administracja istratorów 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 *-PSSession
ConfigurationName poleceń cmdlet do łączenia się 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 programu Windows PowerShell 3.0, Enable-PSRemoting
polecenie cmdlet może włączyć komunikacji zdalnej 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 Enable-PSRemoting
prywatnymi i domenowymi 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 Enable-PSRemoting
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. Służy Get-NetFirewallRule
do wyświetlania listy 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
reguły zapory są tworzone tylko w sieciach prywatnych i domenowych. Jeśli lokalizacja sieciowa jest publiczna, Enable-PSRemoting
kończy się niepowodzeniem.
Uruchom jako administrator
W przypadku następujących operacji komunikacji zdalniej wymagane są uprawnienia Administracja istratora:
- 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ń zarządzania WS 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 Administracja istrators 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 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ę usługi 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 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ą.