From be627a08a5352b9ac76f34084b914531dc5faf3a Mon Sep 17 00:00:00 2001 From: Dims Akpan Date: Mon, 13 Apr 2026 15:58:51 +0200 Subject: [PATCH] Dateien nach "O365" hochladen init --- O365/Gelöschte Teams prüfen.ps1 | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 O365/Gelöschte Teams prüfen.ps1 diff --git a/O365/Gelöschte Teams prüfen.ps1 b/O365/Gelöschte Teams prüfen.ps1 new file mode 100644 index 0000000..e6e236a --- /dev/null +++ b/O365/Gelöschte Teams prüfen.ps1 @@ -0,0 +1,36 @@ +# PS 7 + +# Erstelle eine gültige Loginsession mit Graph +# adm Akkount erforderlich +# ReadOnly Rechte auf AUDIT und Das gesammte Verzeichnis +Connect-MgGraph -Scopes AuditLog.Read.All, Directory.Read.All -NoWelcome + +# Abfrage der gruppenmailadresse z.B. 20q2-abc-1234@groups.fhdw.de +$mail = Read-Host -Prompt "Bitte Gruppen-Mailadresse eingeben" + +# Gruppe anhand Mailadresse finden +$grp = Get-MgGroup -Filter "mail eq '$mail'" + +if( $null -eq $grp || '' -eq $grp ) { + $grp = Get-MgDirectoryDeletedItemAsGroup -Filter "mail eq '$mail'" +} + +# Eigentliche Graph abfrage -> Audit Bereich +# Audit-Events abrufen (Delete/Restore) da diese Events nicht direkt an der Gruppe hängen +$events = Get-MgAuditLogDirectoryAudit ` + -Filter "targetResources/any(t:t/id eq '$($grp.Id)') and (activityDisplayName eq 'Delete group' or activityDisplayName eq 'Restore group')" ` + -Top 10 ` + -Property "activityDateTime,activityDisplayName,result,initiatedBy,targetResources" + +# Ausgabe einkürzen +$events | ForEach-Object { + [pscustomobject]@{ + Zeitpunkt = $_.activityDateTime + Aktion = $_.activityDisplayName + Ergebnis = $_.result + GruppeDisplayName = $_.targetResources[0].displayName + GruppeType = $_.targetResources[0].type + GruppeId = $_.targetResources[0].id + AusgeführtVonUser = $_.initiatedBy.user.userPrincipalName + } +} | Format-Table -AutoSize