Warum Sie PowerShell für Microsoft 365 verwenden müssenWhy you need to use PowerShell for Microsoft 365

Dieser Artikel gilt sowohl für Microsoft 365 Enterprise als auch für Office 365 Enterprise.This article applies to both Microsoft 365 Enterprise and Office 365 Enterprise.

Mit dem Microsoft 365 Admin Center können Sie Ihre Microsoft 365-Benutzerkonten und -Lizenzen verwalten.With the Microsoft 365 admin center, you can manage your Microsoft 365 user accounts and licenses. Sie können auch Ihre Microsoft 365-Dienste verwalten, z. B. Exchange Online, Teams und SharePoint Online.You can also manage your Microsoft 365 services, such as Exchange Online, Teams, and SharePoint Online. Wenn Sie stattdessen PowerShell zum Verwalten dieser Dienste verwenden, können Sie die Befehlszeilen- und Skriptsprachenumgebung für Geschwindigkeit, Automatisierung und zusätzliche Funktionen nutzen.If you instead use PowerShell to manage these services, you can and take advantage of the command-line and scripting language environment for speed, automation, and additional capabilities.

In diesem Artikel wird gezeigt, wie Sie PowerShell verwenden, um Microsoft 365 zu verwalten:This article shows how to use PowerShell to manage Microsoft 365 to:

  • Weitere Informationen, die Sie im Microsoft 365 Admin Center nicht sehen könnenReveal additional information that you can't see in the Microsoft 365 admin center

  • Konfigurieren von Features und Einstellungen nur mit PowerShell möglichConfigure features and settings only possible with PowerShell

  • MassenvorgängeDo bulk operations

  • Filtern von DatenFilter data

  • Drucken oder Speichern von DatenPrint or save data

  • Dienstübergreifend verwaltenManage across services

Beachten Sie, dass PowerShell für Microsoft 365 eine Reihe von Modulen für Windows PowerShell ist, eine Befehlszeilenumgebung für Windows-basierte Dienste und Plattformen.Keep in mind that PowerShell for Microsoft 365 is a set of modules for Windows PowerShell, which is a command-line environment for Windows-based services and platforms. In dieser Umgebung wird eine Befehlsshellsprache erstellt, die mit zusätzlichen Modulen erweitert werden kann.This environment creates a command-shell language that can be extended with additional modules. Es bietet eine Möglichkeit, einfache oder komplexe Befehle oder Skripts auszuführen.It provides a way to execute simple or complex commands or scripts. Nachdem Sie beispielsweise die PowerShell für Microsoft 365-Module installiert und eine Verbindung mit Ihrem Microsoft 365-Abonnement hergestellt haben, können Sie den folgenden Befehl ausführen, um alle Benutzerpostfächer für Microsoft Exchange Online:For example, after you install the PowerShell for Microsoft 365 modules and connect to your Microsoft 365 subscription, you can run the following command to list all the user mailboxes for Microsoft Exchange Online:

Get-Mailbox

Sie können die Liste der Postfächer auch über das Microsoft 365 Admin Center erhalten, aber das Zählen der Elemente in allen Listen für alle Websites für alle Ihre Web-Apps ist nicht einfach.You could also get the list of mailboxes by using the Microsoft 365 admin center but counting the items in all the lists for all the sites for all of your web apps isn't easy.

PowerShell für Microsoft 365 soll Ihnen bei der Verwaltung von Microsoft 365 helfen und nicht das Microsoft 365 Admin Center ersetzen.PowerShell for Microsoft 365 is designed to help you manage Microsoft 365, not to replace the Microsoft 365 admin center. Administratoren müssen PowerShell für Microsoft 365 verwenden können, da einige Konfigurationsverfahren nur über PowerShell für Microsoft 365-Befehle ausgeführt werden können.Admins need to be able to use PowerShell for Microsoft 365 because there are some configuration procedures that can only be done through PowerShell for Microsoft 365 commands. In diesen Fällen müssen Sie wissen, wie Sie:For these cases, you need to know how to:

  • Installieren Sie die PowerShell für Microsoft 365-Module (nur einmal für jeden Administratorcomputer).Install the PowerShell for Microsoft 365 modules (done only one time for each administrator computer).

  • Stellen Sie eine Verbindung mit Ihrem Microsoft 365-Abonnement (einmal für jede PowerShell-Sitzung) herzustellen.Connect to your Microsoft 365 subscription (one time for each PowerShell session).

  • Sammeln Sie die Informationen, die zum Ausführen der erforderlichen PowerShell für Microsoft 365-Befehle erforderlich sind.Gather the information needed to run the required PowerShell for Microsoft 365 commands.

  • Führen Sie PowerShell für Microsoft 365-Befehle aus.Run PowerShell for Microsoft 365 commands.

Nachdem Sie diese grundlegenden Kenntnisse gelernt haben, müssen Sie ihre Postfachbenutzer nicht mithilfe des Befehls Get-Mailbox auflisten.After you learn these basic skills, you don't have to list your mailbox users by using the Get-Mailbox command. Sie müssen auch nicht verstehen, wie Sie einen neuen Befehl wie den zuvor genannten Befehl erstellen, um alle Elemente in allen Listen für alle Websites für alle Ihre Web-Apps zu zählen.You also don't have to understand how to create a new command like the command cited previously to count all the items in all the lists for all the sites for all of your web apps. Microsoft und die Community der Administratoren können Ihnen bei solchen Aufgaben bei Bedarf helfen.Microsoft and the community of administrators can help you with such tasks as needed.

PowerShell für Microsoft 365 kann Informationen preis geben, die Sie im Microsoft 365 Admin Center nicht sehen könnenPowerShell for Microsoft 365 can reveal information that you can't see with the Microsoft 365 admin center

Das Microsoft 365 Admin Center zeigt viele nützliche Informationen an.The Microsoft 365 admin center displays many useful information. Es werden jedoch nicht alle möglichen Informationen angezeigt, die Microsoft 365 zu Benutzern, Lizenzen, Postfächern und Websites speichert.But it doesn't display all the possible information that Microsoft 365 stores about users, licenses, mailboxes, and sites. Hier ist ein Beispiel für Benutzer und Gruppen im Microsoft 365 Admin Center:Here's an example for users and groups in the Microsoft 365 admin center:

Beispiel für die Anzeige von Benutzern und Gruppen im Microsoft 365 Admin Center.

Diese Ansicht enthält die Informationen, die Sie in vielen Fällen benötigen.This view provides the information that you need in many cases. Es kann jedoch vorkommen, dass Sie mehr benötigen.However, there are times when you need more. Beispielsweise hängt die Microsoft 365-Lizenzierung (und die für einen Benutzer verfügbaren Microsoft 365-Features) teilweise vom geografischen Standort des Benutzers ab.For example, Microsoft 365 licensing (and the Microsoft 365 features available to a user) depends in part on the user's geographic location. Die Richtlinien und Features, die Sie auf einen Benutzer erweitern können, der in den USA lebt, sind möglicherweise nicht mit denen identisch, die Sie auf einen Benutzer in Indien oder Belgien erweitern können.The policies and features that you can extend to a user who lives in the United States might not be the same as those that you can extend to a user in India or Belgium. Führen Sie die folgenden Schritte im Microsoft 365 Admin Center aus, um den geografischen Standort eines Benutzers zu ermitteln:Follow these steps in the Microsoft 365 admin center to determine a user's geographic location:

  1. Doppelklicken Sie auf den Anzeigenamen des Benutzers.Double-click the user's Display Name.

  2. Wählen Sie im Anzeigebereich benutzereigenschaften Details aus.In the user properties display pane, select details.

  3. Wählen Sie in der Detailanzeige weitere Details aus.In the details display, select additional details.

  4. Scrollen Sie, bis Sie die Überschrift Land oder Region finden:Scroll until you find the heading Country or region:

    Beispiel für die Regioneninformationen für einen Benutzer im Microsoft 365 Admin Center.

  5. Notieren Sie den Anzeigenamen des Benutzers auf einem Blatt Papier, oder kopieren ihn in Editor.Write the user's display name and location on a piece of paper, or copy and paste it into Notepad.

Sie müssen diese Vorgehensweise für jeden Benutzer wiederholen.You must repeat this procedure for each user. Wenn Sie über viele Benutzer verfügen, kann dieser Vorgang mühsam sein.If you have many users, this process can be tedious. Mit PowerShell für Microsoft 365 können Sie diese Informationen für alle Benutzer mithilfe des folgenden Befehls anzeigen:With PowerShell for Microsoft 365, you can display this information for all of your users by using the following command:

Get-AzureADUser | Select DisplayName, UsageLocation

Hinweis

PowerShell Core unterstützt das Microsoft Azure Active Directory-Modul für Windows PowerShell und Cmdlets, die Msol im Namen haben, nicht.PowerShell Core doesn't support the Microsoft Azure Active Directory Module for Windows PowerShell module and cmdlets that have Msol in their name. Sie müssen diese Cmdlets von Windows PowerShell.You have to run these cmdlets from Windows PowerShell.

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName                               UsageLocation
-----------                               -------------
Bonnie Kearney                            GB
Fabrice Canel                             BR
Brian Johnson (TAILSPIN)                  US
Anne Wallace                              US
Alex Darrow                               US
David Longmuir                            BR

Die Interpretation dieses PowerShell-Befehls ist: Alle Benutzer im aktuellen Microsoft 365-Abonnement (Get-AzureADUser) erhalten, aber nur den Namen und speicherort für jeden Benutzer anzeigen ( Wählen Sie DisplayName, UsageLocation aus).The interpretation of this PowerShell command is: Get all of the users in the current Microsoft 365 subscription (Get-AzureADUser), but only display the name and location for each user (Select DisplayName, UsageLocation).

Da PowerShell für Microsoft 365 eine Befehlsshellsprache unterstützt, können Sie die durch den Befehl Get-AzureADUser erhaltenen Informationen weiter bearbeiten.Because PowerShell for Microsoft 365 supports a command-shell language, you can further manipulate the information obtained by the Get-AzureADUser command. Vielleicht möchten Sie diese Benutzer beispielsweise nach ihrem Standort sortieren, indem Sie alle brasilianischen Benutzer, alle Benutzer in den Vereinigten Staaten und so weiter gruppieren.For example, maybe you'd like to sort these users by their location, grouping all the Brazilian users together, all the United States users together, and so on. Hier ist der Befehl:Here's the command:

Get-AzureADUser | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName                                 UsageLocation
-----------                                 -------------
David Longmuir                              BR
Fabrice Canel                               BR
Bonnie Kearney                              GB
Alex Darrow                                 US
Anne Wallace                                US
Brian Johnson (TAILSPIN)                    US

Die Interpretation dieses PowerShell-Befehls ist: Alle Benutzer im aktuellen Microsoft 365-Abonnement erhalten, aber nur den Namen und Speicherort für jeden Benutzer anzeigen und zuerst nach dem Speicherort und dann nach dem Namen sortieren (Sort UsageLocation, DisplayName).The interpretation of this PowerShell command is: Get all the users in the current Microsoft 365 subscription, but only display the name and location for each user and sort them first by their location and then their name (Sort UsageLocation, DisplayName).

Sie können auch zusätzliche Filterung verwenden.You can also use additional filtering. Wenn Sie beispielsweise nur Informationen zu Benutzern in Brasilien anzeigen möchten, verwenden Sie den folgenden Befehl:For example, if you only want to see information about users based in Brazil, use this command:

Get-AzureADUser | Where {$_.UsageLocation -eq "BR"} | Select DisplayName, UsageLocation 

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName                                           UsageLocation
-----------                                           -------------
David Longmuir                                        BR
Fabrice Canel                                         BR

Die Interpretation dieses PowerShell-Befehls lautet: Alle Benutzer im aktuellen Microsoft 365-Abonnement mit dem Speicherort Brasilien (Where {$ _ . UsageLocation -eq "BR"}) und dann den Namen und Speicherort für jeden Benutzer anzeigen.The interpretation of this PowerShell command is: Get all the users in the current Microsoft 365 subscription whose location is Brazil (Where {$_.UsageLocation -eq "BR"}) and then display the name and location for each user.

Hinweis zu großen DomänenA note about large domains

Wenn Sie über eine große Domäne mit Zehntausenden von Benutzern verfügen, kann das Ausprobieren einiger beispiele, die wir in diesem Artikel zeigen, zu Drosselung führen.If you have a large domain with tens of thousands of users, trying some of the examples we show in this article could lead to throttling. Basierend auf Faktoren wie Rechenleistung und verfügbarer Netzwerkbandbreite versuchen Sie möglicherweise, gleichzeitig zu viel zu tun.Based on factors like computing power and available network bandwidth, you may be trying to do too much at one time. Große Organisationen möchten einige dieser PowerShell-Vorgänge möglicherweise in zwei Befehle aufteilen.Large organizations might want to split some of these PowerShell operations into two commands.

Der folgende Befehl gibt z. B. alle Benutzerkonten zurück und zeigt den Namen und Speicherort für die einzelnen Benutzerkonten an:For example, the following command returns all the user accounts and shows the name and location for each:

Get-AzureADUser | Select DisplayName, UsageLocation

Das funktioniert auch gut bei kleineren Domänen.That works great for smaller domains. In einer großen Organisation können Sie diesen Vorgang jedoch in zwei Befehle aufteilen: einen Befehl zum Speichern der Benutzerkontoinformationen in einer Variablen und einen anderen, um die erforderlichen Informationen anzuzeigen.But in a large organization, you might want to split that operation into two commands: one command to store the user account information in a variable and another to display the needed information. Hier ein Beispiel:Here's an example:

$x = Get-AzureADUser
$x | Select DisplayName, UsageLocation

Die Interpretation dieser Gruppe von PowerShell-Befehlen ist:The interpretation of this set of PowerShell commands is:

  1. Laden Sie alle Benutzer im aktuellen Microsoft 365-Abonnement ab, und speichern Sie die Informationen in einer Variablen namens $x ($x = Get-AzureADUser).Get all the users in the current Microsoft 365 subscription and store the information in a variable named $x ($x = Get-AzureADUser).
  2. Zeigt den Inhalt der Variablen $x an, enthält jedoch nur den Namen und den Speicherort für jeden Benutzer ($x | Wählen Sie DisplayName, UsageLocation aus.Display the contents of the variable $x, but only include the name and location for each user ($x | Select DisplayName, UsageLocation).

Microsoft 365 verfügt über Features, die Sie nur mit PowerShell für Microsoft 365 konfigurieren könnenMicrosoft 365 has features that you can only configure with PowerShell for Microsoft 365

Das Microsoft 365 Admin Center soll Zugriff auf allgemeine, nützliche Verwaltungsaufgaben bieten, die für die meisten Umgebungen gelten.The Microsoft 365 admin center is intended to provide access to common, useful administrative tasks that apply to most environments. Anders ausgedrückt: Das Microsoft 365 Admin Center wurde so konzipiert, dass der typische Administrator die gängigsten Verwaltungsaufgaben ausführen kann.In other words, the Microsoft 365 admin center was designed so that the typical administrator can carry out the most-common management tasks. Es gibt jedoch einige Aufgaben, die im Admin Center nicht ausgeführt werden können.But there are some tasks that can't be done in the admin center.

Beispielsweise bietet das Skype for Business Online Admin Center einige Optionen zum Erstellen benutzerdefinierter Besprechungseinladungen:For example, the Skype for Business Online admin center provides a few options for creating custom meeting invitations:

Beispiel für die Anzeige von benutzerdefinierten Besprechungseinladungen im Skype for Business Online Admin Center

Mit diesen Einstellungen können Sie Besprechungseinladungen eine gewisse persönliche Note und Professionalität verleihen.With these settings, you can add a touch of personalization and professionalism to meeting invitations. Es gibt jedoch mehr für Besprechungskonfigurationseinstellungen, als einfach benutzerdefinierte Besprechungseinladungen zu erstellen.But there's more to meeting-configuration settings than simply creating custom meeting invitations. Besprechungen ermöglichen standardmäßig beispielsweise Folgendes:For example, by default, meetings allow:

  • anonymen Benutzern, automatischen Zugang zu jeder Besprechung zu erhaltenAnonymous users to gain automatic entrance to each meeting.

  • Teilnehmern, die Besprechung aufzuzeichnen.Attendees to record the meeting.

  • das Festlegen aller Benutzer in Ihrer Organisation als Referenten, wenn sie an der Besprechung teilnehmen.All users from your organization to be designated as presenters when they join the meeting.

Diese Einstellungen sind im Skype for Business Online Admin Center nicht verfügbar.These settings aren't available from the Skype for Business Online admin center. Sie können sie über PowerShell für Microsoft 365 steuern.You can control them from PowerShell for Microsoft 365. Hier ist ein Befehl, der diese drei Einstellungen deaktiviert:Here's a command that disables these three settings:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

Hinweis

Zum Ausführen dieses Befehls müssen Sie das Skype for Business Online PowerShell-Modul installieren. To run this command, you must install the Skype for Business Online PowerShell Module .

Die Interpretation dieses PowerShell-Befehls ist:The interpretation of this PowerShell command is:

  1. Deaktivieren Sie in den Einstellungen für neue Skype for Business Online-Besprechungen (Set-CsMeetingConfiguration), anonymen Benutzern den automatischen Eingang zu Besprechungen zu ermöglichen (-AdmitAnonymousUsersByDefault $False).In the settings for new Skype for Business Online meetings (Set-CsMeetingConfiguration), disable allowing anonymous users to gain automatic entrance to meetings (-AdmitAnonymousUsersByDefault $False).
  2. Deaktivieren Der Teilnehmer kann Besprechungen aufzeichnen (-AllowConferenceRecording $False).Disable the ability for attendees to record meetings (-AllowConferenceRecording $False).
  3. Geben Sie nicht alle Benutzer aus Ihrer Organisation als Moderatoren an (-DesignateAsPresenter "None").Don't designate all users from your organization as presenters (-DesignateAsPresenter "None").

Führen Sie diesen Befehl aus, um diese Standardeinstellungen wiederherzustellen (aktivieren Sie die Optionen):To restore these default settings (enable the options), run this command:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

Es gibt auch andere ähnliche Szenarien, weshalb Administratoren wissen sollten, wie PowerShell für Microsoft 365-Befehle ausgeführt wird.There are other similar scenarios as well, which is why administrators should know how to run PowerShell for Microsoft 365 commands.

PowerShell für Microsoft 365 ist ideal für MassenvorgängePowerShell for Microsoft 365 is great for bulk operations

Visuelle Schnittstellen wie das Microsoft 365 Admin Center sind am wertvollsten, wenn Sie über einen einzelnen Vorgang verfügen.Visual interfaces like the Microsoft 365 admin center are most valuable when you have a single operation to do. Wenn Sie beispielsweise ein Benutzerkonto deaktivieren müssen, können Sie das Admin Center verwenden, um ein Kontrollkästchen schnell zu finden und zu deaktivieren.For example, if you need to disable one user account, you can use the admin center to quickly locate and clear a checkbox. Dies ist möglicherweise einfacher als das Ausführen eines ähnlichen Vorgangs in PowerShell.This may be easier than performing a similar operation in PowerShell.

Wenn Sie jedoch viele Dinge oder ausgewählte Dinge in einer großen Reihe anderer Dinge ändern müssen, ist das Microsoft 365 Admin Center möglicherweise nicht das beste Tool.But if you have to change many things or some selected things within a large set of other things, the Microsoft 365 admin center might not be the best tool. Nehmen wir beispielsweise an, Sie müssen das Präfix für Tausende von Telefonnummern ändern oder den bestimmten Benutzer Ken Myer von allen SharePoint Online-Websites entfernen.For example, say you have to change the prefix on thousands of phone numbers or remove the specific user Ken Myer from all your SharePoint Online sites. Wie würden Sie dies im Microsoft 365 Admin Center tun?How would you do that in the Microsoft 365 admin center?

Im letzten Beispiel sagen Sie, Sie haben mehrere hundert SharePoint Online-Websites, und Sie wissen nicht, bei welchen Ken Meyer ein Mitglied ist.For the last example, say you have several hundred SharePoint Online sites, and you don't know which ones Ken Meyer is a member of. Sie müssen im Microsoft 365 Admin Center beginnen und dann dieses Verfahren für jede Website ausführen:You would have to start at the Microsoft 365 admin center and then perform this procedure for each site:

  1. Wählen Sie die URL der Website aus.Select the URL of the site.

  2. Wählen Sie im Feld Websitesammlungseigenschaften den Link Websiteadresse aus, um die Website zu öffnen.In the site collection properties box, select the Web Site Address link to open the site.

  3. Wählen Sie auf der Website Freigeben aus.On the site, select Share.

  4. Wählen Sie im Dialogfeld Freigeben den Link aus, der alle Benutzer mit Berechtigungen für die Website zeigt:In the Share dialog box, select the link that shows all the users who have permissions to the site:

    Beispiel der Anzeige der Mitglieder einer SharePoint Online-Website im SharePoint Online Admin Center.

  5. Wählen Sie im Dialogfeld Freigegeben mit die Option Erweitert aus.In the Shared With dialog box, select Advanced.

  6. Scrollen Sie in der Liste der Benutzer nach unten, suchen und wählen Sie Ken Myer aus (vorausgesetzt, er verfügt über Berechtigungen für die Website), und wählen Sie dann Benutzerberechtigungen entfernen aus.Scroll down the list of users, find and select Ken Myer (assuming he has permissions to the site), and then select Remove User Permissions.

Dies würde für mehrere hundert Websites sehr lange dauern.This would take a long time for several hundred sites.

Die Alternative besteht im Ausführen des folgenden Befehls in PowerShell für Microsoft 365, um Ken Myer von allen Ihren Websites zu entfernen:The alternative is to run the following command in PowerShell for Microsoft 365 to remove Ken Myer from all your sites:

Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}

Hinweis

Für diesen Befehl müssen Sie das SharePoint Online PowerShell-Modul installieren.This command requires that you install the SharePoint Online PowerShell module.

Die Interpretation dieses PowerShell-Befehls lautet: Alle SharePoint-Websites im aktuellen Microsoft 365-Abonnement (Get-SPOSite) und für jede Website Ken Meyer aus der Liste der Benutzer entfernen, die darauf zugreifen können (ForEach {Remove-SPOUser -Site $ _ . Url -LoginName "kenmyer @ litwareinc.com"}).The interpretation of this PowerShell command is: Get all of the SharePoint sites in the current Microsoft 365 subscription (Get-SPOSite) and for each site remove Ken Meyer from the list of users who can access it (ForEach {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}).

Wir teilen Microsoft 365 mit, Ken Meyer von jeder Website zu entfernen, einschließlich derjenigen, auf die er keinen Zugriff hat.We tell Microsoft 365 to remove Ken Meyer from every site, including those that he doesn't have access to. Die Ergebnisse zeigen also Fehler für websites, auf die er keinen Zugriff hat.So the results will show errors for those sites that he doesn't have access to. Wir können eine zusätzliche Bedingung für diesen Befehl verwenden, um Ken Meyer nur von den Websites zu entfernen, auf deren Anmeldeliste er sich befindet.We can use an additional condition on this command to remove Ken Meyer only from the sites that have him on their login list. Die zurückgegebenen Fehler verursachen jedoch keinen Schaden für die Websites selbst.But the errors that are returned cause no harm to the sites themselves. Dieser Befehl kann einige Minuten dauern, bis er für Hunderte von Websites ausgeführt wird, anstatt stundenlang durch das Microsoft 365 Admin Center zu arbeiten.This command might take a few minutes to run against hundreds of sites, rather than hours of working through the Microsoft 365 admin center.

Hier sehen Sie ein weiteres Beispiel für einen Massenvorgang.Here's another bulk operation example. Verwenden Sie diesen Befehl, um "Bonnie Kearney", einen neuen SharePoint-Administrator, zu allen Websites in der Organisation hinzuzufügen:Use this command to add Bonnie Kearney, a new SharePoint administrator, to all sites in the organization:

Get-SPOSite | ForEach {Add-SPOUser -Site $_.Url -LoginName "bkearney@litwareinc.com" -Group "Members"}

Die Interpretation dieses PowerShell-Befehls lautet: Alle SharePoint-Websites im aktuellen Microsoft 365-Abonnement erhalten und für jede Website den Zugriff auf "Bonnie Kearney" zulassen, indem sie ihren Anmeldenamen der Gruppe Mitglieder der Website hinzufügen (ForEach {Add-SPOUser -Site $ _ . Url -LoginName "bkearney @ litwareinc.com" -Group "Members"}).The interpretation of this PowerShell command is: Get all the SharePoint sites in the current Microsoft 365 subscription and for each site allow Bonnie Kearney access by adding her login name to the Members group of the site (ForEach {Add-SPOUser -Site $_.Url -LoginName "bkearney@litwareinc.com" -Group "Members"}).

PowerShell für Microsoft 365 ist beim Filtern von Daten sehr gutPowerShell for Microsoft 365 is great at filtering data

Das Microsoft 365 Admin Center bietet verschiedene Möglichkeiten, Ihre Daten zu filtern, um eine gezielte Teilmenge von Informationen auf einfache Weise zu finden.The Microsoft 365 admin center provides several ways to filter your data to easily locate a targeted subset of information. Mit Exchange können Sie beispielsweise leicht nach praktisch jeder Eigenschaft eines Benutzerpostfachs filtern.For example, Exchange makes it easy to filter on practically any property of a user mailbox. Hier ist beispielsweise die Liste der Postfächer für alle Benutzer, die in bloomington leben:For example, here's the list of mailboxes for all the users who live in the city of Bloomington:

Beispiel für eine erweiterte Suche im Microsoft 365 Admin Center für die Liste der Postfächer für alle Benutzer, die in bloomington leben.

Im Exchange Admin Center können Sie auch Filterkriterien kombinieren.The Exchange Admin center also lets you combine filter criteria. Beispielsweise finden Sie die Postfächer für alle Personen, die in Bloomington leben und in der Finanzabteilung arbeiten.For example, you can find the mailboxes for all the people who live in Bloomington and work in the Finance department.

Es gibt jedoch Einschränkungen für das, was Sie im Exchange Admin Center tun können.But there are limitations to what you can do in the Exchange Admin center. Beispielsweise konnten Sie nicht so einfach die Postfächer von Personen finden, die in Bloomington oder San Diego leben, oder die Postfächer für alle Personen, die nicht in Bloomington leben.For example, you couldn't as easily find the mailboxes of people who live in Bloomington or San Diego, or the mailboxes for all people who don't live in Bloomington.

Sie können den folgenden PowerShell für Microsoft 365-Befehl verwenden, um eine Liste der Postfächer für alle Personen zu erhalten, die in Bloomington oder San Diego leben:You can use the following PowerShell for Microsoft 365 command to get a list of mailboxes for all the people who live in Bloomington or San Diego:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")} | Select DisplayName, City

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName                              City
-----------                              ----
Alex Darrow                              San Diego
Bonnie Kearney                           San Diego
Julian Isla                              Bloomington
Rob Young                                Bloomington

Die Interpretation dieses PowerShell-Befehls lautet: Alle Benutzer im aktuellen Microsoft 365-Abonnement mit einem Postfach in San Diego oder Bloomington (Where {$ _ . RecipientTypeDetails -eq "UserMailbox" -and ($ _ . City -eq "San Diego" -or $ _ . City -eq "Bloomington")}), und zeigen Sie dann den Namen und die Stadt für jede (Select DisplayName, City) an.The interpretation of this PowerShell command is: Get all the users in the current Microsoft 365 subscription who have a mailbox in the city of San Diego or Bloomington (Where {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")}), and then display the name and city for each (Select DisplayName, City).

Und hier ist der Befehl zum Auflisten aller Postfächer für Personen, die an einem beliebigen Ort mit Ausnahme von Bloomington leben:And here's the command to list all the mailboxes for people who live anywhere except Bloomington:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"} | Select DisplayName, City

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName                               City
-----------                               ----
MOD Administrator                         Redmond
Alex Darrow                               San Diego
Allie Bellew                              Bellevue
Anne Wallace                              Louisville
Aziz Hassouneh                            Cairo
Belinda Newman                            Charlotte
Bonnie Kearney                            San Diego
David Longmuir                            Waukesha
Denis Dehenne                             Birmingham
Garret Vargas                             Seattle
Garth Fort                                Tulsa
Janet Schorr                              Bellevue

Die Interpretation dieses PowerShell-Befehls lautet: Get all the users in the current Microsoft 365 subscription who have a mailbox not located in the city of Bloomington (Where {$ _ . RecipientTypeDetails -eq "UserMailbox" -and $ _ . City -ne "Bloomington"}), und zeigen Sie dann den Namen und die Stadt für jeden an.The interpretation of this PowerShell command is: Get all the users in the current Microsoft 365 subscription who have a mailbox not located in the city of Bloomington (Where {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"}), and then display the name and city for each.

Verwenden von PlatzhalternUse wildcards

Sie können auch Platzhalterzeichen in Ihren PowerShell-Filtern verwenden, um einen Teil eines Namens zu entsprechen.You can also use wildcard characters in your PowerShell filters to match part of a name. Angenommen, Sie suchen nach einem Benutzerkonto.For example, suppose you're looking for a user account. Sie können sich nur daran erinnern, dass der Nachname des Benutzers Anderson oder vielleicht Henderson oder Jorgenson war.All you can remember is that the user's last name was Anderson or maybe Henderson or Jorgenson.

Sie können diesen Benutzer im Microsoft 365 Admin Center nachverfolgen, indem Sie das Suchtool verwenden und drei verschiedene Suchen durchführen:You could track down that user in the Microsoft 365 admin center by using the search tool and carrying out three different searches:

  • Eine für AndersonOne for Anderson

  • Eine für HendersonOne for Henderson

  • Und eine für JorgensonOne for Jorgenson

Da alle drei namen in "son" enden, können Sie PowerShell mitteilen, dass alle Benutzer angezeigt werden, deren Name in "son" endet.Because all three of these names end in "son", you can tell PowerShell to display all the users whose name ends in "son". Hier ist der Befehl:Here's the command:

Get-User -Filter '{LastName -like "*son"}'

Die Interpretation dieses PowerShell-Befehls lautet: Alle Benutzer im aktuellen Microsoft 365-Abonnement erhalten, verwenden Sie jedoch einen Filter, der nur die Benutzer auflistet, deren Nachnamen in "son" enden (-Filter '{LastName -like " * son"}').The interpretation of this PowerShell command is: Get all the users in the current Microsoft 365 subscription, but use a filter that only lists the users whose last names end in "son" (-Filter '{LastName -like "*son"}'). Der steht für einen beliebigen Satz von Zeichen, bei denen es sich um Buchstaben * im Nachnamen des Benutzers handelt.The * stands for any set of characters, which are letters in the user's last name.

PowerShell für Microsoft 365 erleichtert das Drucken oder Speichern von DatenPowerShell for Microsoft 365 makes it easy to print or save data

Im Microsoft 365 Admin Center können Sie Listen mit Daten anzeigen.The Microsoft 365 admin center lets you view lists of data. Hier ist ein Beispiel für das Skype for Business Online Admin Center, in dem eine Liste der Benutzer angezeigt wird, die für Skype for Business Online aktiviert wurden:Here's an example of the Skype for Business Online admin center displaying a list of users who have been enabled for Skype for Business Online:

Beispiel für das Skype for Business Online Admin Center, in dem eine Liste von Benutzern angezeigt wird, die für Skype for Business Online aktiviert wurden.

Um diese Informationen in einer Datei zu speichern, müssen Sie sie in ein Dokument oder ein Microsoft Excel-Arbeitsblatt einfügen.To save that information to a file, you must paste it into a document or Microsoft Excel worksheet. In beiden Fällen kann zusätzliche Formatierung erforderlich sein.Either case might require additional formatting. Darüber hinaus bietet das Microsoft 365 Admin Center keine Möglichkeit, die angezeigte Liste direkt zu drucken.Additionally, the Microsoft 365 admin center doesn't provide a way to directly print the displayed list.

Glücklicherweise können Sie PowerShell verwenden, um die Liste nicht nur zu anzeigen, sondern sie in einer Datei zu speichern, die problemlos in Excel importiert werden kann.Fortunately, you can use PowerShell to not only display the list but to save it to a file that can be easily imported into Excel. Hier ist ein Beispielbefehl zum Speichern von Skype for Business Online-Benutzerdaten in einer CSV-Datei (Comma-Separated Values), die dann einfach als Tabelle in einem Excel-Arbeitsblatt importiert werden kann:Here's an example command to save Skype for Business Online user data to a comma-separated values (CSV) file, which can then be easily imported as a table in an Excel worksheet:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

Beispiel für eine Tabelle, die in ein Excel-Arbeitsblatt für Skype for Business Online-Benutzerdaten importiert wurde, die in einer durch Kommas getrennten Wertedatei gespeichert wurden.

Die Interpretation dieses PowerShell-Befehls ist: Alle Skype for Business Online-Benutzer im aktuellen Microsoft 365-Abonnement erhalten (Get-CsOnlineUser); nur den Benutzernamen, den UPN und den Speicherort abrufen (Select DisplayName, UserPrincipalName, UsageLocation); und speichern Sie diese Informationen dann in einer CSV-Datei namens C: \ Logs \SfBUsers.csv (Export-Csv -Path "C: \ Logs \SfBUsers.csv" -NoTypeInformation).The interpretation of this PowerShell command is: Get all the Skype for Business Online users in the current Microsoft 365 subscription (Get-CsOnlineUser); obtain only the user name, UPN, and location (Select DisplayName, UserPrincipalName, UsageLocation); and then save that information in a CSV file named C:\Logs\SfBUsers.csv (Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation).

Sie können auch Optionen verwenden, um diese Liste als XML-Datei oder HTML-Seite zu speichern.You can also use options to save this list as an XML file or an HTML page. Mit zusätzlichen PowerShell-Befehlen könnten Sie sie direkt als Excel-Datei speichern, mit jeder beliebigen benutzerdefinierten Formatierung.In fact, with additional PowerShell commands, you could save it directly as an Excel file, with any custom formatting you want.

Sie können auch die Ausgabe eines PowerShell-Befehls senden, der eine Liste direkt an den Standarddrucker in Windows anzeigt.You can also send the output of a PowerShell command that displays a list directly to the default printer in Windows. Hier ist ein Beispielbefehl:Here's an example command:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Out-Printer

Das gedruckte Dokument sieht wie folgt aus:Here's what your printed document will look like:

Beispiel für ein gedrucktes Dokument, das die Ausgabe eines PowerShell-Befehls war, der direkt an den Standarddrucker in Windows gesendet wurde.

Die Interpretation dieses #A0 ist: Alle Skype for Business #A1 im aktuellen Microsoft 365-Abonnement erhalten; nur den Benutzernamen, den UPN und den Speicherort abrufen; und senden Sie diese Informationen dann an den Standardmäßigen Windows-Drucker ( Out-Printer).The interpretation of this PowerShell command is: Get all the Skype for Business Online users in the current Microsoft 365 subscription; obtain only the user name, UPN, and location; and then send that information to the default Windows printer (Out-Printer).

Das gedruckte Dokument hat dieselbe einfache Formatierung wie die Anzeige im PowerShell-Befehlsfenster.The printed document has the same simple formatting as the display in the PowerShell command window. Um eine Kopie zu erhalten, fügen Sie einfach | Out-Printer bis zum Ende des Befehls.To get a hard copy, just add | Out-Printer to the end of the command.

Mit PowerShell für Microsoft 365 können Sie serverübergreifend verwaltenPowerShell for Microsoft 365 lets you manage across server products

Die Komponenten aus Microsoft 365 sind für die Zusammenarbeit konzipiert.The components that make up Microsoft 365 are designed to work together. Angenommen, Sie fügen Microsoft 365 einen neuen Benutzer hinzu, und Sie geben informationen wie die Abteilung und Telefonnummer des Benutzers an.For example, suppose you add a new user to Microsoft 365, and you specify such information as the user's department and phone number. Diese Informationen sind dann verfügbar, wenn Sie auf die Informationen des Benutzers in einem der Microsoft 365-Dienste zugreifen: Skype for Business Online, Exchange oder SharePoint.That information will then be available if you access the user's information in any of the Microsoft 365 services: Skype for Business Online, Exchange, or SharePoint.

Hierbei handelt es sich um allgemeine Informationen, die für die ganze Produktsuite gleich sind.But that's for common information that spans the suite of products. Produktspezifische Informationen, z. B. Informationen zum Exchange-Postfach eines Benutzers, sind in der Regel nicht in der gesamten Suite verfügbar.Product-specific information, such as information about a user's Exchange mailbox, isn't typically available across the suite. Informationen dazu, ob das Postfach eines Benutzers aktiviert ist oder nicht, sind beispielsweise nur im Exchange Admin Center verfügbar.For example, information about whether a user's mailbox is enabled or not is available only in the Exchange admin center.

Angenommen, Sie möchten einen Bericht erstellen, in dem die folgenden Informationen für alle Benutzer enthalten sind:Suppose you'd like to make a report that shows the following information for all your users:

  • Den Anzeigenamen des BenutzersThe user's display name

  • Gibt an, ob der Benutzer für Microsoft 365 lizenziert istWhether the user is licensed for Microsoft 365

  • Ob das Exchange-Postfach des Benutzers aktiviert wurdeWhether the user's Exchange mailbox has been enabled

  • Ob der Benutzer für Skype for Business Online aktiviert istWhether the user is enabled for Skype for Business Online

Sie können einen solchen Bericht nicht einfach im Microsoft 365 Admin Center erstellen.You can't easily produce such a report in the Microsoft 365 admin center. Stattdessen müssten Sie ein separates Dokument erstellen, um die Informationen zu speichern, z. B. ein Excel-Arbeitsblatt.Instead, you would have to create a separate document to store the information, such as an Excel worksheet. Dann erhalten Sie alle Benutzernamen und Lizenzierungsinformationen aus dem Microsoft 365 Admin Center, erhalten Postfachinformationen aus dem Exchange Admin Center, erhalten Skype for Business Online-Informationen aus dem Skype for Business Online Admin Center, und kombinieren Sie diese Informationen.Then, get all the user names and licensing information from the Microsoft 365 admin center, get mailbox information from the Exchange Admin center, get Skype for Business Online information from the Skype for Business Online Admin center, and then combine that information.

Die Alternative besteht in der Verwendung eines PowerShell-Skripts, um den Bericht für Sie zu kompilieren.The alternative is to use a PowerShell script to compile the report for you.

Das folgende Beispielskript ist komplizierter als die Befehle, die Sie bisher in diesem Artikel gesehen haben.The following example script is more complicated than the commands you've seen so far in this article. Es zeigt jedoch das Potenzial der Verwendung von PowerShell zum Erstellen von Informationsansichten, die andernfalls schwer zu erhalten sind.But, it shows the potential of using PowerShell to create information views that are difficult to get otherwise. Hier ist das Skript zum Kompilieren und Anzeigen der benötigten Liste:Here's the script to compile and display the list you need:

$x = Get-AzureADUser

foreach ($i in $x)
    {
      $y = Get-Mailbox -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled

      $y = Get-CsOnlineUser -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled
    }

$x | Select DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB

Hier ein Beispiel für die Ergebnisse:Here's an example of the results:

DisplayName             IsLicensed   IsMailboxEnabled   EnabledForSfB
-----------             ----------   ----------------   --------------
Bonnie Kearney          True         True               True
Fabrice Canel           True         True               True
Brian Johnson           False        True               False
Anne Wallace            True         True               True
Alex Darrow             True         True               True
David Longmuir          True         True               True
Katy Jordan             False        True               False
Molly Dempsey           False        True               False

Die Interpretation dieses PowerShell-Skripts ist:The interpretation of this PowerShell script is:

  1. Laden Sie alle Benutzer im aktuellen Microsoft 365-Abonnement ab, und speichern Sie die Informationen in einer Variablen mit dem Namen $x ($x = Get-AzureADUser).Get all the users in the current Microsoft 365 subscription and store the information in a variable that's named $x ($x = Get-AzureADUser).
  2. Starten Sie eine Schleife, die über alle Benutzer in der Variablen $x (foreach ($i in $x) ausgeführt wird.Start a loop that runs over all the users in the variable $x (foreach ($i in $x)).
  3. Definieren Sie eine Variable namens $y und speichern Sie die Postfachinformationen des Benutzers in dieser ( $y =Get-Mailbox -Identity $i.UserPrincipalName).Define a variable named $y and store the user's mailbox information in it ($y = Get-Mailbox -Identity $i.UserPrincipalName).
  4. Fügen Sie den Benutzerinformationen mit dem Namen IsMailBoxEnabled eine neue Eigenschaft hinzu.Add a new property to the user information that's named IsMailBoxEnabled. Legen Sie ihn auf den Wert der IsMailBoxEnabled-Eigenschaft des Postfachs des Benutzers fest ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).Set it to the value of the IsMailBoxEnabled property of the user's mailbox ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).
  5. Definieren Sie eine Variable namens $y, und speichern Sie die Skype for Business Online-Informationen des Benutzers in dieser ( $y =Get-CsOnlineUser -Identity $i.UserPrincipalName).Define a variable named $y, and store the user's Skype for Business Online information in it ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
  6. Fügen Sie den Benutzerinformationen mit dem Namen EnabledForSfB eine neue Eigenschaft hinzu.Add a new property to the user information that's named EnabledForSfB. Legen Sie ihn auf den Wert der Enabled-Eigenschaft der Skype for Business Online-Informationen des Benutzers fest ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled).Set it to the value of the Enabled property of the user's Skype for Business Online information ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled).
  7. Zeigt die Liste der Benutzer an, enthält jedoch nur ihren Namen, ob sie lizenziert sind, und die beiden neuen Eigenschaften, die angeben, ob ihr Postfach aktiviert ist und ob sie für Skype for Business Online aktiviert sind ($x | Wählen Sie DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB aus.Display the list of users, but include only their name, whether they are licensed, and the two new properties that indicate whether their mailbox is enabled and whether they are enabled for Skype for Business Online ($x | Select DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB).

Siehe auchSee also

Erste Schritte mit PowerShell für Microsoft 365Get started with PowerShell for Microsoft 365

Verwalten von Microsoft 365-Benutzerkonten, -Lizenzen und -Gruppen mit PowerShellManage Microsoft 365 user accounts, licenses, and groups with PowerShell

Verwenden der Windows PowerShell zum Erstellen von Berichten in Microsoft 365Use Windows PowerShell to create reports in Microsoft 365