about_Remote_Requirements

Kurze Beschreibung

Beschreibt die Systemanforderungen und Konfigurationsanforderungen für die Ausführung von Remotebefehlen in PowerShell.

Lange Beschreibung

In diesem Thema werden die Systemanforderungen, Benutzeranforderungen und Ressourcenanforderungen zum Einrichten von Remoteverbindungen und ausführen von Remotebefehlen in PowerShell beschrieben. Außerdem finden Sie Anweisungen zum Konfigurieren von Remotevorgängen.

Hinweis

Einige Cmdlets rufen Objekte von Remotecomputern RPC-Verbindungen oder WMI-Sitzungen für Remoteverbindungen ab. Sie verwenden nicht die PowerShell-Remotinginfrastruktur. Die Anforderungen in diesem Dokument gelten nicht für diese Cmdlets.

Um die Cmdlets mit einem ComputerName-Parameter zu finden, aber keine PowerShell-Remoting verwenden, lesen Sie die Beschreibung des ComputerName-Parameters der Cmdlets.

Systemanforderungen

In Windows verwendet PowerShell-Remoting die Windows-Remoteverwaltung (WinRM), die vom Windows Management Framework (WMF) bereitgestellt wird. Zum Ausführen von Remotesitzungen auf PowerShell müssen die lokalen und Remotecomputer folgendes aufweisen:

  • Windows PowerShell 3.0 oder höher
  • Microsoft .NET Framework 4 oder höher
  • Windows Remote Management 3.0 oder höher

Zum Ausführen von Remotesitzungen unter Windows PowerShell 2.0 müssen die lokalen und Remotecomputer folgendes aufweisen:

  • Windows PowerShell 2.0 oder höher
  • Microsoft .NET Framework 2.0 oder höher
  • Windows Remote Management 2.0

Um vollständig unterstützt zu werden, sollten Sie WMF 5.1 verwenden. Weitere Informationen zur WMF-Unterstützung finden Sie unter Windows Management Framework (WMF).

Sie können eine Remotesitzung zwischen einem Computer mit Windows PowerShell 2.0 und einer, auf dem eine neuere Version von PowerShell ausgeführt wird, erstellen. Features, die nur in neuen Versionen von PowerShell ausgeführt werden, z. B. die Möglichkeit, Sitzungen zu trennen und erneut zu verbinden, sind jedoch nur verfügbar, wenn beide Computer Windows PowerShell 3.0 und höher ausführen.

Um die Versionsnummer einer installierten Version von PowerShell zu finden, verwenden Sie die $PSVersionTable automatische Variable.

PowerShell 7 und höher unterstützen auch PowerShell-Remoting über SSH. PowerShell-Remoting über SSH ermöglicht Es Ihnen, eine Verbindung mit jedem Windows-, macOS- oder Linux-Host herzustellen, der SSH ausführt. Weitere Informationen finden Sie unter PowerShell Remoting Over SSH.

Benutzerberechtigungen

Um Remotesitzungen zu erstellen und Remotebefehle auszuführen, muss der aktuelle Benutzer standardmäßig Mitglied der Gruppe "Administratoren " auf dem Remotecomputer sein oder die Anmeldeinformationen eines Administrators angeben. Andernfalls führt der Befehl zu einem Fehler.

Die zum Erstellen von Sitzungen und Ausführen von Befehlen auf einem Remotecomputer erforderlichen Berechtigungen werden durch die Sitzungskonfiguration eingerichtet. Die Sitzungskonfiguration definiert die Konfigurationsoptionen für den Verbindungsendpunkt auf dem Remotecomputer. Insbesondere bestimmt der Sicherheitsdeskriptor in der Sitzungskonfiguration, wer Zugriff auf die Sitzungskonfiguration hat und wer es für die Verbindung verwenden kann.

Die Sicherheitsdeskriptoren für die Standardsitzungskonfigurationen Microsoft.PowerShell und Microsoft.PowerShell32 ermöglichen nur den Zugriff auf Mitglieder der Gruppe "Administratoren".

Mitglieder der Gruppe "Administratoren " auf einem Computer können bestimmen, wer über die Berechtigung verfügt, eine Remoteverbindung mit dem Computer herzustellen, indem sie die Sicherheitsdeskriptoren in den Standardsitzungskonfigurationen ändern oder neue Sitzungskonfigurationen mit verschiedenen Sicherheitsdeskriptoren erstellen. Benutzer können den ConfigurationName-Parameter von *-PSSession Cmdlets verwenden, um eine Verbindung mit verschiedenen Endpunkten herzustellen.

Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.

Windows-Netzwerkspeicherorte

Ab Windows PowerShell 3.0 kann das Enable-PSRemoting Cmdlet remoting auf Client- und Serverversionen von Windows aktivieren.

In Serverversionen von Windows mit privaten und Domänennetzwerken erstellt das Enable-PSRemoting Cmdlet Firewallregeln, die uneingeschränkten Remotezugriff zulassen. Außerdem wird eine Firewallregel für öffentliche Netzwerke erstellt, die den Remotezugriff nur von Computern im selben lokalen Subnetz zulässt. Diese lokale Subnetzfirewallregel ist in Serverversionen von Windows in öffentlichen Netzwerken standardmäßig aktiviert, wendet jedoch Enable-PSRemoting die Regel erneut an, falls sie geändert oder gelöscht wurde.

In Clientversionen von Windows mit privaten und Domänennetzwerken werden Firewallregeln erstellt, Enable-PSRemoting die uneingeschränkten Remotezugriff zulassen.

Verwenden Sie den SkipNetworkProfileCheck-Parameter des Enable-PSRemoting Cmdlets, um Remoting auf Clientversionen von Windows mit öffentlichen Netzwerken zu aktivieren. Mit dieser Option wird eine Firewallregel erstellt, die den Remotezugriff nur von Computern im selben lokalen Subnetz zulässt.

Verwenden Sie das Set-NetFirewallRule Cmdlet im NetSecurity-Modul , um die lokale Subnetzeinschränkung für öffentliche Netzwerke zu entfernen und den Remotezugriff von allen Speicherorten auf Client- und Serverversionen von Windows zuzulassen. Führen Sie den folgenden Befehl aus:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Hinweis

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.

In Windows PowerShell 2.0 werden auf Serverversionen von Windows Firewallregeln erstellt, Enable-PSRemoting die den Remotezugriff auf alle Netzwerke ermöglichen.

In Windows PowerShell 2.0 werden in Clientversionen von Windows Enable-PSRemoting Firewallregeln nur in privaten und Domänennetzwerken erstellt. Wenn der Netzwerkspeicherort öffentlich ist, Enable-PSRemoting schlägt ein Fehler fehl.

Als Administrator ausführen

Administratorrechte sind für die folgenden Remotingvorgänge erforderlich:

  • Einrichten einer Remoteverbindung mit dem lokalen Computer. Dies wird häufig als "Loopback"-Szenario bezeichnet.
  • Verwalten von Sitzungskonfigurationen auf dem lokalen Computer.
  • Anzeigen und Ändern der WS-Verwaltungseinstellungen auf dem lokalen Computer. Dies sind die Einstellungen im LocalHost-Knoten des WSMAN:-Laufwerks.

Sie müssen PowerShell mit der Option "Als Administrator ausführen" starten, auch wenn Sie Mitglied der Gruppe "Administratoren " auf dem lokalen Computer sind.

Wenn Sie Windows PowerShell aus einem anderen Programm starten, z cmd.exe. B. verwenden Sie die Option "Als Administrator ausführen", um das Programm zu starten.

So konfigurieren Sie Ihren Computer für Remoting

Computer, auf denen eine beliebige unterstützte Version von Windows ausgeführt wird, können Remoteverbindungen herstellen und Remotebefehle in PowerShell ohne Konfiguration ausführen. Um Jedoch Remoteverbindungen zu empfangen, müssen Sie powerShell-Remoting auf dem Computer aktivieren.

Windows Server 2012 und neuere Versionen von Windows Server sind standardmäßig für PowerShell-Remoting aktiviert. Wenn die Einstellungen geändert werden, können Sie die Standardeinstellungen wiederherstellen, indem Sie das Enable-PSRemoting Cmdlet ausführen.

Standardmäßig werden die Remotingfeatures von PowerShell vom WinRM-Dienst unterstützt, bei dem es sich um die Microsoft-Implementierung des Web Services for Management (WS-Management)-Protokolls handelt. Wenn Sie PowerShell-Remoting aktivieren, ändern Sie die Standardkonfiguration von WS-Management und fügen Systemkonfiguration hinzu, mit der Benutzer eine Verbindung mit WS-Management herstellen können.

So konfigurieren Sie PowerShell für den Empfang von Remotebefehlen:

  1. Starten Sie PowerShell mit der Option "Als Administrator ausführen".
  2. Geben Sie an der Eingabeaufforderung Folgendes ein: Enable-PSRemoting

Um zu überprüfen, ob Remoting ordnungsgemäß konfiguriert ist, führen Sie einen Testbefehl wie den folgenden Befehl aus, der eine Remotesitzung auf dem lokalen Computer erstellt.

New-PSSession

Wenn Remoting ordnungsgemäß konfiguriert ist, erstellt der Befehl eine Sitzung auf dem lokalen Computer und gibt ein Objekt zurück, das die Sitzung darstellt.

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Wenn der Befehl fehlschlägt, lesen Sie about_Remote_Troubleshooting.

Verstehen von Richtlinien

Wenn Sie remote arbeiten, verwenden Sie zwei Instanzen von PowerShell, eine auf dem lokalen Computer und eine auf dem Remotecomputer. Daher wird Ihre Arbeit von den Windows- und PowerShell-Richtlinien sowohl auf den lokalen als auch auf den Remotecomputern beeinflusst.

Bevor Sie eine Verbindung herstellen und die Verbindung herstellen, sind die Richtlinien auf dem lokalen Computer wirksam. Wenn Sie die Verbindung verwenden, sind die Richtlinien auf dem Remotecomputer wirksam.

Siehe auch