Files
PowerShell-Sammlung/O365/Gelöschte Teams prüfen.ps1
T
2026-04-13 15:58:51 +02:00

37 lines
1.4 KiB
PowerShell

# 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