# 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