Schlüsselpunkte
- Erstellen Sie mit dem Microsoft Graph PowerShell-Modul über Get-MgUser ein Benutzerinventar und ergänzen Sie es anschließend um Nutzungskennzahlen aus Graph Reports.
- Reichern Sie Ihre Inventare mit Postfach-Kennzahlen aus Exchange Online an, um überdimensionierte Postfächer, inaktive Konten und Migrationskandidaten zu erkennen.
- Vereinheitlichen Sie Eigenschaftsnamen und Exportbenennungen, damit sich Datensätze sauber zusammenführen lassen und über alle Mandanten hinweg auditfähig bleiben.
- Automatisieren Sie die Datenerfassung mit App-only-Authentifizierung, Wiederholungslogik und strukturierter Protokollierung, damit unbeaufsichtigte Workflows sicher und stabil laufen.
Berichte zur Benutzeraktivität in Microsoft 365 (früher Office 365) sind unverzichtbar, wenn Sie die Service-Nutzung nachverfolgen, die Produktivität Ihrer Kund:innen sichern sowie Sicherheit und Compliance aufrechterhalten wollen. Mit PowerShell sammeln Sie verwertbare Erkenntnisse aus Exchange Online, Teams, SharePoint und OneDrive auf einheitliche Weise.
Berichte zur Benutzeraktivität in Microsoft mit PowerShell erfassen
Microsoft Graph PowerShell liefert eine hohe Datenqualität und bietet leistungsstarke Filtermöglichkeiten. Mit PowerShell führen Sie Benutzerinventar, Nutzungsdaten und Postfach-Kennzahlen in einer zentralen Pipeline zusammen, um Lizenzen zu optimieren, Zugriffs-Governance durchzusetzen und Vorfälle zu untersuchen.
Für diese Einrichtung benötigen Sie Folgendes:
- PowerShell 7 oder höher mit installierten Modulen für Microsoft Graph und Exchange Online.
- Eine Azure-App-Registrierung mit Graph-Berechtigungen nach dem Least-Privilege-Prinzip, etwa Group.Read.All und Reports.Read.All, inklusive erteilter Zustimmung.
- Optional Exchange Online-Berechtigungen für Postfachstatistiken.
- Eine sichere Ablage für Anmeldeinformationen sowie einen zentralen Ausgabepfad für CSV und JSON.
Schritt 1: Benutzer:innen mit dem Microsoft Graph PowerShell-Modul inventarisieren
Ein vollständiges Benutzerinventar ist die Grundlage für die Überwachung und Verwaltung von Microsoft 365-Kund:innen. Das folgende Skript erfasst ausschließlich die relevantesten Benutzerdetails, verkürzt damit die Laufzeit und hält den Prozess auch bei großen Datenmengen effizient.
Wenn Sie über alle Mandanten hinweg ein einheitliches CSV-Exportformat verwenden, folgt jeder Bericht derselben Struktur. So lassen sich die Berichte leicht vergleichen, zusammenführen und später mit Daten aus Quellen wie Microsoft Graph Reports oder Exchange Online anreichern.
Beispielskript für ein Benutzerinventar in PowerShell
Install-Module Microsoft.Graph -Scope CurrentUserImport-Module Microsoft.GraphConnect-MgGraph -Scopes "User.Read.All","Reports.Read.All"Get-MgUser -All -Property "id,displayName,userPrincipalName,mail,accountEnabled,createdDateTime,assignedLicenses" |Select-Object id,displayName,userPrincipalName,mail,accountEnabled,createdDateTime, @{n='LicenseCount';e={$_.assignedLicenses.Count}} |Export-Csv "C:\Reports\M365_Users.csv" -NoTypeInformation |
Sie können einzelne Eigenschaften in der Zeile Get-MGUser -All -Property weglassen, um den Umfang Ihrer Abfrage zu steuern.
Schritt 2: Nutzungskennzahlen über die Graph Reports API ergänzen
Graph Reports liefert Einblicke in die Benutzeraktivität über die verschiedenen Microsoft 365-Dienste hinweg. Damit werden inaktive Konten ebenso sichtbar wie Bereiche mit besonders hoher Nutzung, sodass Sie entscheiden können, wo Lizenzen entzogen und wo Upgrades sinnvoll sind.
Beispielskripte für die Graph Reports API in PowerShell
Das folgende Skript ruft die Aktivität auf Benutzerebene über verschiedene Workloads hinweg für einen festgelegten Zeitraum ab.
Get-MgReportOffice365ActiveUserDetail -Date (Get-Date).AddDays(-1) -OutFile "C:\Reports\ActiveUserDetail.csv" |
Beachten Sie, dass das obige Skript die Daten des Vortags abfragt, gekennzeichnet durch .AddDays (-1). Alternativ können Sie auch rollierende Zeiträume wie die folgenden verwenden:
# Last 7 daysGet-MgReportOffice365ActiveUserDetail -Period D7 -OutFile "C:\Reports\ActiveUserDetail_D7.csv"# Last 30 daysGet-MgReportOffice365ActiveUserDetail -Period D30 -OutFile "C:\Reports\ActiveUserDetail_D30.csv" |
Anschließend können Sie die erzeugte CSV-Datei mit Ihrer bestehenden Inventarliste aus Schritt 1 zusammenführen, um inaktive oder wenig genutzte Konten nach Workload zu identifizieren:
$inv = Import-Csv "C:\Reports\M365_Users.csv" # From step 1$usage = Import-Csv "C:\Reports\ActiveUserDetail.csv" # From step 2$joined = $inv | Join-Object -On userPrincipalName -Right $usage -Kind Left # or use a custom hash join# Alternative without a module: build a hash on UPN for the usage file and add the fields you need$joined | Export-Csv "C:\Reports\M365_Users_Usage.csv" -NoTypeInformation |
Schritt 3: Benutzerinventar mit Postfach-Kennzahlen aus Exchange Online anreichern
Wenn Sie Postfach-Kennzahlen in Ihre Inventarliste aufnehmen, erkennen Sie überdimensionierte oder schnell wachsende Postfächer, bevor sie die Produktivität Ihrer Kund:innen beeinträchtigen. Außerdem stellen Sie damit sicher, dass Kundenkonten und Richtlinien korrekt gepflegt werden, und unterstützen Administrator:innen dabei, Exchange Online-Postfächer reibungslos zu migrieren.
Beispielskript in PowerShell zum Abfragen von Exchange Online-Kennzahlen
Das folgende Skript stellt eine Verbindung zum Exchange Online-Dienst von Microsoft 365 her und ruft die wichtigsten Postfach-Kennzahlen pro Benutzer:in ab. Administrator:innen erhalten so einen Überblick über die Postfachnutzung, da zentrale Kennzahlen wie Postfachgröße, Anzahl der Elemente, gelöschte Elemente, letzte Anmeldezeit und Speicherlimits ausgelesen werden.
Connect-ExchangeOnline -UserPrincipalName [email protected]Get-MailboxStatistics -Identity [email protected] |
Führen Sie das Skript für Benutzer:innen aus, auf die eines der folgenden Kriterien zutrifft:
- Schnelles Postfachwachstum
- Postfächer mit hohem Speicherbedarf oder nahe am Kontingent
- VIP-, freigegebene oder Ressourcenpostfächer
- Migrationskandidaten
- Compliance-relevante Benutzer:innen
Schritt 4: Berichte zur Benutzeraktivität in Microsoft 365 vereinheitlichen, exportieren und speichern
Wenn Sie Kennzahlen über Get-MgUser, Graph Reports und Exchange Online abrufen, passen diese standardmäßig nicht zusammen. Durch Normalisierung erhalten Sie vereinheitlichte Exporte in einem konsistenten Datenformat, das die Automatisierung vereinfacht und über alle Mandanten hinweg reproduzierbare Abläufe ermöglicht.
Empfohlener Maßnahmenplan:
- Vereinheitlichen Sie Eigenschaftsnamen und ergänzen Sie berechnete Felder wie LicenseCount, IsEnabled und AsOf, damit sich Datensätze sauber zusammenführen lassen.
- Exportieren Sie CSV-Dateien für die Mitarbeiter:innen im Betrieb und JSON für Dashboards und Automatisierung.
- Benennen Sie jede Datei mit Mandanten-ID, Zeitfenster und Skriptversion, um die Nachvollziehbarkeit zu verbessern. Zum Beispiel:
- users_{TenantId}_{Window}_{ScriptVersion}.csv
- users_{TenantId}_{Window}_{ScriptVersion}.json
Schritt 5: Workflows mit sicherer Authentifizierung und Protokollierung automatisieren
Die Kombination aus Vereinheitlichung und Automatisierung erlaubt es Ihnen, Workflows über mehrere Mandanten hinweg zu replizieren. Sichere Anmeldungen sorgen dafür, dass Ihre Skripte unbeaufsichtigt und planmäßig reibungslos laufen.
Automatisierte Wiederholungs- und Backoff-Workflows halten Jobs stabil, selbst wenn Microsoft 365 Anfragen drosselt. Eine strukturierte Protokollierung wiederum belegt die Wirksamkeit Ihres Skripts, indem sie festhält, was ausgeführt wurde und welche Kennzahlen dabei entstanden sind.
Empfohlener Maßnahmenplan:
- Setzen Sie auf App-only-Authentifizierung, damit unbeaufsichtigte Skripte ohne Unterbrechung laufen.
- Ergänzen Sie Wiederholungs- und Backoff-Konfigurationen, um die Datenerfassung trotz API-Drosselung stabil zu halten.
- Führen Sie ein detailliertes Ausführungsprotokoll mit Start- und Endzeiten, Filtern und Datensatzanzahl, damit die Nachvollziehbarkeit bei Audits oder Reviews gewahrt bleibt.
- Planen Sie häufige Inventarprüfungen und wöchentliche Aktivitätsaktualisierungen ein, damit Ihre Berichte aktuell bleiben, ohne unnötige Kosten zu verursachen.
- MSPs können mit PowerShell-Schleifen mehrere Kund:innen durchlaufen und für jeden Mandanten separate Berichte erzeugen.
Schritt 6: Benutzerberichte aus Microsoft 365 operativ nutzen
Sind alle nötigen Berichtsdaten erfasst, werden aus reinen Kennzahlen erst dann verwertbare Erkenntnisse, wenn Sie Ihre Ergebnisse operativ nutzen. Indem Sie die Exporte in Compliance-, Governance- und Service-Review-Prozesse einbinden, gewinnen Sie Transparenz über den Betrieb Ihrer Kund:innen.
So helfen Sie Ihren Kund:innen, fundierte Entscheidungen zu treffen und Risiken zu verringern. Außerdem können Sie ihnen belegbare Pläne vorlegen, die messbare Service-Verbesserungen bringen.
Empfohlener Maßnahmenplan:
- Fügen Sie Benutzer- und Aktivitätsauszüge Ihren Compliance-Paketen bei, um nachzuweisen, dass Sie korrekte Zugriffsaufzeichnungen führen und die Datennutzung überwachen.
- Gleichen Sie die Berichte mit Meldungen aus der Personalabteilung oder dem Verzeichnisdienst ab, um inaktive Benutzer:innen, veraltete Zugriffsrechte oder verwaiste Lizenzen aufzuspüren.
- Präsentieren Sie die wichtigsten Ergebnisse in QBRs, um Adoptionstrends, Nutzungswachstum oder Risikoreduzierung sichtbar zu machen.
- Archivieren Sie Berichte, um eine faktenbasierte Ausgangsbasis für Analysen nach Vorfällen und eine schnellere Behebung zu schaffen.
Erfassung von Benutzerberichten in Microsoft 365 automatisieren
Manuelle Schritte bei der Datenerfassung verlangsamen die Analyse durch sich wiederholende Abläufe und treiben zudem die Betriebskosten in die Höhe. Mit Automatisierung machen Sie aus der Datenerfassung einen einheitlichen, standardisierten Prozess, der menschliche Fehler minimiert.
Beispiele für Automatisierungsansätze:
- Richten Sie einen nächtlichen Skript-Job ein, der Benutzerinventare mit dem Microsoft Graph PowerShell-Modul exportiert.
- Planen Sie wöchentliche Skripte, die Details zu aktiven Benutzer:innen erfassen, sowie einen gezielten Job, der Postfachstatistiken für markierte Benutzer:innen sammelt.
- Automatisieren Sie die Erstellung von Exporten mit Zeitstempel und deren anschließende Übergabe an Ihr Nachweis-Repository.
NinjaOne-Funktionen für die Erfassung von Berichten zur Benutzeraktivität in Microsoft 365
NinjaOne verbessert die Erfassung und Verwaltung von Berichten zur Benutzeraktivität in Microsoft Office 365 durch Automatisierung, Sicherheit und Skalierbarkeit.
- Remote-Skriptbereitstellung: Führen Sie Skripte für Graph Reports, Exchange Online und Microsoft Graph PowerShell sofort zentral und in großem Umfang über das Remote-Skripting von NinjaOne aus
- Geplante Automatisierungen: Mit der Funktion für geplante Automatisierungen führen Sie Erfassungsskripte zu festgelegten Zeitpunkten aus, etwa beim Systemstart oder bei der Benutzeranmeldung.
- Sichere benutzerdefinierte Felder: Speichern Sie sensible Anmeldeinformationen in sicheren benutzerdefinierten Feldern und greifen Sie zentral per PowerShell-Skript darauf zu.
- Umfassende Skripting-Möglichkeiten: Erstellen Sie eigene PowerShell-Skripte, um unter anderem Benutzerinventare zu automatisieren, inaktive Benutzer:innen nach Workload zu identifizieren oder Kandidaten für die Lizenzoptimierung zu ermitteln.
Darüber hinaus vereinfachen die Remote-Skripting- und Planungsfunktionen von NinjaOne PowerShell-basierte Workflows und ermöglichen zentrale Bereitstellungen über mehrere Mandanten hinweg.
Erfassung von Benutzerberichten in Microsoft 365 mit PowerShell optimieren
Mit der Abkündigung der Module MSOnline und AzureAD brachte der Wechsel zu Microsoft Graph PowerShell einen modernen, einheitlichen Ansatz für die Datenerfassung über alle Microsoft 365-Dienste hinweg.
Indem Teams sichere Automatisierung, vereinheitlichte Exporte und eine schlanke Aufbereitung von Nachweisen kombinieren, werden aus reinen Kennzahlen operative Transparenz und verwertbare Erkenntnisse, die Audits unterstützen, die Lizenznutzung optimieren und Untersuchungen von Vorfällen beschleunigen.
Verwandte Themen:
- So nutzen Sie die Microsoft Graph API, um Compliance-Berichte über mehrere Mandanten hinweg abzurufen
- So automatisieren Sie Benachrichtigungen über Rollenänderungen in Microsoft 365 für die Admin-Kontrolle
- So führen Sie geplante Graph API-Prüfungen auf abgelaufene Lizenzen und inaktive Benutzer:innen durch
- Microsoft Graph API mit Windows PowerShell nutzen, um Microsoft 365-Kund:innen zu überwachen und zu verwalten