axxeos
Goto Top

Exchange: Ordner für ausgewählte User erstellen

Hallo Leute

Im Einsatz ist ein virtualisierter Windows Server 2008 R2, Exchange Server 2010.

Ich habe im Internet herumrecherchiert jedoch nichts gefunden.
Ich möchte einen Ordner für ausgewählte User erstellen, nicht dass ich bei jedem User einzeln vorbei gehen muss und im Outlook einen Ordner erstelle.

Funktioniert das? wenn ja WIE?

Ich bin dankbar für jeden Tipp.

Bedanke mich im Voraus

Gruss

Content-ID: 229039

Url: https://administrator.de/contentid/229039

Ausgedruckt am: 26.11.2024 um 03:11 Uhr

colinardo
Lösung colinardo 07.02.2014, aktualisiert am 11.02.2014 um 15:10:34 Uhr
Goto Top
Hallo Axxeos, Willkommen im Forum.

- edit - sorry das gesagte war nicht ganz korrekt - das galt nur für den Inhaber der Mailbox
New-MailboxFolder ist laut MSFT nicht für den Zugriff auf fremde Postfächer konzipiert, sondern nur für das eigene Postfach.

zu bevorzugen ist hier die Erstellung der Ordner mit den EWS:
http://serverfault.com/questions/336842/script-bulk-folder-creation-in- ...

Powershell-Script um mit den Exchange Webservices einen Kalender-Ordner im Rootverzeichnis von in zwei Mailboxen zu erstellen:
# E-Mail-Adressen der Mailboxen
$mailboxes = @("maxmustermann@domain.de","henriettemuster@domain.de")  

# Name des neuen Ordners
$name_folder = "MeinKalender"  

$ewsdll = "C:\Program Files\Microsoft\Exchange\Web Services\1.0\Microsoft.Exchange.WebServices.dll"  
[void][Reflection.Assembly]::LoadFile($ewsdll)
$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010)
$windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$sid = "LDAP://<SID=" + $windowsIdentity.user.Value.ToString() + ">"  
$adminuser = [ADSI]$sid
$service.AutodiscoverUrl($adminuser.mail.ToString())

foreach($mailbox in $mailboxes){
	$parentfolderid = new-object  Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot, $mailbox)
	[Microsoft.Exchange.WebServices.Data.Folder]::Bind($service, $parentfolderid) | out-null
	$NewFolder = new-object Microsoft.Exchange.WebServices.Data.CalendarFolder($service)
	$NewFolder.DisplayName = $name_folder
	$NewFolder.Save($parentfolderid)
}
Wichtig ist hier, dass der User der das Powershell-Script aufruft auch entsprechende Rechte in den zu änderndem Mailboxen haben muss (siehe CMDLet Add-MailboxPermission).
Zusätzlich muss die verwendete Exchange-Version in Zeile 5 je nach SP-Level angepasst werden. Der Pfad zur EWS-DLL muss ebenfalls überprüft werden.
Wenn ein anderer Root-Ordner für den neuen Ordner gewünscht ist, muss in Zeile 16 der WellKnownFolder angepasst werden (siehe dazu: WellKnownFolderName enumeration)

Grüße Uwe
Axxeos
Axxeos 07.02.2014 um 10:29:40 Uhr
Goto Top
Hallo Colinardo

Danke für deine rasche Antwort.
Werde ich gleich mal testen. Ich benötige den Ordner für Kontakte und Aufgaben.
So dass ich dann die Ordner getrennt von den persönlichen Ordnern trennen kann und die dann mit dem iPhone verbinden kann.

Gruss