PowerShell-Skript zum selectiven Aktivieren von ActiveSync für ausgewählte Postfächer in Exchange 2010
Wir haben eine größeres Active Directory mit ca. 5000 Postfächern unter Exchange 2010. Seit kurzem haben wir auch die Postfach-Synchronisation über ActiveSync "im Programm". Dabei ist uns aufgefallen, dass standardmäßig alle Benutzer (Postfächer) synchronisieren dürfen. Da das von der Geschäftsführung explizit nicht gewünscht ist, mussten wir uns einen Weg suchen, wie wir nur ausgewählten Benutzern das Synchronisieren Ihrer Postfächer erlauben.
Nun kann man das an jedem Postfach, welches nicht synchronisieren darf, einzeln per Hand abschalten. Jedoch ist das bei der Menge der Postfächer nicht praktikabel. Zudem sind wir mehrere Administratoren, wo besonders denen im Helpdesk (Nichts gegen die fleißen Helpdesk-Mitarbeiter!!) es immer wieder passiert, dass sie vergessen, bei neuen Postfächern das ActiveSync zu deaktivieren. Ein Automatismus musste her.
Da ich keine andere Möglichkeit gefunden habe, ActiveSync für alle (neuen) Postfächer standardmäßig zu deaktivieren, habe ich dieses kleine Powershell-Script entwickelt, welches es ActiveSync für alle Postfächer deaktiviert und anschließend nur für die Mitglieder einer bestimmten Gruppe wieder aktiviert.
Da bei uns laufend Postfächer dazu kommen bzw. für ActiveSync freigegebe werden, muss man das Script immer wieder ausführen. Ich habe es deshalb auf einem Exchange Server als Scheduled Task eingeplant und lasse es jede Nacht einmal laufen. Wenn der Helpdesk ein Postfach für ActiveSync aktivieren oder deaktivieren muss, dann ändert er einfach die Mitgliedschaft der entsprechenden Gruppe.
Es funktioniert auch in Forests mit mehreren Trees und Domains sowie mehreren Exchange Mailbox-Servern und -Datenbanken.
Ich fürchte zwar, es geht doch einfacher. Aber bis dahin muss das hier reichen.
Gruß
Emeriks
Nun kann man das an jedem Postfach, welches nicht synchronisieren darf, einzeln per Hand abschalten. Jedoch ist das bei der Menge der Postfächer nicht praktikabel. Zudem sind wir mehrere Administratoren, wo besonders denen im Helpdesk (Nichts gegen die fleißen Helpdesk-Mitarbeiter!!) es immer wieder passiert, dass sie vergessen, bei neuen Postfächern das ActiveSync zu deaktivieren. Ein Automatismus musste her.
Da ich keine andere Möglichkeit gefunden habe, ActiveSync für alle (neuen) Postfächer standardmäßig zu deaktivieren, habe ich dieses kleine Powershell-Script entwickelt, welches es ActiveSync für alle Postfächer deaktiviert und anschließend nur für die Mitglieder einer bestimmten Gruppe wieder aktiviert.
Da bei uns laufend Postfächer dazu kommen bzw. für ActiveSync freigegebe werden, muss man das Script immer wieder ausführen. Ich habe es deshalb auf einem Exchange Server als Scheduled Task eingeplant und lasse es jede Nacht einmal laufen. Wenn der Helpdesk ein Postfach für ActiveSync aktivieren oder deaktivieren muss, dann ändert er einfach die Mitgliedschaft der entsprechenden Gruppe.
Es funktioniert auch in Forests mit mehreren Trees und Domains sowie mehreren Exchange Mailbox-Servern und -Datenbanken.
Ich fürchte zwar, es geht doch einfacher. Aber bis dahin muss das hier reichen.
Gruß
Emeriks
01.
ImportSystemModules 02.
cls 03.
04.
$GroupDomain="DNS-NAME_DER_DOMÄNE" 05.
$GroupSAM="SAMACCOUNTNAME_DER_GRUPPE" 06.
07.
08.
# Zuerst wird ActiveSync für alle Postfächer deaktiviert 09.
echo "" 10.
echo "" 11.
echo "ActiveSync wird für alle Postfächer deaktiviert" 12.
echo "Bitte warten ...." 13.
echo "" 14.
$MBs=(get-mailbox -IgnoreDefaultScope -resultsize unlimited) 15.
foreach($MB in $MBs){ 16.
$dn=$MB.DistinguishedName 17.
echo "... $dn" 18.
set-casmailbox -identity $dn -IgnoreDefaultScope -ActiveSyncEnabled $false 19.
} 20.
21.
# Dann werden die Mitglieder der Gruppe $GroupSAM bestimmt 22.
$ds=([ADSISearcher]"LDAP://$GroupDomain") 23.
$ds.filter="(Name=$GroupSAM)" 24.
$grouppath=$ds.findone().path 25.
$group=[ADSI]"$grouppath" 26.
$ASusers=$group.member 27.
28.
# Und zuletzt wird für die zuvor bestimmten Gruppenmitglieder das ActiveSync wieder aktiviert 29.
echo "" 30.
echo "" 31.
echo "ActiveSync wird für alle Postfächer der Mitglieder der Gruppe ""$GroupSAM"" aktiviert" 32.
echo "" 33.
foreach($MB in $ASusers){ 34.
echo "... $MB" 35.
set-casmailbox -identity $MB -IgnoreDefaultScope -ActiveSyncEnabled $true 36.
} 37.
echo "" 38.
echo ""2 Kommentare Diskussionsverlauf
- filippg schreibt am 02.03.2012 um 22:48:53 Uhr
- Dani schreibt am 04.03.2012 um 15:30:09 Uhr
filippg am 02.03.2012 um 22:48 Uhr
Hallo,
wir veröffentlichen EAS über ISA bzw. TMG. Es ist m.E. auch Best Practice, Exchange nicht direkt aus dem Internet erreichbar zu machen. Auf ISA/TMG sind auf der Veröffentlichungsregel für das EAS-Verzeichnis einfach nur bestimmte Gruppen berechtigt...
Gruß
Filipp
wir veröffentlichen EAS über ISA bzw. TMG. Es ist m.E. auch Best Practice, Exchange nicht direkt aus dem Internet erreichbar zu machen. Auf ISA/TMG sind auf der Veröffentlichungsregel für das EAS-Verzeichnis einfach nur bestimmte Gruppen berechtigt...
Gruß
Filipp
Dani am 04.03.2012 um 15:30 Uhr
Zitat von filippg:
wir veröffentlichen EAS über ISA bzw. TMG. Es ist m.E. auch Best Practice, Exchange nicht direkt aus dem Internet
erreichbar zu machen. Auf ISA/TMG sind auf der Veröffentlichungsregel für das EAS-Verzeichnis einfach nur bestimmte
Gruppen berechtigt...
Da hast du sicherlich Recht. Man könnte somit die gleiche Gruppe nutzen, wenn die Infrastruktur stimmt.wir veröffentlichen EAS über ISA bzw. TMG. Es ist m.E. auch Best Practice, Exchange nicht direkt aus dem Internet
erreichbar zu machen. Auf ISA/TMG sind auf der Veröffentlichungsregel für das EAS-Verzeichnis einfach nur bestimmte
Gruppen berechtigt...
Aber das hängt eben von den Unternehmensrichtlinien ab. Bei uns z.B. sollen OWA, IMAP, etc... nur den Nutzern zur Verfügung stehen, die es auch über das Internet dürfen.
Grüße,
Dani






