Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Exchange Online PowerShell ist die administrative Schnittstelle, mit der Sie den Exchange Online-Teil Ihrer Microsoft 365-Organization über die Befehlszeile verwalten können (einschließlich vieler integrierter Sicherheitsfeatures für alle Cloudpostfächer und Schutzfunktionen in Microsoft Defender für Office 365).
Standardmäßig dürfen alle Konten in Microsoft 365 Exchange Online PowerShell verwenden. Durch diesen Zugriff erhalten Benutzer keine administrativen Möglichkeiten. Sie sind immer noch durch die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) eingeschränkt. Sie können beispielsweise einige Einstellungen in ihrem eigenen Postfach konfigurieren und Verteilergruppen verwalten, die sie besitzen, aber nicht viel mehr.
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 in diesem Artikel beschriebenen Schritte ausführen können. Sie haben folgende Optionen:
- Exchange Online-Berechtigungen: Mitgliedschaft in den Rollengruppen "Organisationsverwaltung" oder "Empfängerverwaltung".
- Microsoft Entra RBAC: Die Mitgliedschaft in den Rollen "Exchange-Administrator" oder "Globaler Administrator"* gibt Benutzern die erforderlichen Berechtigungen und Berechtigungen für andere Features in Microsoft 365.
Wichtig
Hüten Sie sich in Ihrer Eile, den PowerShell-Zugriff in Ihrer cloudbasierten Organization schnell und global zu deaktivieren, vor Befehlen wie
Get-User | Set-User -EXOModuleEnabled $falseohne Berücksichtigung von Administratorkonten. Verwenden Sie die Verfahren in diesem Artikel, um den PowerShell-Zugriff 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 -EXOModuleEnabled $false.Wenn Sie sich versehentlich selbst vom PowerShell-Zugriff ausgesperrt haben, erstellen Sie im Microsoft 365 Admin Center ein neues Administratorkonto, und verwenden Sie dieses Konto dann, um sich mithilfe der Verfahren in diesem Artikel PowerShell-Zugriff zu gewähren.
* Microsoft empfiehlt, Rollen mit den geringsten Berechtigungen zu verwenden. Die Verwendung von Konten mit niedrigeren Berechtigungen trägt zur Verbesserung der Sicherheit für Ihre Organization bei. Globaler Administrator ist eine hoch privilegierte Rolle, die auf Notfallszenarien beschränkt werden sollte, wenn Sie keine vorhandene Rolle verwenden können.
Ausführliche Informationen zur OPATH-Filtersyntax in Exchange Online finden Sie unter Zusätzliche Informationen zur OPATH-Syntax.
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 -EXOModuleEnabled $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 -EXOModuleEnabled $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:
- Benutzer nach einem vorhandenen Attribut filtern: Bei dieser Methode wird davon ausgegangen, dass alle Zielbenutzerkonten ein eindeutiges filterbares Attribut teilen. Einige Attribute (z. B. Titel, Abteilung, Adressinformationen und Telefonnummer) sind nur im Cmdlet "Get-User" verfügbar. Andere Attribute (z. B. CustomAttribute1 bis CustomAttribute15) sind nur im Cmdlet Get-Mailbox verfügbar.
- 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 -EXOModuleEnabled $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 -EXOModuleEnabled $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 $_ -EXOModuleEnabled $false}
Im folgenden Beispiel wird die Textdatei "C:\Mein Documents\NoPowerShell.txt" verwendet, um die Benutzer anhand ihrer Konten zu identifizieren. Die Textdatei muss in jeder Zeile ein Konto enthalten:
akol@contoso.onmicrosoft.com
tjohnston@contoso.onmicrosoft.com
kakers@contoso.onmicrosoft.com
Nachdem Sie die Textdatei mit den Benutzerkonten gefü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 $_ -EXOModuleEnabled $false}
Anzeigen des Exchange Online PowerShell-Zugriffsstatus für Benutzer
Tipp
Die neuere EXOModuleEnabled Eigenschaft kann nicht mit dem Parameter "Filter" im Cmdlet "Get-User" verwendet werden, aber die Werte der EXOModuleEnabled Eigenschaft und der älteren RemotePowerShellEnabled Eigenschaft sind immer gleich. Verwenden Sie also die RemotePowerShellEnabled Eigenschaft mit dem Parameter "Filter" im Cmdlet "Get-User ".
Um den Status des PowerShell-Zugriffs für einen bestimmten Benutzer anzuzeigen, ersetzen Sie <UserIdentity> durch den Namen oder den Benutzerprinzipalnamen (User Principal Name, UPN) des Benutzers, und führen Sie den folgenden Befehl aus:
Get-User -Identity "<UserIdentity>" | Format-List EXOModuleEnabled
Führen Sie den folgenden Befehl aus, um den Exchange Online PowerShell-Zugriffsstatus für alle Benutzer anzuzeigen:
Get-User -ResultSize unlimited | Format-Table -Auto DisplayName,EXOModuleEnabled
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'