Exchange 2010/2013: Berechtigungen auf Ordner und Unterordner in einem Postfach vergeben

Hier noch ein kleines Script, welches Berechtigungen auf Ordner und Unterordner in einem Postfach für Benutzer vergibt. Leider gibt es bisher nicht die Möglichkeit Rechte innerhalb eines Postfachs zu vererben. Daher hier ein kleiner Workaround:

<#
---------------------------------------------------------------------------------------
 
 www.frankysweb.de
 by Frank Zöchling

---------------------------------------------------------------------------------------
#>

$mailbox = read-host "Postfach"
$folder = read-host "Postfach Ordner"
$user = read-host "Benutzer"
$berechtigung = read-host "Berechtigung"

$folderpath = "$mailbox" + ":\" + "$folder"
$mailboxfolders = get-mailboxfolder $folderpath -recurse
foreach ($mailboxfolder in $mailboxfolders)
{
 $folderid = $mailboxfolder.Identity
 add-MailboxFolderPermission $folderid -user $user -AccessRights $berechtigung
}

Das Script wie gewohnt in eine PS1 Datei kopieren und ausführen. Informationen zu den möglichen Berechtigungen und ein Script welches die Rechte auf einer ganzen Datenbank setzt, gibt es hier:

https://www.frankysweb.de/exchange-2010-script-fr-berechtigungen-auf-postfach-ordner-einer-mailboxdatenbank/

Update:  Bei Exchange 2013 funktioniert der Befehl „get-mailboxfolder“ nicht mehr für andere Benutzer, daher hier eine Version des Scripts für Exchange 2013:

<#
---------------------------------------------------------------------------------------
  
 www.frankysweb.de
by Frank Zöchling

---------------------------------------------------------------------------------------
#>

$mailbox = read-host "Postfach"
$folder = read-host "Postfach Ordner"
$user = read-host "Benutzer"
$berechtigung = read-host "Berechtigung"

$mailboxfolders = Get-MailboxFolderStatistics $mailbox | Where {$_.FolderPath -match $folder}
foreach ($mailboxfolder in $mailboxfolders)
{
$folderid = $mailboxfolder.folderpath.replace("/","\")
$folderid = "$mailbox" + ":" + "$folderid"
Add-MailboxFolderPermission $folderid -User $user -AccessRights $berechtigung
}

7 Kommentare zu “Exchange 2010/2013: Berechtigungen auf Ordner und Unterordner in einem Postfach vergeben”

  1. Hi,
    bin das erste mal hier und hätte da eine Frage zum Script.
    Wie ist das mit dem Satz „Das Script wie gewohnt in eine PS1 Datei kopieren und ausführen.“ gemeint?

  2. Hallo Frank,
    eine tolle Seite mit wertvollen Tipps und grandiosen Skripten.
    Danke dafür!!
    Viele Grüße aus Bayern
    Bernd

  3. Vielen Dank für dieses tolle Skript.
    Was ist denn aber wenn ich nur den Posteingang freigeben möchte? Wie kann ich dein Skript so anpassen, dass er die Unterordner in Ruhe läßt?
    Hast du da einen Tipp für mich?
    vg
    Roland

  4. Tolles Script. Problem habe ich aber mit Ordner die ein “ / “ im Namen haben. Fehler Ordner „abc / def“ kann nicht gefunden werden. Kann man das Problem umschiffen?

    VG Andreas

  5. Der Fehler lautet konkret der Ordner „abc ? def“ kann nicht gefunden werden. Powershell ersetzt das / durch ein ?

  6. Hallo,

    ich habe die Rechte für „Standard“ geändert und möchte sie auf alle Unterordner anwenden. Leider wird ja in der GUI nur ein Benutzer, nicht eine Gruppe akzeptiert. damit wäre es wesentlich einfacher.

    Wie vererbe ich nun via Script die geänderte Rechte von „Standard“ auf die vorhandenen Unterordner (sehr viele)?

    Vielen dank für Hilfe dazu!

  7. Hallo,
    vielen Dank für das tolle Script. Ich hab jetzt nur ein Problem. In vielen Unterordnern hat der User einen \ stehen (z.B. 2014\15 als Ordnername). Das wird mir immer als ? ausgegeben und die Berechtigungen werden nicht gesetzt, da der Ordner so nicht gelesen werden kann. Wie kann ich den \ abfangen?

    Vielen Dank für die Hilfe

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.