Warum Sie PowerShell für Microsoft 365 verwenden müssen

Dieser Artikel gilt sowohl für Microsoft 365 Enterprise als auch für Office 365 Enterprise.

Mit dem Microsoft 365 Admin Center können Sie Ihre Microsoft 365 Benutzerkonten und -lizenzen verwalten. Sie können auch Ihre Microsoft 365-Dienste verwalten, z. B. Exchange Online, Teams und 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.

In diesem Artikel wird gezeigt, wie PowerShell verwendet wird, um Microsoft 365 für Folgendes zu verwalten:

  • Weitere Informationen anzeigen, die im Microsoft 365 Admin Center nicht angezeigt werden können

  • Konfigurieren von Features und Einstellungen nur mit PowerShell möglich

  • Ausführen von Massenvorgängen

  • Filtern von Daten

  • Drucken oder Speichern von Daten

  • Dienstübergreifend verwalten

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. Diese Umgebung erstellt eine Befehlsshellsprache, die mit zusätzlichen Modulen erweitert werden kann. Es bietet eine Möglichkeit zum Ausführen einfacher oder komplexer Befehle oder Skripts. 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 auflisten:

Get-Mailbox

Sie können auch die Liste der Postfächer mithilfe der Microsoft 365 Admin Center abrufen, aber das Zählen der Elemente in allen Listen für alle Websites für alle Web-Apps ist nicht einfach.

PowerShell für Microsoft 365 wurde entwickelt, um Ihnen bei der Verwaltung von Microsoft 365 zu helfen und die Microsoft 365 Admin Center nicht zu ersetzen. Administratoren müssen PowerShell für Microsoft 365 verwenden können, da es einige Konfigurationsverfahren gibt, die nur über PowerShell für Microsoft 365 Befehle ausgeführt werden können. In diesen Fällen müssen Sie wissen, wie Sie:

  • Installieren Sie powerShell für Microsoft 365 Module (nur einmal für jeden Administratorcomputer).

  • Verbinden zu Ihrem Microsoft 365-Abonnement (einmal für jede PowerShell-Sitzung).

  • Sammeln Sie die Informationen, die zum Ausführen der erforderlichen PowerShell für Microsoft 365 Befehle erforderlich sind.

  • Führen Sie PowerShell für Microsoft 365 Befehle aus.

Nachdem Sie diese grundlegenden Fähigkeiten gelernt haben, müssen Sie Ihre Postfachbenutzer nicht mithilfe des Befehls "Get-Mailbox " auflisten. Sie müssen auch nicht verstehen, wie Sie einen neuen Befehl wie den zuvor zitierten Befehl erstellen, um alle Elemente in allen Listen für alle Websites für alle Web-Apps zu zählen. Microsoft und die Community von Administratoren können Ihnen bei solchen Aufgaben nach Bedarf helfen.

PowerShell für Microsoft 365 kann Informationen anzeigen, die sie mit dem Microsoft 365 Admin Center

Die Microsoft 365 Admin Center zeigt viele nützliche Informationen an. Es werden jedoch nicht alle möglichen Informationen angezeigt, die Microsoft 365 über Benutzer, Lizenzen, Postfächer und Websites speichert. Hier ist ein Beispiel für Benutzer und Gruppen in der 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. Es kann jedoch vorkommen, dass Sie mehr benötigen. Beispielsweise hängt Microsoft 365 Lizenzierung (und die Microsoft 365 Features, die einem Benutzer zur Verfügung stehen) teilweise vom geografischen Standort des Benutzers ab. Die Richtlinien und Features, die Sie auf einen Benutzer erweitern können, der in der USA lebt, sind möglicherweise nicht mit denen identisch, die Sie auf einen Benutzer in Indien oder Belgien erweitern können. Führen Sie die folgenden Schritte im Microsoft 365 Admin Center aus, um den geografischen Standort eines Benutzers zu ermitteln:

  1. Doppelklicken Sie auf den Anzeigenamen des Benutzers.

  2. Wählen Sie im Anzeigebereich für Benutzereigenschaften Details aus.

  3. Wählen Sie in der Detailanzeige weitere Details aus.

  4. Scrollen Sie, bis Sie die Überschrift "Land oder Region" gefunden haben:

    Beispiel für die Regionsinformationen für einen Benutzer in der Microsoft 365 Admin Center.

  5. Notieren Sie den Anzeigenamen des Benutzers auf einem Blatt Papier, oder kopieren ihn in Editor.

Sie müssen diese Vorgehensweise für jeden Benutzer wiederholen. Wenn Sie viele Benutzer haben, kann dieser Vorgang mühsam sein. Mit PowerShell für Microsoft 365 können Sie diese Informationen für alle Benutzer mithilfe des folgenden Befehls anzeigen:

Get-AzureADUser | Select DisplayName, UsageLocation

Hinweis

PowerShell Core unterstützt das Microsoft Azure Active Directory Modul für Windows PowerShell Modul und Cmdlets, die Msol im Namen haben, nicht. Sie müssen diese Cmdlets aus Windows PowerShell ausführen.

Hier ist ein Beispiel für die Ergebnisse:

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 lautet: Alle Benutzer im aktuellen Microsoft 365-Abonnement abrufen (Get-AzureADUser), aber nur den Namen und Speicherort für jeden Benutzer anzeigen (DisplayName auswählen, UsageLocation).

Da PowerShell für Microsoft 365 eine Befehlsshellsprache unterstützt, können Sie die vom Befehl Get-AzureADUser abgerufenen Informationen weiter bearbeiten. Vielleicht möchten Sie diese Benutzer beispielsweise nach ihrem Standort sortieren, alle brasilianischen Benutzer, alle USA Benutzer zusammen gruppieren usw. Hier ist der Befehl:

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

Hier ist ein Beispiel für die Ergebnisse:

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 lautet: Rufen Sie alle Benutzer im aktuellen Microsoft 365 Abonnement ab, zeigen Sie jedoch nur den Namen und Speicherort für jeden Benutzer an, und sortieren Sie sie zuerst nach ihrem Standort und dann nach ihrem Namen (UsageLocation sortieren, DisplayName).

Sie können auch zusätzliche Filter verwenden. Wenn Sie beispielsweise nur Informationen zu Benutzern in Brasilien anzeigen möchten, verwenden Sie den folgenden Befehl:

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

Hier ist ein Beispiel für die Ergebnisse:

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

Die Interpretation dieses PowerShell-Befehls lautet: Abrufen aller Benutzer im aktuellen Microsoft 365 Abonnement, dessen Standort Brasilien ist (Wobei {$_. UsageLocation -eq "BR"}) und zeigt dann den Namen und die Position für jeden Benutzer an.

Hinweis zu großen Domänen

Wenn Sie über eine große Domäne mit Zehntausenden von Benutzern verfügen, kann das Ausprobieren einiger der beispiele, die wir in diesem Artikel zeigen, zur Drosselung führen. Basierend auf Faktoren wie Rechenleistung und verfügbarer Netzwerkbandbreite versuchen Sie möglicherweise, zu viel gleichzeitig zu tun. Große Organisationen möchten möglicherweise einige dieser PowerShell-Vorgänge in zwei Befehle aufteilen.

Der folgende Befehl gibt z. B. alle Benutzerkonten zurück und zeigt den Namen und Speicherort für die einzelnen Benutzer an:

Get-AzureADUser | Select DisplayName, UsageLocation

Das funktioniert auch gut bei kleineren Domänen. In einer großen Organisation möchten Sie diesen Vorgang jedoch möglicherweise in zwei Befehle aufteilen: einen Befehl zum Speichern der Benutzerkontoinformationen in einer Variablen und einen anderen, um die erforderlichen Informationen anzuzeigen. Hier ist ein Beispiel:

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

Die Interpretation dieser Gruppe von PowerShell-Befehlen lautet:

  1. Rufen Sie alle Benutzer im aktuellen Microsoft 365-Abonnement ab, und speichern Sie die Informationen in einer Variablen namens $x ($x = Get-AzureADUser).
  2. Anzeigen des Inhalts der Variablen $x, aber nur Den Namen und Speicherort für jeden Benutzer einschließen ($x | Wählen Sie DisplayName, UsageLocation) aus.

Microsoft 365 verfügt über Features, die Sie nur mit PowerShell für Microsoft 365 konfigurieren können

Die Microsoft 365 Admin Center soll den Zugriff auf allgemeine, nützliche Administrative Aufgaben ermöglichen, die für die meisten Umgebungen gelten. Mit anderen Worten, die Microsoft 365 Admin Center wurde so konzipiert, dass der typische Administrator die gängigsten Verwaltungsaufgaben ausführen kann. Es gibt jedoch einige Aufgaben, die im Admin Center nicht erledigt werden können.

Beispielsweise bietet das Skype for Business Online Admin Center einige Optionen zum Erstellen benutzerdefinierter Besprechungseinladungen:

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. Es gibt jedoch mehr einstellungen für die Besprechungskonfiguration, als nur benutzerdefinierte Besprechungseinladungen zu erstellen. Besprechungen ermöglichen standardmäßig beispielsweise Folgendes:

  • anonymen Benutzern, automatischen Zugang zu jeder Besprechung zu erhalten

  • Teilnehmern, die Besprechung aufzuzeichnen.

  • das Festlegen aller Benutzer in Ihrer Organisation als Referenten, wenn sie an der Besprechung teilnehmen.

Diese Einstellungen sind im Skype for Business Online Admin Center nicht verfügbar. Sie können sie über PowerShell für Microsoft 365 steuern. Hier ist ein Befehl, mit dem diese drei Einstellungen deaktiviert werden:

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

Hinweis

Um diesen Befehl auszuführen, müssen Sie das Skype for Business Online PowerShell-Modul installieren.

Die Interpretation dieses PowerShell-Befehls lautet:

  1. Deaktivieren Sie in den Einstellungen für neue Skype for Business Onlinebesprechungen (Set-CsMeetingConfiguration), dass anonyme Benutzer automatischen Zugang zu Besprechungen erhalten (-AdmitAnonymousUsersByDefault $False).
  2. Deaktivieren Sie die Möglichkeit für Teilnehmer, Besprechungen aufzuzeichnen (-AllowConferenceRecording $False).
  3. Benennen Sie nicht alle Benutzer aus Ihrer Organisation als Referenten (-DesignateAsPresenter "None").

Führen Sie den folgenden Befehl aus, um diese Standardeinstellungen wiederherzustellen (aktivieren Sie die Optionen):

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.

PowerShell für Microsoft 365 eignet sich hervorragend für Massenvorgänge

Visuelle Schnittstellen wie die Microsoft 365 Admin Center sind besonders nützlich, wenn Sie einen einzigen Vorgang ausführen müssen. Wenn Sie beispielsweise ein Benutzerkonto deaktivieren müssen, können Sie das Admin Center verwenden, um schnell ein Kontrollkästchen zu suchen und zu deaktivieren. Dies ist möglicherweise einfacher als das Ausführen eines ähnlichen Vorgangs in PowerShell.

Aber wenn Sie viele Dinge oder einige ausgewählte Dinge in einer großen Menge anderer Dinge ändern müssen, ist die Microsoft 365 Admin Center möglicherweise nicht das beste Tool. Angenommen, Sie müssen das Präfix für Tausende von Telefonnummern ändern oder den spezifischen Benutzer Ken Myer von allen Ihren SharePoint Online-Websites entfernen. Wie würden Sie das in der 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. Sie müssen mit dem Microsoft 365 Admin Center beginnen und dann dieses Verfahren für jede Website ausführen:

  1. Wählen Sie die URL der Website aus.

  2. Wählen Sie im Eigenschaftenfeld der Websitesammlung den Link " Websiteadresse " aus, um die Website zu öffnen.

  3. Wählen Sie auf der Website " Freigeben" aus.

  4. Wählen Sie im Dialogfeld " Freigeben " den Link aus, über den alle Benutzer angezeigt werden, die über Berechtigungen für die Website verfügen:

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

  5. Wählen Sie im Dialogfeld "Freigegeben für " die Option "Erweitert" aus.

  6. Scrollen Sie in der Liste der Benutzer nach unten, suchen Sie Ken Myer, und wählen Sie ihn aus (vorausgesetzt, er verfügt über Berechtigungen für die Website), und wählen Sie dann " Benutzerberechtigungen entfernen" aus.

Dies würde für mehrere hundert Websites sehr lange dauern.

Alternativ können Sie den folgenden Befehl in PowerShell ausführen, um Microsoft 365 Ken Myer von allen Ihren Websites zu entfernen:

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.

Die Interpretation dieses PowerShell-Befehls lautet: Abrufen aller SharePoint Websites im aktuellen Microsoft 365-Abonnement (Get-SPOSite) und für jede Website Entfernen Sie Ken Meyer aus der Liste der Benutzer, die darauf zugreifen können (ForEach {Remove-SPOUser -Site $_. URL -LoginName "kenmyer@litwareinc.com"}).

Wir weisen Microsoft 365 an, Ken Meyer von jeder Website zu entfernen, einschließlich derer, auf die er keinen Zugriff hat. Die Ergebnisse zeigen also Fehler für die Websites an, auf die er keinen Zugriff hat. Wir können eine zusätzliche Bedingung für diesen Befehl verwenden, um Ken Meyer nur von den Websites zu entfernen, auf denen er sich auf seiner Anmeldeliste befindet. Aber die zurückgegebenen Fehler verursachen keinen Schaden für die Websites selbst. Die Ausführung dieses Befehls für Hunderte von Websites kann einige Minuten dauern, anstatt stundenlang die Microsoft 365 Admin Center zu durchlaufen.

Hier ist ein weiteres Beispiel für einen Massenvorgang. Verwenden Sie diesen Befehl, um Bonnie Kearney, eine neue SharePoint-Administratorin, zu allen Websites in der Organisation hinzuzufügen:

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

Die Interpretation dieses PowerShell-Befehls lautet: Abrufen aller SharePoint Websites im aktuellen Microsoft 365 Abonnement und für jede Website den Zugriff auf Bonnie Kearney zulassen, indem Sie ihren Anmeldenamen zur Mitgliedergruppe der Website hinzufügen (ForEach {Add-SPOUser -Site $_. URL -LoginName "bkearney@litwareinc.com" -Group "Members"}).

PowerShell für Microsoft 365 eignet sich hervorragend zum Filtern von Daten

Die Microsoft 365 Admin Center bietet mehrere Möglichkeiten zum Filtern Ihrer Daten, um eine gezielte Teilmenge von Informationen leicht zu finden. Mit Exchange können Sie beispielsweise leicht nach praktisch jeder Eigenschaft eines Benutzerpostfachs filtern. Hier ist beispielsweise die Liste der Postfächer für alle Benutzer, die in bloomington leben:

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

Im Exchange Admin Center können Sie auch Filterkriterien kombinieren. Sie können beispielsweise die Postfächer für alle Personen finden, die in Bloomington leben und in der Finanzabteilung arbeiten.

Es gibt jedoch Einschränkungen für das, was Sie im Exchange Admin Center tun können. Beispielsweise konnten Sie die Postfächer von Personen, die in Bloomington oder San Diego leben, oder die Postfächer für alle Personen, die nicht in Bloomington leben, nicht so leicht finden.

Sie können die folgende PowerShell für Microsoft 365 Befehl verwenden, um eine Liste der Postfächer für alle Personen abzurufen, die in Bloomington oder San Diego leben:

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

Hier ist ein Beispiel für die Ergebnisse:

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

Die Interpretation dieses PowerShell-Befehls lautet: Abrufen aller Benutzer im aktuellen Microsoft 365-Abonnement, die über ein Postfach in der Stadt San Diego oder Bloomington (Where {$_. RecipientTypeDetails -eq "UserMailbox" -and ($_. City -eq "San Diego" -oder $_. City -eq "Bloomington")}), und zeigen Sie dann den Namen und die Stadt für jede (DisplayName auswählen, Stadt).

Und hier ist der Befehl zum Auflisten aller Postfächer für Personen, die überall außer Bloomington leben:

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

Hier ist ein Beispiel für die Ergebnisse:

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: Abrufen aller Benutzer im aktuellen Microsoft 365-Abonnements, die über ein Postfach verfügen, das sich nicht in der Stadt Bloomington befindet (wo {$_. RecipientTypeDetails -eq "UserMailbox" -and $_. City -ne "Bloomington"}), und zeigen Sie dann den Namen und die Stadt für jeden an.

Verwenden von Platzhaltern

Sie können auch Platzhalterzeichen in Ihren PowerShell-Filtern verwenden, um einen Teil eines Namens abzugleichen. Angenommen, Sie suchen nach einem Benutzerkonto. Sie können sich nur daran erinnern, dass der Nachname des Benutzers Anderson oder vielleicht Henderson oder Jorgenson war.

Sie können diesen Benutzer im Microsoft 365 Admin Center mithilfe des Suchtools nachverfolgen und drei verschiedene Suchvorgänge ausführen:

  • Eine für Anderson

  • Eine für Henderson

  • Und eine für Jorgenson

Da alle drei Namen auf "son" enden, können Sie PowerShell anweisen, alle Benutzer anzuzeigen, deren Name auf "son" endet. Hier ist der Befehl:

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

Die Interpretation dieses PowerShell-Befehls lautet: Alle Benutzer im aktuellen Microsoft 365-Abonnement abrufen, aber einen Filter verwenden, der nur die Benutzer auflistet, deren Nachnamen auf "son" enden (-Filter '{LastName -like "*son"}'). Dies * steht für eine beliebige Gruppe von Zeichen, bei denen es sich um Buchstaben im Nachnamen des Benutzers handelt.

PowerShell für Microsoft 365 erleichtert das Drucken oder Speichern von Daten

Mit dem Microsoft 365 Admin Center können Sie Datenlisten anzeigen. 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:

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 Microsoft Excel Arbeitsblatt einfügen. Für beide Fälle ist möglicherweise eine zusätzliche Formatierung erforderlich. Darüber hinaus bietet die Microsoft 365 Admin Center keine Möglichkeit, die angezeigte Liste direkt zu drucken.

Glücklicherweise können Sie PowerShell verwenden, um die Liste nicht nur anzuzeigen, sondern auch in einer Datei zu speichern, die einfach in Excel importiert werden kann. Hier ist ein Beispielbefehl zum Speichern Skype for Business Online-Benutzerdaten in einer CSV-Datei (Comma-Separated Values), die dann einfach als Tabelle in einem Excel Arbeitsblatt importiert werden kann:

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

Hier ist ein Beispiel für die Ergebnisse:

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

Die Interpretation dieses PowerShell-Befehls lautet: Abrufen aller Skype for Business Online-Benutzer im aktuellen Microsoft 365-Abonnement (Get-CsOnlineUser), Abrufen nur des Benutzernamens, upn und speicherorts (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 diese Liste auch mithilfe von Optionen als XML-Datei oder HTML-Seite speichern. Mit zusätzlichen PowerShell-Befehlen können Sie sie direkt als Excel-Datei mit jeder gewünschten benutzerdefinierten Formatierung speichern.

Sie können auch die Ausgabe eines PowerShell-Befehls senden, der eine Liste direkt an den Standarddrucker in Windows anzeigt. Hier ist ein Beispielbefehl:

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

Das gedruckte Dokument sieht wie folgt aus:

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 PowerShell-Befehls lautet: Abrufen aller Skype for Business Online-Benutzer im aktuellen Microsoft 365 Abonnement, Abrufen von Benutzername, UPN und Standort und senden Sie diese Informationen dann an den Standarddrucker Windows Druckers (Out-Printer).

Das gedruckte Dokument weist die gleiche einfache Formatierung auf wie die Anzeige im PowerShell-Befehlsfenster. Um eine Kopie zu erhalten, fügen Sie einfach | hinzu. Ausgabedrucker bis zum Ende des Befehls.

Mit PowerShell für Microsoft 365 können Sie serverübergreifende Produkte verwalten

Die Komponenten, aus denen Microsoft 365 bestehen, sind für die Zusammenarbeit konzipiert. Angenommen, Sie fügen Microsoft 365 einen neuen Benutzer hinzu und geben Informationen wie die Abteilung und Telefonnummer des Benutzers an. 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.

Hierbei handelt es sich um allgemeine Informationen, die für die ganze Produktsuite gleich sind. Produktspezifische Informationen, z. B. Informationen zum Exchange Postfach eines Benutzers, sind in der Regel nicht in der gesamten Suite verfügbar. Beispielsweise sind Informationen darüber, ob das Postfach eines Benutzers aktiviert ist oder nicht, nur im Exchange Admin Center verfügbar.

Angenommen, Sie möchten einen Bericht erstellen, in dem die folgenden Informationen für alle Benutzer enthalten sind:

  • Den Anzeigenamen des Benutzers

  • Gibt an, ob der Benutzer für Microsoft 365 lizenziert ist.

  • Ob das Exchange-Postfach des Benutzers aktiviert wurde

  • Ob der Benutzer für Skype for Business Online aktiviert ist

Sie können einen solchen Bericht im Microsoft 365 Admin Center nicht einfach erstellen. Stattdessen müssen Sie ein separates Dokument erstellen, um die Informationen zu speichern, z. B. ein Excel Arbeitsblatt. Rufen Sie dann alle Benutzernamen und Lizenzierungsinformationen aus der Microsoft 365 Admin Center ab, rufen Sie Postfachinformationen aus dem Exchange Admin Center ab, erhalten Sie Skype for Business Onlineinformationen aus dem Skype for Business Online Admin zentrieren, und kombinieren Sie dann diese Informationen.

Alternativ können Sie den Bericht mithilfe eines PowerShell-Skripts für Sie kompilieren.

Das folgende Beispielskript ist komplizierter als die Befehle, die Sie bisher in diesem Artikel gesehen haben. Es zeigt jedoch das Potenzial der Verwendung von PowerShell zum Erstellen von Informationsansichten, die sonst nur schwer zu bekommen sind. Hier ist das Skript zum Kompilieren und Anzeigen der liste, die Sie benötigen:

$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 ist ein Beispiel für die Ergebnisse:

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 lautet:

  1. Rufen Sie alle Benutzer im aktuellen Microsoft 365-Abonnement ab, und speichern Sie die Informationen in einer Variablen mit dem Namen $x ($x = Get-AzureADUser).
  2. Starten Sie eine Schleife, die über alle Benutzer in der Variablen $x ausgeführt wird (foreach ($i in $x)).
  3. Definieren Sie eine Variable mit dem Namen $y , und speichern Sie die Postfachinformationen des Benutzers darin ($y = Get-Mailbox -Identity $i.UserPrincipalName).
  4. Fügen Sie den Benutzerinformationen mit dem Namen "IsMailBoxEnabled" eine neue Eigenschaft hinzu. Legen Sie ihn auf den Wert der IsMailBoxEnabled-Eigenschaft des Postfachs des Benutzers fest ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).
  5. Definieren Sie eine Variable mit dem Namen $y, und speichern Sie die Skype for Business Onlineinformationen des Benutzers darin ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
  6. Fügen Sie den Benutzerinformationen mit dem Namen "EnabledForSfB" eine neue Eigenschaft hinzu. Legen Sie ihn auf den Wert der Enabled-Eigenschaft der Skype for Business Onlineinformationen des Benutzers fest ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled).
  7. Zeigt die Liste der Benutzer an, enthält aber 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.

Siehe auch

Erste Schritte mit PowerShell für Microsoft 365

Verwalten von Microsoft 365-Benutzerkonten, -Lizenzen und -Gruppen mit PowerShell

Verwenden der Windows PowerShell zum Erstellen von Berichten in Microsoft 365