Exchange 2007: OWA/ActiveSync per Gruppenmitgliedschaft steuern

0

Den Zugriff auf den OWA bzw. ActiveSync Dienst mittels Gruppenmitgliedschaft zu steuern macht aus mehren Gründen Sinn.

  1. Man behält die Übersicht über die Zugriffe – wer darf/wer nicht
  2. Die Gruppe kann gleichzeitig als Verteilerliste genutzt werden
  3. Mitglieder der Gruppe können auf dem TMG Server für den OWA/ActiveSync Dienst unabhängig voneinander berechtigt werden, was die Sicherheit erhöht.

Die Aktivierung/Deaktivierung der einzelnen Mailbox-Features auf Basis der Gruppenmitgliedschaft war allerdings nicht so einfach. Man könnte hingehen und alle Benutzern die Funktion OWA & ActiveSync deaktivieren und anschließend nur für die Gruppenmitglieder wieder aktivieren. Dies führt jedoch dazu, dass es einen kurzen Zeitraum gibt, in dem auch für die Mitarbeiter die OWA und/oder ActiveSync kurzzeitig deaktiviert ist und somit z.B. mobile Geräte nicht mehr syncen. Je nachdem wie viele Mitarbeiter Postfächer haben, sind das schon ein paar Minuten die zwischen dem Deaktivierungs-  & Aktivierungslauf liegen.

Also musste eine Lösung her, die auf Basis der Gruppenmitgliedschaft den Dienst garnicht erst aktiviert bzw. deaktiviert. Das Ergebniss sind nachfolgende Befehle, bei denen jedoch der "Gruppenname" durch den Gruppennamen zu OWA/ActiveSync Steuerung ersetzt werden muss sowie "DB-ServernameX" durch den Servernamen für den die Dienste aktiviert/deaktiviert werden sollen.

Eine Begrenzung auf Server ist notwendig, da der gesamte Forest durchsucht wird und andernfalls Weltweit auch in anderen Ländern Änderungen vorgenommen werden. Um bei der Deaktivierung nicht über alle Postfächer laufen zu müssen, kann man mittesl AddDays festlegen wie neu ein Postfach sein muss, damit angepasst wird. Bedeutet, setzt man AddDays auf -2 und lässt das Script autoamtisch jeden Tag laufen, wird OWA und/oder ActiveSync nur bei den Postfächern deaktiviert, die nicht älter als 2 Tage sind.

$date = (Get-Date).AddDays(-20).ToShortDateString()
$groupidentityOWA = $(Get-Group -DomainController ServerDC1 "Gruppe OWA enable").Identity.DistinguishedName
$groupidentityActiveSync = $(Get-Group -DomainController ServerDC1 "Gruppe ActiveSync enable").Identity.DistinguishedName
#disable OWA for all non group members where the mailbox was created in the last $date
Get-Mailbox -Filter{(memberofgroup -ne $groupidentityOWA) -and (whencreated -gt $date)} -ResultSize unlimited -IgnoreDefaultScope | where {($_.Database -like "ExServer1*") -or ($_.Database -like "ExServer2*")} | Set-CASMailbox -IgnoreDefaultScope -OWAEnabled $false
# enable OWA for all group members
Get-Mailbox -Filter{(memberofgroup -eq $groupidentity)} -ResultSize unlimited -IgnoreDefaultScope | where {($_.Database -like "ExServer1*") -or ($_.Database -like "ExServer2*")} | Set-CASMailbox -IgnoreDefaultScope -OWAEnabled $true
#disable ActiveSync for all non group members
Get-Mailbox -Filter{(memberofgroup -ne $groupidentityActiveSync) -and (whencreated -gt $date)} -ResultSize unlimited -IgnoreDefaultScope | where {($_.Database -like "ExServer1*") -or ($_.Database -like "ExServer2*")} | Set-CASMailbox -IgnoreDefaultScope -ActiveSyncEnabled $false
# enable ActiveSync for all group members
Get-Mailbox -Filter{(memberofgroup -eq $groupidentityActiveSync)} -ResultSize unlimited -IgnoreDefaultScope | where {($_.Database -like "ExServer1*") -or ($_.Database -like "ExServer2*")} | Set-CASMailbox -IgnoreDefaultScope -ActiveSyncEnabled $true
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten