Enable-PSRemoting
Konfiguriert den Computer für den Empfang von Remotebefehlen.
Syntax
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Enable-PSRemoting
Cmdlet konfiguriert den Computer für den Empfang von PowerShell-Remotebefehlen, die mithilfe der WS-Management-Technologie gesendet werden.
PowerShell-Remoting ist unter Windows Server 2012 standardmäßig aktiviert. Sie können Enable-PSRemoting
powerShell-Remoting auf anderen unterstützten Versionen von Windows aktivieren und remoting unter Windows Server 2012 erneut 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 Enable-PSRemoting
Cmdlet powerShell-Remoting in Clientversionen von Windows aktivieren, wenn sich der Computer in einem öffentlichen Netzwerk befindet. Weitere Informationen finden Sie in der Beschreibung des SkipNetworkProfileCheck-Parameters .
Das Enable-PSRemoting
Cmdlet 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 des WinRM-Diensts auf „Automatisch“ fest.
- Erstellt einen Listener, um Anforderungen an beliebige IP-Adressen zu akzeptieren.
- Aktiviert eine Firewallausnahme für die Kommunikation von WS-Management.
- Registriert die Microsoft.PowerShell - und Microsoft.PowerShell.Workflow-Sitzungskonfigurationen , wenn sie noch nicht registriert sind.
- Registriert die Microsoft.PowerShell32-Sitzungskonfiguration auf 64-Bit-Computern, falls sie noch nicht registriert ist.
- Aktiviert alle Sitzungskonfigurationen.
- Ändert die Sicherheitsbeschreibung aller Sitzungskonfigurationen, um Remotezugriff zuzulassen.
- Startet den WinRM-Dienst neu, damit die vorherigen Änderungen wirksam werden.
Um dieses Cmdlet auf der Windows-Plattform auszuführen, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen". Dies gilt nicht für Linux- oder MacOS-Versionen von PowerShell.
Achtung
Verwenden Sie auf Systemen mit PowerShell 3.0 und PowerShell 2.0 nicht PowerShell 2.0 zum Ausführen der Enable-PSRemoting
Und-Cmdlets Disable-PSRemoting
. Die Befehle scheinen erfolgreich ausgeführt zu werden, das Remoting ist jedoch nicht ordnungsgemäß konfiguriert. Remotebefehle und spätere Versuche, Remoting zu aktivieren und zu deaktivieren, schlagen wahrscheinlich fehl.
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.
Wird verwendet 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
Erstellt standardmäßig Netzwerkregeln, Enable-PSRemoting
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 Set-NetFirewallRule
Cmdlet im NetSecurity-Modul 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.
Hinweis
Der Name der Firewallregel kann je nach Windows-Version unterschiedlich sein. Verwenden Sie das Get-NetFirewallRule
Cmdlet, um die Namen der Regeln auf Ihrem System aufzulisten.
Parameter
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.
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 aktiviert 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 in einer Serverversion deaktiviert ist, Enable-PSRemoting
wird sie unabhängig vom Wert dieses Parameters erneut aktiviert.
Verwenden Sie das Set-NetFirewallRule
Cmdlet im NetSecurity-Modul , um die lokale Subnetzeinschränkung zu entfernen und den Remotezugriff von allen Standorten in öffentlichen Netzwerken zu aktivieren.
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 geschieht, 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
Erstellt in PowerShell 3.0 Enable-PSRemoting
die folgenden Firewall-Ausnahmen für die WS-Management-Kommunikation.
Erstellt in Serverversionen des Windows-Betriebssystems Firewallregeln für private und Domänennetzwerke, Enable-PSRemoting
die 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 Enable-PSRemoting
erstellt PowerShell 3.0 Firewallregeln für private und Domänennetzwerke, die uneingeschränkten Remotezugriff ermöglichen. Verwenden Sie den Parameter SkipNetworkProfileCheck , um eine Firewallregel für öffentliche Netzwerke zu erstellen, die den Remotezugriff über dasselbe lokale Subnetz ermöglicht.
Verwenden 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 Set-NetFirewallRule
Cmdlet im NetSecurity-Modul, um den folgenden Befehl auszuführen: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Erstellt in PowerShell 2.0 Enable-PSRemoting
die folgenden Firewall-Ausnahmen für die WS-Management-Kommunikation.
In Serverversionen des Windows-Betriebssystems werden Firewallregeln für alle Netzwerke erstellt, die den Remotezugriff ermöglichen.
In Clientversionen des Windows-Betriebssystems Enable-PSRemoting
erstellt PowerShell 2.0 eine Firewall-Ausnahme nur für Domänen- und private Netzwerkspeicherorte. Um Sicherheitsrisiken zu minimieren, Enable-PSRemoting
wird keine Firewallregel für öffentliche Netzwerke in Clientversionen von Windows erstellt. Wenn der aktuelle Netzwerkspeicherort öffentlich ist, Enable-PSRemoting
wird die folgende Meldung zurückgegeben: Der Status der Firewall kann nicht überprüft werden.
Ab PowerShell 3.0 können alle Sitzungskonfigurationen aktiviert werden, Enable-PSRemoting
indem der Wert der Enabled-Eigenschaft aller Sitzungskonfigurationen auf festgelegt $True
wird.
In PowerShell 2.0 Enable-PSRemoting
wird die Deny_All Einstellung aus der Sicherheitsbeschreibung von Sitzungskonfigurationen entfernt. Entfernt in PowerShell 3.0 Enable-PSRemoting
die einstellungen Deny_All und Network_Deny_All . Dies ermöglicht den Remotezugriff auf Sitzungskonfigurationen, die für die lokale Verwendung reserviert wurden.