Aus meiner heutigen Powershell-Session mit meinem Kollegen Carsten ist ein Script als Funktion get-permissions entstanden, mit dem man die Postfächer ausgeben kann, auf die ein einzugebender User die Berechtigung “Vollzugriff” (fullaccess) bzw. “Senden Als” (SendAs) hat. Es werden beide Rechte für alle Postfächer in der Organisation geprüft. Bei größeren Umgebungen kann ein Durchlauf etwas dauern.
Das Script fordert nach dem Aufruf zur Eingabe des Logon-Namens des Users auf, für den die Berechtigungen geprüft werden sollen. Die Ausgabe des Ergebnisses erfolgt sowohl in die Shell, als auch in die Datei c:\logonname.txt (Punkte im Logonnamen werden durch Bindestriche ersetzt). Bei Fragen zum Script könnt Ihr Euch gerne an mich wenden.
Hier das Script:
function get-permissions { $AllUsers = @() $mailboxes = @() $name=read-host "Please enter the Logonname" $AllUsers += Get-Mailbox -Resultsize Unlimited foreach ($user in $AllUsers) { $perm = Get-Mailboxpermission -Identity $user foreach ($permission in $perm) { if ($permission.user.tostring() -like "*$name*") { $obj = new-object psObject $obj |Add-Member -MemberType noteproperty -Name "Mailbox" -Value $user.Displayname if ($permission.Accessrights[0] -like "*fullaccess*") { $obj |Add-Member -MemberType noteproperty -Name "Vollzugriff" -Value "True" } Else { $obj |Add-Member -MemberType noteproperty -Name "Vollzugriff" -Value "False" } if ($permission.Accessrights[0] -like "*SendAs") { $obj |Add-Member -MemberType noteproperty -Name "Senden Als" -Value "True" } Else { $obj |Add-Member -MemberType noteproperty -Name "Senden Als" -Value "False" } $mailboxes += $obj } } } $mailboxes $filename = $name.Replace(".","-") $mailboxes | export-csv c:\$filename.txt -NoTypeInformation -encoding default }




Hallo Roland,
Super Script, nur stoße ich auf das gleiche Problem wie Rainer. Sämtliche Vorschläge aus deiner Antwort hatte ich schon zuvor ausprobiert. Könnten vielleicht gewisse Updatestände die Probleme verursachen? Ich glaub eher nicht, trotzdem zur Info: Ich habe E2K7 SP2, Update Rollup 5.
Viele Grüße,
Stefan
Hallo Rainer,
habe das Script eben nochmals bei mir getestet (Exchange 2007 aktueller Patchstand) und es lief ohne Probleme. Bitte wie folgt vorgehen: Das Script in eine Textdatei kopieren und als Datei mit der Endung .ps1 abspeichern. Dann in der Exchange Verwaltungsshell die Datei einmalig mit . ./dateiname.ps1 (Punkt Leer Punkt) aufrufen. Anschließend steht Dir die Funktion get-permissions zur Verfügung. Wichtig: Das Script funktioniert natürlich nur in der Exchange Verwaltungsshell und nicht in der “normalen” Powershell, da die Exchange-Erweiterungen benötigt werden.
Gruß,
Roland
Hallo,
hab das Script ausprobiert.
Blos tut sich bei mir damit gar nichts (d.h. keine Fehlermeldung bzw. kein Ergebniss oder dergleichen).
Gruß