Get-Mailbox -RecipientTypeDetails UserMailbox | Set-CASMailbox -ActiveSyncEnabled $false -OWAEnabled $false -PopEnabled $false -ImapEnabled $false
Über den CAS erfolgen ab Exchange Server 2007 die Zugriffe der User auf die Mailumgebung. Grundsätzlich sind hierbei für die User alle Funktionen innerhalb eines Postfache uneingeschränkt nutzbar. In einigen Fälle, wie z.B. bei dem Zugriff via POP3 oder IMAP4, ist dies insofern kein Problem, als dass die dafür verantwortlichen Dienste nicht automatisch aktiviert sind.
Anders verhält es sich bei Zugriffen via OWA und ActiveSync. Hier ist es einem User bereits nach der ersten Einrichtung möglich beide Zugriffsarten zu verwenden.
Folgendes haben wir bereits mehrfach bei Kunden beobachtet: OWA ist für alle User von außen freigeschaltet, zusätzlich verfügen einige, wenige User über ein Mobiltelefon, mit welchem selbige Mails ebenfalls synchronisieren sollen.
Problem I: vielen ist nicht bewusst, dass ohne weitere Einschränkungen der CAS-Funktionen ALLE User in einem solchen Szenario über ihre privaten Handys Mails synchronisieren können und somit wesentliche Teile der Firmenkommunikation ungeschützt verwenden.
Problem II: auch in großen und gut gesicherten Umgebungen war es in vielen Fällen möglich die Daten auf ein zweites, privates Handy zu synchronisieren und Dritten somit die Kommunikation zugänglich zu machen.
Problem III: zu viele Stellschrauben. Um die Problematik einzuschränken werden oft 2 Ansätze verfolgt. Zum einen existiert eine manuell gepflegte Gruppe, deren Mitgliedschaft das Recht der Zugriffsmöglichkeit steuert. z.B. existiert eine Gruppe OWA-User, deren Mitglieder OWA nutzen dürfen. Die Rechteverwendung wird dann über die Firewall definiert. Zusätzlich werden die Funktionen manuell in den jeweiligen Userkonten gepflegt. Grundsätzlich finden wir den Ansatz gut. Leider verursachen die verschiedenen Methoden in manueller Form Mehrarbeit und bieten ein erhöhtes Fehlerpotential.
Zunächst sollten die ungewünschten Zugriffsarten für JEDES Benutzerpostfach deaktiviert werden. Am schnellsten lässt sich die über ein kurzes Script erledigen. Der Zugriff über MAPI bleibt natürlich erhalten.
Code
Get-Mailbox -RecipientTypeDetails UserMailbox | Set-CASMailbox -ActiveSyncEnabled $false -OWAEnabled $false -PopEnabled $false -ImapEnabled $false
Im folgenden können nun die erweiterten Zugriffsvarianten für den ausgewählten Nutzerkreis aktiviert werden. Auch diese Arbeit erfolgt via Powershell.
Code
Get-DistributionGroupMember -Identity ActiveSync_User | Set-CASMailbox -ActiveSyncEnabled $true
Get-DistributionGroupMember -Identity OWA_User | Set-CASMailbox -OWAEnabled $true
Im obigen Code verwenden wir Verteilergruppen. Nicht selten sind diese nicht vorhanden. Statt dessen bevorzugen viele Administratoren klassische Gruppen aus dem AD, welche im Exchange (da nicht mailaktiviert) nicht sichtbar sind. Auch diese Gruppen lassen sich für unser Vorhaben verwenden.
Der folgende Code wird auf dem Exchange-Server ausgeführt.
Code
(get-group -Identity "UG_ActiveSync").members | Set-CasMailbox -ActiveSyncEnabled $true
(get-group -Identity "UG_OWA").members | Set-CasMailbox -OWAEnabled $true
Bisher haben wir die Variante der Zugriffsberechtigung von der Mitgliedschaft einer Gruppe abhängig gemacht, ergo war die Gruppe bis zu diesem Punkt als "führende Instanz" zu betrachten. Für eine erfolgreiche Umsetzung ist bei diesem Ansatz eine fortwährende Kommunikation zwischen Exchange- und AD-Admin nötig. Alternativ kann dem Exchange-Admin die Verwaltung der Gruppe anvertraut werden.
Für eine bessere Transparenz empfehlen wir als "führende Instanz" die jeweilige CAS-Konfiguration des Postfaches. Aus dieser sollte die Mitgliedschaft der jeweiligen Gruppe automatisiert abgeleitet werden.
Der erste Teil des Scripts entfernt die Mitglieder aus den bestehenden Gruppen.
Code
Import-Module -Name ActiveDirectory
$Old_Members_OWA = (Get-ADGroupMember -Identity UG_OWA).distinguishedname
$Old_Members_ActiveSync = (Get-ADGroupMember -Identity UG_ActiveSync).distinguishedname
Set-ADGroup -Identity UG_OWA -Remove:@{"Member"=$Old_Members_OWA}
Set-ADGroup -Identity UG_ActiveSync -Remove:@{"Member"=$Old_Members_ActiveSync}
Der zweite Teil des Scripts fügt auf Basis der CASMailbox-Einstellungen die bestehenden Gruppen wieder mit Mitgliedern.
Code
$CAS_Mailbox_Liste = Get-CASMailbox
foreach($CAS_Mailbox in $CAS_Mailbox_Liste){
$CAS_Mailbox_OWA_Status = $CAS_Mailbox.OWAEnabled
$CAS_Mailbox_ActiveSync_Status = $CAS_Mailbox.ActiveSyncEnabled
If ($CAS_Mailbox_OWA_Status = $True){
$User_OWA = ($CAS_Mailbox).DistinguishedName
Set-ADGroup -Identity UG_OWA -Add:@{"Member"=$User_OWA}
}
If ($CAS_Mailbox_ActiveSync_Status = $True){
$User_ActiveSync = ($CAS_Mailbox).DistinguishedName
Set-ADGroup -Identity UG_ActiveSync -Add:@{"Member"=$User_ActiveSync}
}
}