Share via


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 Standard Netzwerken 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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

String

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 auf Serverversionen des Windows-Betriebssystems Enable-PSRemoting Firewallregeln für private netzwerke und do Standard Netzwerke, 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 do Standard Netzwerke, 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 do Standard 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 $Truewird.

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.