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.
Mit Remote-PowerShell in Microsoft Exchange können Sie Ihre Exchange-organization von einem Remotecomputer aus verwalten, der sich in Ihrem internen Netzwerk oder über das Internet befindet. Sie können die Möglichkeit eines Benutzers, eine Verbindung mit einem Exchange-Server herzustellen, mithilfe der Remote-PowerShell und der Exchange-Verwaltungsshell deaktivieren oder aktivieren. Weitere Informationen zur Remote-PowerShell finden Sie unter Exchange Server PowerShell (Exchange-Verwaltungsshell).
Informationen zu weiteren Verwaltungsaufgaben im Zusammenhang mit der Remote-PowerShell finden Sie unter Herstellen einer Verbindung mit Exchange-Servern mithilfe der Remote-PowerShell.
Was sollten Sie wissen, bevor Sie beginnen?
Geschätzte Zeit bis zum Abschließen der einzelnen Verfahren: Weniger als 5 Minuten
Standardmäßig haben alle Benutzerkonten Zugriff auf die Remote-PowerShell. Um jedoch die Remote-PowerShell tatsächlich zum Herstellen einer Verbindung mit einem Exchange-Server zu verwenden, muss der Benutzer ein Mitglied einer Verwaltungsrollengruppe oder direkt einer Verwaltungsrolle zugeordnet sein, die dem Benutzer die Ausführung von Exchange-Cmdlets ermöglicht. Weitere Informationen zu Rollengruppen und Verwaltungsrollen finden Sie unter Exchange Server Berechtigungen.
Wichtig
In Ihrer Eile, den Remote-PowerShell-Zugriff in Ihrer Organisation schnell und global zu deaktivieren, hüten Sie sich vor Befehlen wie
Get-User | Set-User -RemotePowerShellEnabled $false"ohne Berücksichtigung von Administratorkonten", "Dienstkonten" oder "Systemüberwachungspostfächer", die Remotezugriff von PowerShell benötigen. Verwenden Sie die Verfahren in diesem Artikel, um den Remotezugriff auf 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.com' -and $_.UserPrincipalName -ne 'admin2@contoso.com'...} | Set-User -RemotePowerShellEnabled $false.Wenn Sie sich versehentlich selbst vom Remotezugriff auf PowerShell ausschließen, müssen Sie die ansonsten dringend abgeraten empfohlene Methode verwenden, das Snap-In für die Exchange-Verwaltungsshell (
Add-PSSnapIn Microsoft.Exchange.Management.PowerShell.SnapIn) direkt zu laden, um sich Zugriff zu gewähren. Minimieren Sie mit dieser Methode den Zeitaufwand und die Änderungen, die Sie verwenden. Korrigieren Sie ein Konto, und öffnen Sie die Exchange-Verwaltungsshell, um weitere Änderungen vorzunehmen.Sie können diese Verfahren nur mithilfe von PowerShell ausführen. Informationen über das Öffnen der Exchange-Verwaltungsshell in Ihrer lokalen Exchange-Organisation finden Sie unter Open the Exchange Management Shell.
Ausführliche Informationen zur OPATH-Filtersyntax in Exchange finden Sie unter Zusätzliche Informationen zur OPATH-Syntax.
Bevor Sie dieses Verfahren bzw. diese Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Welche Berechtigungen Sie benötigen, erfahren Sie im Artikel "Remote PowerShell" im Artikel Exchange-Infrastruktur und PowerShell-Berechtigungen .
Wenn Sie nicht von Microsoft stammende Tools zum Anpassen von E-Mail-Adressen von Benutzern verwenden, müssen Sie die Richtlinien für E-Mail-Adressen der betroffenen Benutzer deaktivieren, bevor Sie die in diesem Artikel beschriebenen Schritte ausführen. Andernfalls werden mit den Set-User-Befehlen die E-Mail-Adressen der Benutzer entsprechend der geltenden E-Mail-Adressrichtlinie geändert. Um E-Mail-Adressrichtlinien für Benutzer zu deaktivieren, legen Sie den Wert des Parameters EmailAddressPolicyEnabled auf $false im Cmdlet Set-Mailbox fest.
Tipp
Liegt ein Problem vor? Bitten Sie in den Exchange Server-Foren um Hilfe.
Anzeigen des PowerShell-Remotezugriffs für Benutzer
Um den Status des Remote-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 dann den folgenden Befehl aus:
Get-User -Identity "<UserIdentity>" | Format-List RemotePowerShellEnabled
Führen Sie den folgenden Befehl aus, um den Status des Remote-PowerShell-Zugriffs für alle Benutzer anzuzeigen:
Get-User -ResultSize unlimited | Format-Table Name,DisplayName,RemotePowerShellEnabled -AutoSize
Führen Sie den folgenden Befehl aus, um alle Benutzer anzuzeigen, die keinen Zugriff auf Remote-PowerShell haben:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $false'
Führen Sie den folgenden Befehl aus, um alle Benutzer anzuzeigen, die Zugriff auf Remote-PowerShell haben:
Get-User -ResultSize unlimited -Filter 'RemotePowerShellEnabled -eq $true'
Verwenden der Exchange-Verwaltungsshell zum Aktivieren oder Deaktivieren des Remote-PowerShell-Zugriffs für einen Benutzer
In diesem Beispiel wird der Remotezugriff auf PowerShell für die Benutzerin Therese Lindqvist deaktiviert.
Set-User "Therese Lindqvist" -RemotePowerShellEnabled $false
In diesem Beispiel wird der Remote-PowerShell-Zugriff für den Benutzer namens Sirirat Kitjakarn aktiviert.
Set-User "Sirirat Kitjakarn" -RemotePowerShellEnabled $true
Verwenden der Exchange-Verwaltungsshell zum Deaktivieren des PowerShell-Remotezugriffs 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 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 Remote-PowerShell zu deaktivieren.
Filtern der Benutzer auf Grundlage eines vorhandenen Attributs
Verwenden Sie die folgende Syntax, um den Zugriff auf Remote-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 $_ -RemotePowerShellEnabled $false}
In diesem Beispiel wird der Zugriff auf Remote-PowerShell für alle Benutzer entfernt, deren Title-Attribut 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 $_ -RemotePowerShellEnabled $false}
Verwenden einer Liste spezieller Benutzer
Verwenden Sie die folgende Syntax, um den Zugriff auf Remote-PowerShell für eine Liste bestimmter Benutzer zu deaktivieren:
$<VariableName> = Get-Content <text file>
$<VariableName> | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}
In diesem Beispiel wird die Textdatei "C:\Mein Documents\NoPowerShell.txt" verwendet, um die Benutzer anhand ihres Benutzerprinzipalnamens (User Principal Name, UPN) zu identifizieren. Die Textdatei muss in jeder Zeile einen UPN enthalten, wie folgt:
akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com
Nachdem Sie die Textdatei mit den Benutzerkonten gefüllt haben, die Sie aktualisieren möchten, führen Sie die folgenden Befehle aus:
$NPS = Get-Content "C:\My Documents\NoPowerShell.txt"
$NPS | foreach {Set-User -Identity $_ -RemotePowerShellEnabled $false}