PowerShell-Remotesitzung für Exchange oder Microsoft 365 starten

Eine der vielen Funktionen des PowerShell-Befehlszeilentools ist die Möglichkeit, eine Remotesitzung mit dem Exchange Server herzustellen und ihn somit zu verwalten. Dieser Beitrag beschreibt das Verfahren für den klassischen On-Prem-Exchange und für die Office 365- (Microsoft 365-) / Exchange Online-Version.

PowerShell-Remotesitzung für Exchange oder Microsoft 365 starten

Systemanforderungen

Die Workstation, die Sie für die PowerShell-Remotesitzung verwenden, muss die folgenden Anforderungen erfüllen:

Für Exchange Online

  1. Betriebssystem: Windows 8.1 (oder höher), Windows Server 2012 (oder höher). Beachten Sie, dass Sie Windows 7 und Windows Server 2008 R2 weiterhin für die Verbindung mit Exchange Online verwenden können. Es wird jedoch nicht empfohlen, da sie nicht mehr unterstützt sind (haben Supportende erreicht).
  2. Microsoft .Net Framework 4.5 (oder höher) und Windows Management Framework 5.1. (sollte bereits auf den unterstützten Systemen installiert sein).
  3. Exchange Online PowerShell V2-Modul (installiert).

Für Exchange 2019/2016

  1. Betriebssystem: Windows 10, Windows 8.1 (Windows 8.1 erfordert Microsoft .NET Framework 4.5.2 oder höher)
  2. Windows Server 2012 R2 (für diese Version ist Microsoft .NET Framework 4.5.2 oder höher erforderlich), Windows Server 2012 (nach der Installation von .NET Framework 4.5.2 oder höher muss auch Windows Management Framework installiert werden).

Für Exchange 2013

  1. Betriebssystem: Windows 7 SP1 (oder höher), Windows Server 2008 R2 SP1 (oder höher).
  2. Wenn Sie Windows 7 SP1 oder Windows Server 2008 R2 SP1 verwenden, müssen Sie außerdem folgende Module installieren:

Hinweis: Bei neueren Versionen des Betriebssystems müssen Sie die oben genannten Module nicht installieren.

Mit Exchange Online und Office 365 (Microsoft 365) verbinden

So nutzen Sie PowerShell für die Remotesitzung mit Exchange Online:

  1. PowerShell-Konsole auf einer Workstation starten.
  2. Eingeben:

    $Credentials = Get-Credential

    und mit Administrator-Anmeldedaten ausfüllen.
  1. Den folgenden Befehl eingeben:

    Connect-ExchangeOnline -Credential $Credentials

Wenn Sie MFA aktiviert haben, akzeptiert PowerShell Ihre Anmeldedaten von einer Variablen nicht. Wenn für Ihr Administratorkonto MFA aktiviert ist, müssen Sie Connect-ExchangeOnline -UserPrincipalName <Your UPN> ausführen und Ihre Anmeldedaten in das Popup-Fenster eingeben.

Wenn Sie mit der PowerShell-Remotesitzung fertig sind, schließen Sie sie mit dem folgenden Befehl:

Disconnect-ExchangeOnline

Mit On-Prem-Exchange 2019/2016 verbinden

So nutzen Sie PowerShell für die Remotesitzung mit Exchange 2019 oder 2016:

  1. PowerShell-Konsole auf einer Workstation starten.
  2. Eingeben:

    $Credentials = Get-Credential

    und mit Administrator-Anmeldedaten ausfüllen.
  1. Als Nächstes den folgenden Befehl ausführen:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://< Exchange 2019/2016 Mailbox server FQDN>/PowerShell/ -Authentication Kerberos -Credential $Credentials

    <Exchange 2019/2016 Mailbox server FQDN> durch den vollqualifizierten Domänennamen (FQDN) von Exchange ersetzen, mit dem Sie sich verbinden wollen.

  1. Dann den Befehl eingeben:

    Import-PSSession $Session

Jetzt können Sie Ihren Exchange Server über PowerShell verwalten. Wenn Sie fertig sind, stellen Sie sicher, dass die Remotesitzung gelöscht wird. Verwenden Sie dazu den folgenden Befehl:

Remove-PSSession $Session

Mit On-Prem-Exchange 2013 verbinden

So nutzen Sie PowerShell für die Remotesitzung mit Exchange 2013:

  1. PowerShell-Konsole auf einer Workstation starten.
  2. In die Konsole den Befehl eingeben:

    $Credentials = Get-Credential

    Dies öffnet ein Fester für Ihre Administratoranmeldedaten.
  1. In die Konsole den nächsten Befehl eingeben:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<Exchange 2013 CAS FQDN>/PowerShell/ -Authentication Kerberos -Credential $Credentials

    Hier ersetzen Sieden Teil <Exchange 2013 CAS FQDN> durch die Adresse Ihres CAS-Rollenservers.

  1. Der nächste Befehl ist:

    Import-PSSession $Session

    Er stellt eine Verbindung zum Exchange Server her und importiert alle erforderlichen Cmdlets für die Serververwaltung.

Sie können jetzt Ihren Server über PowerShell verwalten.

Wenn Sie Ihre Verwaltungsaufgaben beendet haben, schließen Sie die Fernsitzung und löschen Sie sie mit dem folgenden Befehl:

Remove-PSSession $Session

Typische Verbindungsprobleme beheben

Es ist eine ganz einfache Aufgabe, die PowerShell-Remotesitzung zu starten. Sie sollten jedoch einige Einstellungen überprüfen, die – wenn falsch konfiguriert – zum Misserfolg führen.

  1. Stellen Sie sicher, dass Sie korrekte Administratoranmeldedaten eingeben.
  2. Überprüfen Sie, ob Ihre Workstation das Ausführen von Skripten unterstützt. Sie können die aktuelle Richtlinie überprüfen, indem Sie den folgenden Befehl in die PowerShell-Konsole eingeben:

    Get-ExecutionPolicy

    Wenn die Richtlinie sagt, dass das Ausführen von Skripten auf der Workstation eingeschränkt ist, können Sie es mit dem folgenden Befehl aktivieren (beantworten Sie alle angezeigten Fragen mit „Ja“):

    Set-ExecutionPolicy RemoteSigned
  1. Stellen Sie sicher, dass der TCP 80-Port zwischen Ihrer Workstation und dem Zielserver geöffnet ist.
  2. Überprüfen Sie, ob Sie über die entsprechenden Zugriffsrechte (Remote Shell) verfügen. Führen Sie dazu den folgenden Befehl auf dem Server aus:

    Get-User Me@mydomain.com | select Name,RemotePowershellEnabled

    Wenn dem Benutzer diese Rechte fehlen, verwenden Sie den folgenden Befehl, um sie zu gewähren:

    Set-User Me@mydomain.com -RemotePowerShellEnabled $True

    Hinweis: Das Remote Shell-Recht ist standardmäßig für alle neu erstellten Benutzer aktiviert.

  1. Für die Verbindung mit Exchange Online mit der modernen Methode (in diesem Artikel beschrieben) muss das Exchange Online PowerShell V2-Modul installiert sein. Wenn Sie also die folgende Fehlermeldung erhalten:

    Connect-ExchangeOnline : The term 'Connect-ExchangeOnline' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

    bedeutet dies höchstwahrscheinlich, dass das Modul nicht installiert ist. Um es zu installieren, führen Sie Folgendes aus:

    Install-Module -Name ExchangeOnlineManagement; Import-Module -Name ExchangeOnlineManagement

    Voraussetzung für die Installation des Moduls ist die Installation des neuesten NuGet-Providers. Wenn Sie ihn nicht installiert haben, werden Sie aufgefordert, ihn automatisch herunterzuladen. Wenn Sie beim Download-Versuch die Fehlermeldung „Es kann kein Download von URI durchgeführt werden“ bekommen, müssen Sie wahrscheinlich eine starke Kryptografie für .NET Framework in Ihrer Registrierung aktivieren. Dazu folgen Sie die Anweisungen auf der Microsoft-Website.

Remote PowerShell ist eine großartige Funktion, wenn Sie mehrere Server gleichzeitig von einem Standort aus verwalten und Aufgaben ausführen müssen, die einfach per Skript ausgeführt werden können, z. Erstellung von Benutzern während einer Exchange-Migration.

Es gibt jedoch einige Jobs, die sich über PowerShell nicht schnell und einfach ausführen lassen. Die zuvor erwähnte Datenmigration ist eine davon. Um dies zu optimieren, können Sie ein Drittanbieter-Tool wie CodeTwo Exchange Migration oder CodeTwo Office 365 Migration verwenden, das einen Großteil der Arbeit von Ihren Schultern nimmt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*