Freigeben über


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 enthält 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 zu finden, die über einen ComputerName-Parameter verfügen, aber kein 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 Computer und die Remotecomputer über Folgendes verfügen:

  • Windows PowerShell 3.0 oder höher
  • Microsoft .NET Framework 4 oder höher
  • Windows-Remoteverwaltung 3.0 oder höher

Zum Ausführen von Remotesitzungen auf Windows PowerShell 2.0 müssen die lokalen Computer und Remotecomputer über Folgendes verfügen:

  • Windows PowerShell 2.0 oder höher
  • Microsoft .NET Framework 2.0 oder höher
  • Windows-Remoteverwaltung 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 erstellen, auf dem Windows PowerShell 2.0 ausgeführt wird, und einem Computer, auf dem eine neuere Version von PowerShell ausgeführt wird. Features, die nur in neuen Versionen von PowerShell ausgeführt werden, z. B. die Möglichkeit, die Verbindung zu sitzungen wieder herzustellen, sind jedoch nur verfügbar, wenn auf beiden Computern Windows PowerShell 3.0 und höher ausgeführt wird.

Verwenden Sie die automatische Variable, um die $PSVersionTable Versionsnummer einer installierten Version von PowerShell zu ermitteln.

PowerShell 7 und höher unterstützt auch PowerShell-Remoting über SSH. Mit PowerShell-Remoting über SSH können Sie eine Verbindung mit jedem Windows-, macOS- oder Linux-Host herstellen, auf dem SSH ausgeführt wird. Weitere Informationen finden Sie unter PowerShell-Remoting über 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 erforderlichen Berechtigungen zum Erstellen von Sitzungen und Ausführen von Befehlen auf einem Remotecomputer werden durch die Sitzungskonfiguration festgelegt. Die Sitzungskonfiguration definiert die Konfigurationsoptionen für den Verbindungsendpunkt auf dem Remotecomputer. Insbesondere bestimmt der Sicherheitsdeskriptor für die Sitzungskonfiguration, wer Zugriff auf die Sitzungskonfiguration hat und wer sie zum Herstellen einer Verbindung verwenden kann.

Die Sicherheitsbeschreibungen für die Standardsitzungskonfigurationen Microsoft.PowerShell und Microsoft.PowerShell32 erlauben nur Mitgliedern der Gruppe Administratoren den Zugriff.

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 Sicherheitsbeschreibungen für die 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-Netzwerkstandorte

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

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

Erstellt in Clientversionen von Windows mit privaten und Domänennetzwerken Firewallregeln, Enable-PSRemoting die uneingeschränkten Remotezugriff ermöglichen.

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

Verwenden Sie das Set-NetFirewallRule Cmdlet im NetSecurity-Modul , um die Einschränkung des lokalen Subnetzes in öffentlichen Netzwerken zu entfernen und den Remotezugriff von allen Standorten auf Client- und Serverversionen von Windows aus 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. Verwenden Sie Get-NetFirewallRule , um eine Liste von Regeln anzuzeigen. Zeigen Sie vor dem Aktivieren der Firewallregel 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 unter Serverversionen von Windows Firewallregeln erstellt, Enable-PSRemoting die den Remotezugriff auf alle Netzwerke zulassen.

In Windows PowerShell 2.0 werden unter Clientversionen von Windows Enable-PSRemoting Firewallregeln nur für private Netzwerke und Domänennetzwerke erstellt. Wenn der Netzwerkspeicherort öffentlich ist, Enable-PSRemoting tritt ein Fehler auf.

Als Administrator ausführen

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

  • Herstellen einer Remoteverbindung mit dem lokalen Computer. Dies wird allgemein als "Loopback"-Szenario bezeichnet.
  • Verwalten von Sitzungskonfigurationen auf dem lokalen Computer.
  • Anzeigen und Ändern WS-Management Einstellungen 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 wie cmd.exestarten, verwenden Sie die Option Als Administrator ausführen, um das Programm zu starten.

Konfigurieren Ihres Computers für Remoting

Computer, auf denen eine unterstützte Version von Windows ausgeführt wird, können Remoteverbindungen herstellen und Remotebefehle in PowerShell ohne Konfiguration ausführen. Zum Empfangen von Remoteverbindungen müssen Sie jedoch PowerShell-Remoting auf dem Computer aktivieren.

Windows Server 2012 und neueren 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 WS-Management-Protokolls (Web Services for Management) handelt. Wenn Sie PowerShell-Remoting aktivieren, ändern Sie die Standardkonfiguration von WS-Management und fügen die 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

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

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. Infolgedessen wird Ihre Arbeit von den Windows- und PowerShell-Richtlinien sowohl auf dem lokalen computer als auch auf dem Remotecomputer beeinträchtigt.

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

Siehe auch