Enable-PSRemoting
Konfiguriert den Computer für den Empfang von Remotebefehlen.
Syntax
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet Enable-PSRemoting
wird der Computer so konfiguriert, dass PowerShell-Remotebefehle empfangen werden, die mithilfe der WS-Management Technologie gesendet werden.
PowerShell-Remoting ist unter Windows Server 2012 und höher standardmäßig aktiviert. Sie können Enable-PSRemoting
verwenden, um PowerShell-Remoting in anderen unterstützten Versionen von Windows zu aktivieren und Remoting erneut zu aktivieren, wenn sie deaktiviert wird.
Sie müssen diesen Befehl nur einmal auf jedem Computer ausführen, der Befehle empfängt. Sie müssen sie nicht auf Computern ausführen, die nur Befehle senden. Da die Konfiguration Listener startet, ist es umsichtig, sie nur dort auszuführen, wo sie benötigt wird.
Ab PowerShell 3.0 kann das Cmdlet Enable-PSRemoting
PowerShell-Remoting in Clientversionen von Windows aktivieren, wenn sich der Computer in einem öffentlichen Netzwerk befindet. Weitere Informationen finden Sie in der Beschreibung des parameters SkipNetworkProfileCheck.
Das Cmdlet Enable-PSRemoting
führt die folgenden Vorgänge aus:
- Führt das Cmdlet Set-WSManQuickConfig aus, das die folgenden Aufgaben ausführt:
- Startet den WinRM-Dienst.
- Legt den Starttyp für den WinRM-Dienst auf "Automatisch" fest.
- Erstellt einen Listener, um Anforderungen an eine beliebige IP-Adresse zu akzeptieren.
- Aktiviert eine Firewall-Ausnahme für WS-Management Kommunikation.
- Registriert die Microsoft.PowerShell- und Microsoft.PowerShell.Workflow Sitzungskonfigurationen, wenn sie noch nicht registriert sind.
- Registriert die Microsoft.PowerShell32 Sitzungskonfiguration auf 64-Bit-Computern, sofern sie noch nicht registriert ist.
- Aktiviert alle Sitzungskonfigurationen.
- Ändert die Sicherheitsbeschreibung aller Sitzungskonfigurationen, um den Remotezugriff zu ermöglichen.
- Startet den WinRM-Dienst neu, um die vorherigen Änderungen wirksam zu machen.
Um dieses Cmdlet auf der Windows-Plattform auszuführen, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen".
Weitere Informationen zur Verwendung von PowerShell-Remoting finden Sie in den folgenden Artikeln:
Beispiele
Beispiel 1: Konfigurieren eines Computers für den Empfang von Remotebefehlen
Mit diesem Befehl wird der Computer für den Empfang von Remotebefehlen konfiguriert.
Enable-PSRemoting
Beispiel 2: Konfigurieren eines Computers für den Empfang von Remotebefehlen ohne Bestätigungsaufforderung
Mit diesem Befehl wird der Computer für den Empfang von Remotebefehlen konfiguriert. Der parameter Force unterdrückt die Benutzeraufforderungen.
Enable-PSRemoting -Force
Beispiel 3: Zulassen des Remotezugriffs auf Clients
In diesem Beispiel wird gezeigt, wie Remotezugriff von öffentlichen Netzwerken in Clientversionen des Windows-Betriebssystems zugelassen wird. Der Name der Firewallregel kann für verschiedene Versionen von Windows unterschiedlich sein.
Verwenden Sie Get-NetFirewallRule
, um eine Liste der Regeln anzuzeigen. Bevor Sie die Firewallregel aktivieren, zeigen Sie die Sicherheitseinstellungen in der Regel an, um zu überprüfen, ob die Konfiguration für Ihre Umgebung geeignet ist.
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
Standardmäßig erstellt Enable-PSRemoting
Netzwerkregeln, die den Remotezugriff von privaten und Domänennetzwerken zulassen. Der Befehl verwendet den parameter SkipNetworkProfileCheck, um den Remotezugriff von öffentlichen Netzwerken im selben lokalen Subnetz zu ermöglichen. Der Befehl gibt den parameter Force an, um Bestätigungsmeldungen zu unterdrücken.
Der parameter SkipNetworkProfileCheck wirkt sich nicht auf Serverversionen des Windows-Betriebssystems aus, die den Remotezugriff von öffentlichen Netzwerken im selben lokalen Subnetz standardmäßig zulassen.
Das cmdlet Set-NetFirewallRule
im modul NetSecurity fügt eine Firewallregel hinzu, die den Remotezugriff von öffentlichen Netzwerken von einem beliebigen Remotestandort aus zulässt. Dazu gehören Standorte in verschiedenen Subnetzen.
Anmerkung
Der Name der Firewallregel kann je nach Windows-Version unterschiedlich sein. Verwenden Sie das Cmdlet Get-NetFirewallRule
, um die Namen der Regeln auf Ihrem System aufzulisten.
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Erzwingt die Ausführung des Befehls, ohne eine Benutzerbestätigung zu verlangen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-SkipNetworkProfileCheck
Gibt an, dass dieses Cmdlet Remoting für Clientversionen des Windows-Betriebssystems aktiviert, wenn sich der Computer in einem öffentlichen Netzwerk befindet. Dieser Parameter ermöglicht eine Firewallregel für öffentliche Netzwerke, die den Remotezugriff nur von Computern im selben lokalen Subnetz zulässt.
Dieser Parameter wirkt sich nicht auf Serverversionen des Windows-Betriebssystems aus, die standardmäßig über eine lokale Subnetzfirewallregel für öffentliche Netzwerke verfügen. Wenn die lokale Subnetzfirewallregel auf einer Serverversion deaktiviert ist, Enable-PSRemoting
sie unabhängig vom Wert dieses Parameters erneut aktiviert.
Um die lokale Subnetzeinschränkung zu entfernen und den Remotezugriff von allen Standorten in öffentlichen Netzwerken zu aktivieren, verwenden Sie das Cmdlet Set-NetFirewallRule
im modul NetSecurity.
Dieser Parameter wurde in PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Dieses Cmdlet gibt Zeichenfolgen zurück, die die Ergebnisse beschreiben.
Hinweise
Ab PowerShell 3.0 aktiviert Enable-PSRemoting
alle Sitzungskonfigurationen, indem der Wert der Enabled-Eigenschaft aller Sitzungskonfigurationen auf $True
festgelegt wird.
In Serverversionen des Windows-Betriebssystems erstellt
Enable-PSRemoting
Firewallregeln für private und Domänennetzwerke, die den Remotezugriff zulassen, und erstellt eine Firewallregel für öffentliche Netzwerke, die den Remotezugriff nur von Computern im selben lokalen Subnetz zulässt.In Clientversionen des Windows-Betriebssystems erstellt
Enable-PSRemoting
in PowerShell 3.0 Firewallregeln für private und Domänennetzwerke, die uneingeschränkten Remotezugriff zulassen. Verwenden Sie den SkipNetworkProfileCheck Parameter, um eine Firewallregel für öffentliche Netzwerke zu erstellen, die den Remotezugriff über dasselbe lokale Subnetz ermöglicht.Erstellen Sie auf Client- oder Serverversionen des Windows-Betriebssystems eine Firewallregel für öffentliche Netzwerke, die die lokale Subnetzeinschränkung entfernt und den Remotezugriff zulässt, das Cmdlet
Set-NetFirewallRule
im NetSecurity-Modul, um den folgenden Befehl auszuführen:Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting
ermöglicht alle Sitzungskonfigurationen, indem der Wert der eigenschaft Enabled aller Sitzungskonfigurationen auf $True
festgelegt wird.
Enable-PSRemoting
entfernt die Einstellungen Deny_All und Network_Deny_All. Dies ermöglicht den Remotezugriff auf Sitzungskonfigurationen, die für die lokale Verwendung reserviert wurden.