Exchange Mailboxberechtigungen löschen
Hallo,
ich möchte gerne per Powershell alle Mailbox- und Mailboxfolder-Berechtigungen für einen bestimmten AD-Account löschen können.
Ich will das Script nach dem Ausscheiden eines Mitarbeiters (vor dem Löschen des AD-Accounts) über den Exchange Server laufen lassen, damit keine verwaisten Berechtigungen auf dem Exchange Server bleiben.
Hat vielleicht jemand schon so ein Script?
ich möchte gerne per Powershell alle Mailbox- und Mailboxfolder-Berechtigungen für einen bestimmten AD-Account löschen können.
Ich will das Script nach dem Ausscheiden eines Mitarbeiters (vor dem Löschen des AD-Accounts) über den Exchange Server laufen lassen, damit keine verwaisten Berechtigungen auf dem Exchange Server bleiben.
Hat vielleicht jemand schon so ein Script?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3310803421
Url: https://administrator.de/contentid/3310803421
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
Ich hab mir da mal ein Skript zusammengebaut
Geht theoretisch auch kürzer, aber so ist es für PS-Anfänger noch verständlich
Du musst nur Zeile 2,4 und 7 entsprechend anpassen. Mit dem Skript solltest du dann in der Lage sein die MailboxPermissions ebenfalls zu löschen.
Gruß
Doskias
Ich hab mir da mal ein Skript zusammengebaut
# Einen User aus den Postfachberechtigungen löschen
$user= "Nachname, Vorname"
$alle_order=Get-MailboxFolderStatistics Zieladresse@Domain.de | Select-Object FolderPath
foreach ($ordner in $alle_order)
{
$Pfad='Zieladresse@Domain.de'+$ordner.folderpath -replace '/','\'
get-mailboxfolderpermission $pfad | ? user -like $user |remove-mailboxfolderpermission
}
Geht theoretisch auch kürzer, aber so ist es für PS-Anfänger noch verständlich
Du musst nur Zeile 2,4 und 7 entsprechend anpassen. Mit dem Skript solltest du dann in der Lage sein die MailboxPermissions ebenfalls zu löschen.
Gruß
Doskias
Servus.
Grüße Uwe
Powershell Leitfaden für Anfänger
<#
Remove explicitly assigned rights for one useracount from all mailboxes/mailboxfolders
#>
param (
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][string]$username
)
# user account for which to remove rights
$user = Get-ADUser $username
if (!$user){exit 1}
# process each mailbox
foreach($mailbox in Get-Mailbox -ResultSize unlimited){
write-host "Processing mailbox: $($mailbox.PrimarySmtpAddress) ..." -F Green
# remove mailbox permissions
$mailbox | Get-MailboxPermission -ResultSize unlimited | ?{!$_.IsInherited -and $_.User.SecurityIdentifier -eq $user.SID} | Remove-MailboxPermission -confirm:$false
# remove mailboxfolder permissions
$mailbox | Get-MailboxFolder -Recurse | Get-MailboxFolderPermission -User $user.SamAccountName -EA SilentlyContinue | Remove-MailboxFolderPermission -confirm:$false
}
Hat vielleicht jemand schon so ein Script?
Schade, früher hat man sich noch bei der Ehre gepackt und selbst den Hammer geschwungen . Lässt sich dabei doch so viel bei den Gehversuchen lernen.Grüße Uwe
Powershell Leitfaden für Anfänger