Enable-PSRemoting
Konfiguruje komputer do odbierania poleceń zdalnych.
Składnia
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Enable-PSRemoting
cmdlet konfiguruje komputer do odbierania poleceń zdalnych programu PowerShell wysyłanych przy użyciu technologii WS-Management.
Komunikacja zdalna programu PowerShell jest domyślnie włączona w systemie Windows Server 2012. Można użyć Enable-PSRemoting
do włączenia komunikacji zdalnej programu PowerShell w innych obsługiwanych wersjach systemu Windows i ponownego włączenia komunikacji zdalnej w systemie Windows Server 2012, jeśli stanie się wyłączony.
To polecenie należy uruchomić tylko raz na każdym komputerze, który będzie otrzymywać polecenia. Nie trzeba uruchamiać go na komputerach, które wysyłają tylko polecenia. Ponieważ konfiguracja uruchamia odbiorniki, rozsądne jest uruchomienie go tylko tam, gdzie jest to konieczne.
Począwszy od programu PowerShell 3.0, Enable-PSRemoting
polecenie cmdlet może włączyć komunikacji zdalnej programu PowerShell w wersjach klienta systemu Windows, gdy komputer znajduje się w sieci publicznej. Aby uzyskać więcej informacji, zobacz opis parametru SkipNetworkProfileCheck .
Polecenie Enable-PSRemoting
cmdlet wykonuje następujące operacje:
- Uruchamia polecenie cmdlet Set-WSManQuickConfig, które wykonuje następujące zadania:
- Uruchamia usługę WinRM.
- Ustawia typ uruchamiania w usłudze WinRM na Wartość Automatyczna.
- Tworzy odbiornik do akceptowania żądań na dowolnym adresie IP.
- Włącza wyjątek zapory dla komunikacji WS-Management.
- Rejestruje konfiguracje sesji Microsoft.PowerShell i Microsoft.PowerShell.Workflow , jeśli nie zostały jeszcze zarejestrowane.
- Rejestruje konfigurację sesji Microsoft.PowerShell32 na komputerach 64-bitowych, jeśli nie została jeszcze zarejestrowana.
- Włącza wszystkie konfiguracje sesji.
- Zmienia deskryptor zabezpieczeń wszystkich konfiguracji sesji, aby zezwolić na dostęp zdalny.
- Uruchamia ponownie usługę WinRM, aby wprowadzić poprzednie zmiany w życie.
Aby uruchomić to polecenie cmdlet na platformie Windows, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator. Nie dotyczy to wersji programu PowerShell dla systemu Linux lub MacOS.
Uwaga
W systemach z programem PowerShell 3.0 i programem PowerShell 2.0 nie należy używać programu PowerShell 2.0 do uruchamiania Enable-PSRemoting
poleceń cmdlet i Disable-PSRemoting
. Polecenia mogą się wydawać pomyślne, ale komunikacja zdalna nie jest poprawnie skonfigurowana. Zdalne polecenia i późniejsze próby włączenia i wyłączenia komunikacji zdalnej mogą zakończyć się niepowodzeniem.
Przykłady
Przykład 1. Konfigurowanie komputera do odbierania poleceń zdalnych
To polecenie konfiguruje komputer do odbierania poleceń zdalnych.
Enable-PSRemoting
Przykład 2. Konfigurowanie komputera do odbierania poleceń zdalnych bez monitu o potwierdzenie
To polecenie konfiguruje komputer do odbierania poleceń zdalnych. Parametr Force pomija monity użytkownika.
Enable-PSRemoting -Force
Przykład 3. Zezwalanie na dostęp zdalny na klientach
W tym przykładzie pokazano, jak zezwolić na dostęp zdalny z sieci publicznych w wersjach klienckich systemu operacyjnego Windows. 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.
Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Domyślnie tworzy reguły sieciowe, Enable-PSRemoting
które zezwalają na dostęp zdalny z sieci prywatnych i domen. Polecenie używa parametru SkipNetworkProfileCheck , aby zezwolić na dostęp zdalny z sieci publicznych w tej samej podsieci lokalnej. Polecenie określa parametr Force w celu pomijania komunikatów potwierdzenia.
Parametr SkipNetworkProfileCheck nie ma wpływu na wersje serwera systemu operacyjnego Windows, które domyślnie zezwalają na dostęp zdalny z sieci publicznych w tej samej podsieci lokalnej.
Polecenie Set-NetFirewallRule
cmdlet w module NetSecurity dodaje regułę zapory, która umożliwia zdalny dostęp z sieci publicznych z dowolnej lokalizacji zdalnej. Obejmuje to lokalizacje w różnych podsieciach.
Uwaga
Nazwa reguły zapory może być różna w zależności od wersji systemu Windows. Get-NetFirewallRule
Użyj polecenia cmdlet , aby wyświetlić listę nazw reguł w systemie.
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SkipNetworkProfileCheck
Wskazuje, że to polecenie cmdlet umożliwia komunikacja zdalną na klientach wersji systemu operacyjnego Windows, gdy komputer znajduje się w sieci publicznej. Ten parametr umożliwia regułę zapory dla sieci publicznych, która zezwala na dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.
Ten parametr nie ma wpływu na wersje serwera systemu operacyjnego Windows, które domyślnie mają regułę zapory podsieci lokalnej dla sieci publicznych. Jeśli reguła zapory podsieci lokalnej jest wyłączona w wersji serwera, ponownie ją włączy, Enable-PSRemoting
niezależnie od wartości tego parametru.
Aby usunąć ograniczenie podsieci lokalnej i włączyć dostęp zdalny ze wszystkich lokalizacji w sieciach publicznych, użyj Set-NetFirewallRule
polecenia cmdlet w module NetSecurity .
Ten parametr został wprowadzony w programie PowerShell 3.0.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca ciągi, które opisują jego wyniki.
Uwagi
W programie PowerShell 3.0 Enable-PSRemoting
tworzone są następujące wyjątki zapory dla komunikacji WS-Management.
W wersjach serwera systemu Enable-PSRemoting
operacyjnego Windows tworzy reguły zapory dla sieci prywatnych i domen, które zezwalają na dostęp zdalny, i tworzy regułę zapory dla sieci publicznych, które umożliwiają dostęp zdalny tylko z komputerów w tej samej podsieci lokalnej.
W wersjach klienckich systemu Enable-PSRemoting
operacyjnego Windows w programie PowerShell 3.0 są tworzone reguły zapory dla sieci prywatnych i domen, które zezwalają na nieograniczony dostęp zdalny. Aby utworzyć regułę zapory dla sieci publicznych, które zezwalają na dostęp zdalny z tej samej podsieci lokalnej, użyj parametru SkipNetworkProfileCheck .
W wersji klienta lub serwera systemu operacyjnego Windows, aby utworzyć regułę zapory dla sieci publicznych, która usuwa ograniczenie podsieci lokalnej i zezwala na dostęp zdalny , użyj Set-NetFirewallRule
polecenia cmdlet w module NetSecurity, aby uruchomić następujące polecenie: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
W programie PowerShell 2.0 Enable-PSRemoting
tworzone są następujące wyjątki zapory dla komunikacji WS-Management.
W wersjach serwera systemu operacyjnego Windows tworzy reguły zapory dla wszystkich sieci, które zezwalają na dostęp zdalny.
W wersjach klienckich systemu Enable-PSRemoting
operacyjnego Windows w programie PowerShell 2.0 jest tworzony wyjątek zapory tylko dla lokalizacji domeny i sieci prywatnej. Aby zminimalizować zagrożenia bezpieczeństwa, Enable-PSRemoting
nie tworzy reguły zapory dla sieci publicznych w wersjach klienckich systemu Windows. Gdy bieżąca lokalizacja sieciowa jest publiczna, Enable-PSRemoting
zwraca następujący komunikat: Nie można sprawdzić stanu zapory.
Począwszy od programu PowerShell 3.0, włącza wszystkie konfiguracje sesji, Enable-PSRemoting
ustawiając wartość właściwości Włączone dla wszystkich konfiguracji sesji na $True
wartość .
W programie PowerShell 2.0 Enable-PSRemoting
usuwa ustawienie Deny_All z deskryptora zabezpieczeń konfiguracji sesji. W programie PowerShell 3.0 Enable-PSRemoting
usuwa ustawienia Deny_All i Network_Deny_All . Zapewnia to zdalny dostęp do konfiguracji sesji, które zostały zarezerwowane do użytku lokalnego.