Enable-PSRemoting
Nakonfiguruje počítač tak, aby přijímal vzdálené příkazy.
Syntaxe
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Tato rutina je dostupná jenom na platformě Windows.
Rutina Enable-PSRemoting
nakonfiguruje počítač tak, aby přijímal vzdálené příkazy PowerShellu, které se odesílají pomocí technologie WS-Management. Vzdálené komunikace PowerShellu založené na WS-Management je aktuálně podporována pouze na platformě Windows.
Vzdálenou komunikace PowerShellu je ve výchozím nastavení povolená na platformách Windows Serveru. Můžete použít Enable-PSRemoting
k povolení vzdálené komunikace PowerShellu v jiných podporovaných verzích Windows a k opětovnému povolení vzdálené komunikace, pokud je zakázaná.
Tento příkaz musíte spustit pouze jednou na každém počítači, který bude přijímat příkazy. Nemusíte ho spouštět na počítačích, které odesílají jenom příkazy. Vzhledem k tomu, že konfigurace spouští naslouchací procesy, aby přijímala vzdálená připojení, je vhodné ji spustit pouze tam, kde je potřeba.
Povolení vzdálené komunikace PowerShellu v klientských verzích Windows, pokud je počítač ve veřejné síti obvykle zakázán, ale toto omezení můžete přeskočit pomocí parametru SkipNetworkProfileCheck . Další informace najdete v popisu parametru SkipNetworkProfileCheck .
Na jednom počítači může existovat několik instalací PowerShellu vedle sebe. Spuštění Enable-PSRemoting
nakonfiguruje koncový bod vzdálené komunikace pro konkrétní verzi instalace, ve které spouštíte rutinu. Pokud tedy spustíte Enable-PSRemoting
PowerShell 6.2, nakonfiguruje se koncový bod vzdálené komunikace, na kterém běží PowerShell 6.2. Pokud spustíte Enable-PSRemoting
PowerShell 7-Preview, nakonfiguruje se koncový bod vzdálené komunikace, na kterém běží PowerShell 7-Preview.
Enable-PSRemoting
podle potřeby vytvoří dvě konfigurace koncového bodu vzdálené komunikace. Pokud konfigurace koncových bodů už existují, jsou jednoduše zajištěno, aby byly povolené. Vytvořené konfigurace jsou identické, ale mají různé názvy. Jeden bude mít jednoduchý název odpovídající verzi PowerShellu, která hostuje relaci. Druhý název konfigurace obsahuje podrobnější informace o verzi PowerShellu, která hostuje relaci. Například při spuštění Enable-PSRemoting
v PowerShellu 6.2 získáte dva nakonfigurované koncové body s názvem PowerShell.6, PowerShell.6.2.2. To vám umožní vytvořit připojení k nejnovější verzi hostitele PowerShellu 6 pomocí jednoduchého názvu PowerShell.6. Nebo se můžete připojit ke konkrétní verzi hostitele PowerShellu pomocí delšího názvu PowerShell.6.2.2.
Pokud chcete použít nově povolené koncové body vzdálené komunikace, musíte je zadat podle názvu pomocí parametru ConfigurationName při vytváření vzdáleného připojení pomocí Invoke-Command
New-PSSession
Enter-PSSession
rutin ,. Další informace naleznete v příkladu 4.
Rutina Enable-PSRemoting
provádí následující operace:
- Spustí rutinu Set-WSManQuickConfig , která provádí následující úlohy:
- Spustí službu WinRM.
- Nastaví typ spuštění ve službě WinRM na Hodnotu Automaticky.
- Vytvoří naslouchací proces pro příjem požadavků na libovolnou IP adresu.
- Povolí výjimku brány firewall pro komunikaci WS-Management.
- V případě potřeby vytvoří jednoduché a dlouhé konfigurace koncových bodů relace s dlouhým názvem.
- Povolí všechny konfigurace relací.
- Změní popisovač zabezpečení všech konfigurací relací tak, aby umožňoval vzdálený přístup.
- Restartuje službu WinRM, aby se předchozí změny projevily.
Pokud chcete tuto rutinu spustit na platformě Windows, spusťte PowerShell pomocí možnosti Spustit jako správce. Tato rutina není dostupná ve verzích PowerShellu pro Linux nebo MacOS.
Upozornění
Tato rutina nemá vliv na konfigurace vzdálených koncových bodů vytvořených prostředím Windows PowerShell.
Týká se to jenom koncových bodů vytvořených pomocí PowerShellu verze 6 a vyšší. Pokud chcete povolit a zakázat koncové body vzdálené komunikace PowerShellu hostované prostředím Windows PowerShell, spusťte rutinu Enable-PSRemoting
z relace Prostředí Windows PowerShell.
Příklady
Příklad 1: Konfigurace počítače pro příjem vzdálených příkazů
Tento příkaz nakonfiguruje počítač tak, aby přijímal vzdálené příkazy.
Enable-PSRemoting
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and
does not affect Windows PowerShell remoting configurations. Run this cmdlet in Windows
PowerShell to affect all PowerShell remoting configurations.
Příklad 2: Konfigurace počítače pro příjem vzdálených příkazů bez výzvy k potvrzení
Tento příkaz nakonfiguruje počítač tak, aby přijímal vzdálené příkazy. Parametr Force potlačí výzvy uživatele.
Enable-PSRemoting -Force
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and
does not affect Windows PowerShell remoting configurations. Run this cmdlet in Windows
PowerShell to affect all PowerShell remoting configurations.
Příklad 3: Povolení vzdáleného přístupu na klientech
Tento příklad ukazuje, jak povolit vzdálený přístup z veřejných sítí v klientských verzích operačního systému Windows. Název pravidla brány firewall se může lišit pro různé verze Windows.
Umožňuje Get-NetFirewallRule
zobrazit seznam pravidel. Před povolením pravidla brány firewall zkontrolujte nastavení zabezpečení v pravidle a ověřte, že je konfigurace vhodná pro vaše prostředí.
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
Ve výchozím nastavení vytvoří pravidla sítě, Enable-PSRemoting
která umožňují vzdálený přístup z privátních a doménových sítí. Příkaz používá parametr SkipNetworkProfileCheck k povolení vzdáleného přístupu z veřejných sítí ve stejné místní podsíti. Příkaz určuje parametr Force pro potlačení potvrzovací zprávy.
Parametr SkipNetworkProfileCheck nemá vliv na verze serveru operačního systému Windows, které ve výchozím nastavení umožňují vzdálený přístup z veřejných sítí ve stejné místní podsíti.
Rutina Set-NetFirewallRule
v modulu NetSecurity přidá pravidlo brány firewall, které umožňuje vzdálený přístup z veřejných sítí z libovolného vzdáleného umístění. To zahrnuje umístění v různých podsítích.
Příklad 4: Vytvoření vzdálené relace s nově povolenou konfigurací koncového bodu
Tento příklad ukazuje, jak povolit vzdálenou vzdálenou komunikace PowerShellu na počítači, najít nakonfigurované názvy koncových bodů a vytvořit vzdálenou relaci s jedním z koncových bodů.
První příkaz povolí vzdálené komunikace PowerShellu v počítači.
Druhý příkaz zobrazí seznam konfigurací koncových bodů.
Třetí příkaz vytvoří vzdálenou relaci PowerShellu na stejném počítači a určí koncový bod PowerShell.7 podle názvu. Vzdálená relace bude hostovaná s nejnovější verzí PowerShellu 7 (7.3.0).
Poslední příkaz přistupuje k $PSVersionTable
proměnné ve vzdálené relaci, aby se zobrazila verze PowerShellu, která je hostitelem relace.
Enable-PSRemoting -Force
Get-PSSessionConfiguration
$session = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $session -ScriptBlock { $PSVersionTable }
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and
does not affect Windows PowerShell remoting configurations. Run this cmdlet in Windows
PowerShell to affect all PowerShell remoting configurations.
Name : PowerShell.7
PSVersion : 7.3
StartupScript :
RunAsUser :
Permission : NT AUTHORITY\INTERACTIVE AccessAllowed,
BUILTIN\Administrators AccessAllowed,
BUILTIN\Remote Management Users AccessAllowed
Name : PowerShell.7.3.0
PSVersion : 7.3
StartupScript :
RunAsUser :
Permission : NT AUTHORITY\INTERACTIVE AccessAllowed,
BUILTIN\Administrators AccessAllowed,
BUILTIN\Remote Management Users AccessAllowed
Name Value
---- -----
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSEdition Core
PSRemotingProtocolVersion 2.3
Platform Win32NT
SerializationVersion 1.1.0.1
GitCommitId 6.2.2
WSManStackVersion 3.0
PSVersion 6.2.2
OS Microsoft Windows 10.0.18363
Poznámka:
Název pravidla brány firewall se může lišit v závislosti na verzi Windows. Pomocí rutiny Get-NetFirewallRule
můžete vypsat názvy pravidel ve vašem systému.
Parametry
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Force
Vynutí spuštění příkazu bez výzvy k potvrzení uživatele.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SkipNetworkProfileCheck
Označuje, že tato rutina umožňuje vzdálené komunikace v klientských verzích operačního systému Windows, když je počítač ve veřejné síti. Tento parametr povolí pravidlo brány firewall pro veřejné sítě, které povolí vzdálený přístup jenom z počítačů ve stejné místní podsíti.
Tento parametr nemá vliv na verze operačního systému Windows, které ve výchozím nastavení mají pravidlo brány firewall místní podsítě pro veřejné sítě. Pokud je pravidlo brány firewall místní podsítě na verzi serveru zakázané, Enable-PSRemoting
znovu ho povolí bez ohledu na hodnotu tohoto parametru.
Pokud chcete odebrat omezení místní podsítě a povolit vzdálený přístup ze všech umístění ve veřejných sítích, použijte rutinu Set-NetFirewallRule
v modulu NetSecurity .
Tento parametr byl představen v PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
Tato rutina vrátí řetězce, které popisují výsledky.
Poznámky
Tato rutina je dostupná jenom na platformách Windows.
Na serverových verzích operačního systému Enable-PSRemoting
Windows vytvoří pravidla brány firewall pro privátní a doménové sítě, které umožňují vzdálený přístup, a vytvoří pravidlo brány firewall pro veřejné sítě, které umožňují vzdálený přístup pouze z počítačů ve stejné místní podsíti.
Ve verzích operačního systému Enable-PSRemoting
Windows vytvoří pravidla brány firewall pro privátní a doménové sítě, které umožňují neomezený vzdálený přístup. Pokud chcete vytvořit pravidlo brány firewall pro veřejné sítě, které umožňuje vzdálený přístup ze stejné místní podsítě, použijte parametr SkipNetworkProfileCheck .
Na klientských nebo serverových verzích operačního systému Windows vytvořte pravidlo brány firewall pro veřejné sítě, které odebere omezení místní podsítě a povolí vzdálený přístup , pomocí Set-NetFirewallRule
rutiny v modulu NetSecurity spusťte následující příkaz: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting
povolí všechny konfigurace relací nastavením hodnoty Povoleno vlastnost všech konfigurací relace na $True
hodnotu .
Enable-PSRemoting
odebere nastavení Deny_All a Network_Deny_All . To poskytuje vzdálený přístup ke konfiguracím relací, které byly vyhrazeny pro místní použití.