Aktivieren oder Deaktivieren des Zugriffs auf Exchange Online PowerShell

Exchange Online PowerShell ist die Verwaltungsschnittstelle, mit der Administratoren den Exchange Online Teil eines Microsoft 365-organization über die Befehlszeile verwalten können (einschließlich vieler Sicherheitsfeatures in Exchange Online Protection und Microsoft Defender for Office 365).

Standardmäßig dürfen alle Konten in Microsoft 365 Exchange Online PowerShell verwenden. Dieser Zugriff bietet Benutzern keine Administratorfunktionen in einem organization. Sie sind weiterhin durch die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) eingeschränkt (z. B. können sie Einstellungen für ihr eigenes Postfach konfigurieren oder Verteilergruppen verwalten, die sie besitzen).

Administratoren können die Verfahren in diesem Artikel verwenden, um die Möglichkeit eines Benutzers, eine Verbindung mit Exchange Online PowerShell herzustellen, zu deaktivieren oder zu aktivieren.

Was sollten Sie wissen, bevor Sie beginnen?

  • Geschätzte Zeit bis zum Abschließen der einzelnen Verfahren: Weniger als 5 Minuten

  • Die Verfahren in diesem Artikel sind nur in Exchange Online PowerShell verfügbar. Wie Sie eine Verbindung mit Exchange Online PowerShell herstellen, finden Sie unter Herstellen einer Verbindung mit Exchange Online PowerShell.

  • Ihnen müssen Berechtigungen zugewiesen werden, bevor Sie die Verfahren in diesem Artikel ausführen können. Sie haben folgende Optionen:

    Wichtig

    Um den PowerShell-Zugriff in Ihrem organization schnell und global zu deaktivieren, sollten Sie sich vor Befehlen wie Get-User | Set-User -RemotePowerShellEnabled $false hüten, ohne Administratorkonten in Betracht zu ziehen. Verwenden Sie die Verfahren in diesem Artikel, um den Remotezugriff von PowerShell selektiv zu entfernen oder den Zugriff für diejenigen beizubehalten, die ihn benötigen, indem Sie die folgende Syntax in Ihrem globalen Entfernungsbefehl verwenden: Get-User | Where-Object {$_.UserPrincipalName -ne 'admin1@contoso.onmicrosoft.com' -and $_.UserPrincipalName -ne 'admin2@contoso.onmicrosoft.com'...} | Set-User -RemotePowerShellEnabled $false.

    Wenn Sie sich versehentlich den PowerShell-Zugriff sperren, erstellen Sie ein neues Administratorkonto im Microsoft 365 Admin Center, und verwenden Sie dieses Konto dann, um sich selbst PowerShell-Zugriff zu gewähren, indem Sie die Verfahren in diesem Artikel verwenden.

  • Ausführliche Informationen zur OPATH-Filtersyntax in Exchange Online finden Sie unter Zusätzliche Informationen zur OPATH-Syntax.

Tipp

Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Sie finden die Foren unter folgenden Links: Exchange Online oder Exchange Online Protection.

Aktivieren oder Deaktivieren des Remote-PowerShellzugriffs für einen Benutzer

In diesem Beispiel wird der Zugriff auf Exchange Online PowerShell für den Benutzer david@contoso.onmicrosoft.comdeaktiviert.

Set-User -Identity david@contoso.onmicrosoft.com -RemotePowerShellEnabled $false

In diesem Beispiel wird der Zugriff auf Exchange Online PowerShell für den Benutzer chris@contoso.onmicrosoft.comaktiviert.

Set-User -Identity chris@contoso.onmicrosoft.com -RemotePowerShellEnabled $true

Deaktivieren des Remote-PowerShellzugriff für viele Benutzer

Ihnen stehen folgende Optionen zur Verfügung, um den Remote-PowerShellzugriff für eine bestimmte Gruppe vorhandener Benutzer zu verhindern:

  • Filtern von Benutzern anhand eines vorhandenen Attributs: Bei dieser Methode wird davon ausgegangen, dass alle Zielbenutzerkonten ein eindeutiges filterbares Attribut verwenden. Einige Attribute wie Titel, Abteilung, Adressinformationen und Telefonnummer sind nur sichtbar, wenn Sie das Cmdlet Get-User verwenden. Andere Attribute, wie "CustomAttribute1-15", sind nur sichtbar, wenn Sie das Cmdlet Get-Mailbox verwenden.

  • Verwenden einer Liste bestimmter Benutzer: Nachdem Sie die Liste bestimmter Benutzer generiert haben, können Sie diese Liste verwenden, um deren Zugriff auf Exchange Online PowerShell zu deaktivieren.

Filtern der Benutzer auf Grundlage eines vorhandenen Attributs

Verwenden Sie die folgende Syntax, um den Zugriff auf Exchange Online PowerShell für eine beliebige Anzahl von Benutzern basierend auf einem vorhandenen Attribut zu deaktivieren:

$<VariableName> = <Get-Mailbox | Get-User> -ResultSize unlimited -Filter <Filter>

$<VariableName> | foreach {Set-User -Identity $_.WindowsEmailAddress -RemotePowerShellEnabled $false}

In diesem Beispiel wird der Remote-PowerShellzugriff für alle Benutzer entfernt, deren Attribut Title den Wert "Sales Associate" enthält.

$DSA = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like 'Sales Associate*')"

$DSA | foreach {Set-User -Identity $_.WindowsEmailAddress -RemotePowerShellEnabled $false}

Verwenden einer Liste spezieller Benutzer

Verwenden Sie folgende Syntax, um den Remote-PowerShellzugriff für eine Liste spezieller Benutzer zu deaktivieren.

$<VariableName> = Get-Content <text file>

$<VariableName> | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}

Im folgenden Beispiel wird die Textdatei C:\My Documents\NoPowerShell.txt verwendet, um die Benutzer anhand ihrer Konten zu identifizieren. Die Textdatei muss in jeder Zeile wie folgt ein Konto enthalten:

akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.com

Nachdem Sie die Textdatei mit den Benutzerkonten aufgefüllt haben, die Sie aktualisieren möchten, führen Sie die folgenden Befehle aus:

$NoPS = Get-Content "C:\My Documents\NoPowerShell.txt"

$NoPS | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}

Anzeigen der Exchange Online PowerShell-Zugriffs-status für Benutzer

Um die PowerShell-Zugriffs-status für einen bestimmten Benutzer anzuzeigen, ersetzen Sie <UserIdentity> durch den Namen oder Benutzerprinzipalnamen (UPN) des Benutzers, und führen Sie den folgenden Befehl aus:

Get-User -Identity "<UserIdentity>" | Format-List RemotePowerShellEnabled

Führen Sie den folgenden Befehl aus, um die Exchange Online PowerShell-Zugriffs-status für alle Benutzer anzuzeigen:

Get-User -ResultSize unlimited | Format-Table -Auto Name,DisplayName,RemotePowerShellEnabled

Führen Sie den folgenden Befehl aus, um alle Benutzer anzuzeigen, die keinen Zugriff auf Exchange Online PowerShell haben:

Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'

Führen Sie den folgenden Befehl aus, um alle Benutzer anzuzeigen, die Zugriff auf Exchange Online PowerShell haben:

Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'