
124611
05.10.2016
Exchange 2013 powershell Berechtigung von Unterordnern in Outlook 2010 steuern
Guten Tag,
ich möchte gerne den Posteingang eines Mitarbeiters A für einen anderen Mitarbeiter B freischalten per Powershellscript.
Da der Mitarbeiter B dauerhaft auf den Posteingang des anderen Mitarbeiters A Zugriff haben soll, habe ich zusätzliche Berechtigungen direkt auf das Postfach des Mitarbeiters A gesetzt, damit sich Mitarbeiter B den Posteingang auch fest in sein Outlook eintragen kann.
Das Skript dafür schaut so aus:
Das Problem ist, dass mein Skript auch alle Unterordner vom Posteingang mit Berechtigungen versieht. Dies soll es aber gar nicht!
Z.B. hat jeder Mitarbeiter einen Ordner welcher sich "PRIVAT" nennt, dieser darf auf gar keinen Fall zu Einsicht berechtigt werden.
Hat von Euch jemand einen Tipp wie ich es verhindern kann, dass das Skript alle Unterordner vom Posteingang mit berechtigt oder weiß jemand wie ich die Berechtigung so wie ich es schon im Skript habe nachträglich wieder rausnehmen kann?
Vielen Dank
ich möchte gerne den Posteingang eines Mitarbeiters A für einen anderen Mitarbeiter B freischalten per Powershellscript.
Da der Mitarbeiter B dauerhaft auf den Posteingang des anderen Mitarbeiters A Zugriff haben soll, habe ich zusätzliche Berechtigungen direkt auf das Postfach des Mitarbeiters A gesetzt, damit sich Mitarbeiter B den Posteingang auch fest in sein Outlook eintragen kann.
Das Skript dafür schaut so aus:
# Laden des ActiveDirectoryModuls
Import-Module ActiveDirectory
# Ermitteln des Exchangenamens über das AD
$exchange_server = Get-ADObject -LDAPFilter 'objectClass=msExchExchangeServer' -SearchBase (([ADSI]"LDAP://RootDse").configurationNamingContext.ToString()) -Properties networkaddress | select -Expand networkaddress | ?{$_ -match 'ncacn_ip_tcp'} | %{$_.split(":")[1]} | select -First 1
if (!$exchange_server){Write-Host "Could not determine Exchange Server from AD" -ForegroundColor Red; return}
# Verbindung zum Exchange herstellen
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$exchange_server/powershell" -Authentication Kerberos
Import-PSSession $session -DisableNameChecking -AllowClobber | out-null
#Abfrage von/nach Postfach und Berechtigungsstufe
$mailbox = read-host "Postfach"
$folder = read-host "Postfach Ordner"
$user = read-host "Benutzer"
$berechtigung = read-host "Berechtigung"
#Durchführen des oben genannten Auftrags
$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
}
#Berechtigungen auf das Postfach setzten
Add-MailboxFolderPermission –Identity $mailbox –User $user –AccessRights Contributor
#Berechtigungen vom Ordner "Privat" löschen
Remove-MailboxFolderPermission $mailbox("\inbox\privat") -User $user #-Confirm:$false
#Berechtigung auslesen
Get-MailboxFolderPermission $mailbox -User $user
Das Problem ist, dass mein Skript auch alle Unterordner vom Posteingang mit Berechtigungen versieht. Dies soll es aber gar nicht!
Z.B. hat jeder Mitarbeiter einen Ordner welcher sich "PRIVAT" nennt, dieser darf auf gar keinen Fall zu Einsicht berechtigt werden.
Hat von Euch jemand einen Tipp wie ich es verhindern kann, dass das Skript alle Unterordner vom Posteingang mit berechtigt oder weiß jemand wie ich die Berechtigung so wie ich es schon im Skript habe nachträglich wieder rausnehmen kann?
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 316911
Url: https://administrator.de/forum/exchange-2013-powershell-berechtigung-von-unterordnern-in-outlook-2010-steuern-316911.html
Ausgedruckt am: 04.05.2025 um 14:05 Uhr
8 Kommentare
Neuester Kommentar
Hallo smartsocke,
wie man das macht habe ich hier schon mal gepostet:
Ordner ohne Posteingang unter Outlook an Benutzer freigeben
Nach dem selben Schema machst du das für deinen freizugebenden Ordner.
Grüße Uwe
wie man das macht habe ich hier schon mal gepostet:
Ordner ohne Posteingang unter Outlook an Benutzer freigeben
Nach dem selben Schema machst du das für deinen freizugebenden Ordner.
Grüße Uwe
Kann man das nicht irgendwie in einem Script abbilden so wie ich es schon versucht habe?
Sicher, kannst du das. Wie du die Hauptberechtigung vergibst steht ja schon im o.g. Link.Für die Vergabe der einzelnen Ordnerberechtigungen nimmst du dann wie immer Add-MailboxFolderPermission.
Welche Berechtigungen du setzen musst steht ja schon in meiner Anleitung dazu! Wenn man ein bisschen seinen Grips anstrengt sollte das dann kein Hexenwerk mehr sein!
ja nur mein Problem auf das ich hinaus will ist wie komme ich an den Unterordner ran?
Die Syntax der Ordnerangabe sieht immer so aus:"EXCHANGEALIAS:\Inbox\privat"
Bei Verwendung von Variablen ($mailbox ist das Mailboxobjekt)
"$($mailbox.Alias):\inbox\privat"
Das ist dann aber natürlich blöd wenn ich die Struktur so aufbrechen muss.
??Irgendwie muss man doch jetzt auf den Unterordner zugreifen können.
Geht doch ohne Probleme! Siehe oben.Du brauchst nur mal in meinen diversen Beiträgen dazu stöbern, da siehst du das ebenfalls
Beachte auch noch das es Mailboxen in Deutsch oder Englisch geben kann. D.h. das man hier z.B. anstatt dem Ordnernamen Kalender unter Umständen Calendar angeben muss. Dazu habe ich hier schon universelle Skripte geschrieben die das automatisch berücksichtigen und die Sprache aus der Mailbox auslesen.
Funktioniert es nur mit der Variable leider nicht
Das funktioniert schon wenn man es richtig macht.Du hast das Mailbox-Objekt nicht per Get-Mailbox geholt
$mbox = Get-Mailbox $mailbox
Remove-MailboxFolderPermission -Identity "$($mbox.Alias):\inbox\privat" -User $user -Confirm:$false
Remove-MailboxFolderPermission -Identity "$($mailbox):\inbox\privat" -User $user
Also alles noch gute alte Powershell-Anfängerfehler