Here is another script from the Quick and Dirty category. The script reads all permissions for all folders within the mailboxes of the Exchange organization and saves them in a CSV file for further analysis. Maybe someone can use it or even put it into a reasonable form.
# All mailbox folders in your authorizations for
# Read all mailboxes and write to CSV file
#
# written by Frank Zöchling
# www.frankysweb.de#—————————————————–
# Enter CSV file and path here:
$outfile = "d:\test\report.csv"#—————————————————–
$entireforest = Set-ADServerSettings -ViewEntireForest $true
$mailboxes = get-mailboxdatabase | get-mailbox
"mailbox;folder path;benzuter;rights" | set-content $outfileforeach ($mailbox in $mailboxes)
{
$folders = Get-MailboxFolderStatistics $mailbox | ForEach-Object {$_.FolderPath}
foreach ($folder in $folders)
{
$alias = $mailbox.Alias
$folderpath = $alias + ":" + $folder
$folderpath = $folderpath -replace "/","\"
$folderaccessrights = Get-MailboxFolderPermission $folderpath -ErrorAction silentlycontinue
foreach ($folderaccessright in $folderaccessrights)
{
$accessright = $folderaccessright.AccessRights
$accessuser = $folderaccessright.Identity
"$mailbox;$folderpath;$accessuser;$accessright" | add-content $outfile
}
}
}
Line 25 contains "-ErrorAction silentlycontinue", the parameter suppresses errors on the console, as not all authorizations can be read, for example the Dumpster folders (version, purge etc). However, the folders are still listed in the CSV.
Hallo, ich habe auch ein Problem, irgendwie rennt das script bei mir nicht los in der exchange managemet shell. datei wird angelegt, aber mehr auch nicht. mache ich etwas falsch?
oder muss das in der ISE ausgeführt werden?
Kommando zurück. Geduld ist der Schlüssel, jetzt wächst die Datei. Also alles richtig gemacht.
Schönes Wochenende
Hi Franky ;)
super Script, vielen Dank dafür, spart mir imsenses probieren und googlen :)
Gibt es das ähnlich auch Rückwärts?
Also eine UserID angeben und Ordnergenau aufgelistet bekommen, wo der user Zugriff hat?
Ich könnte ja eventuell die Exceldatei Sortieren danach aber wenns per Script ginge wäre das natürlich schöner :)
Jedenfalls Danke nochmal.
und wie führe ich dieses Script aus?
Hallo „Franky“
danke für das zu Verfügung Stellen deiner Scripte.
Hierzu eine Frage als PS Neuling, da ich nicht drauf komme.
Was muss ich anpassen um ausschließlich die Berechtigungen auf genau einen bestimmten Ordner zu erhalten.
THX
Frank
Hi Frank,
ich würde gerne diesen Skript nutzen. Jedoch bekomme ich folgenden fehler in der Endlosschleife:
Add-Content : Das Gerät ist nicht bereit.
Bei C:\tmp\BerechtigungsAbfrage.ps1:30 Zeichen:68
+ „$mailbox;$folderpath;$accessuser;$accessright“ | add-content <<<< $outfile
+ CategoryInfo : WriteError: (D:\test\report.csv:String) [Add-Content], IOException
+ FullyQualifiedErrorId : GetContentWriterIOError,Microsoft.PowerShell.Commands.AddContentCommand
Gruß Daniele
Hallo,
bitte prüfen Sie die Einstellung für die Variable $outfile, dort sollte ein gültiges Verzeichnis mit Angabe einer Datei stehen. Beispiel: $outfile = „d:\test\report.csv“