Grp2Quota

Grp2Quota ist ein VBScript, welches regelmäßig gestartet werden sollte und die Quotaeinstellungen von Exchange Mailboxen anhand von Gruppenmitgliedschaften setzt. So ist eine einfache Policy-�hnliche Konfiguration möglich

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der �bernahme.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Version 2.0 arbeitet komplett anders als 1.0. Bei Version 1.0 waren die Gruppennamen selbst Teil der Konfiguration, was es aber einem OU-Admin erlaubt h�tte, sich eigene Gruppen anzulegen und eigene Limits zu definieren. Version 2.0 nutzt nur die Gruppen, die im Skript selbst gepflegt werden.

Das Skript funktioniert auch mit Exchange 2007/2010, weil die Felder und deren Bedeutung die gleichen sind. Schicker w�hre hier Natürlich eine Pflege per PowerShell.

Die Mailboxgrenzwerte von Exchange erlauben es dem Betreiber, dem unbegrenzten Wachstum von Postfächern Grenzen aufzuzeigen. Mailboxgrenzwerte können dazu an mehreren Stellen eingestellt werden:

  • Mailbox individuell
    Wie können auf der Mailbox einstellen, dass nicht die Defaults des Mailboxstore gelten, sondern abweichende Einstellungen für diese eine Mailbox. Diese Einstellung �berschreibt alle anderen Einstellungen
  • Mailboxstore direkt
    Wenn alle Benutzer einer Mailboxdatenbank die gleichen Einstellungen nutzen sollen, dann kann die Einstellung auch auf dem Mailboxstore erfolgen
  • Mailboxstore per Richtlinie
    Wenn die mehrere Mailboxdatenbanken "gleich" behandeln wollen, dann ist eine Serverrichtlinie in Exchange ein Weg, alle Server "gleich" zu behandeln.

Die Einstellungen auf der Mailboxdatenbank ist daher ein idealer Weg einen "Default" für alle darin enthaltenen Mailboxen vorzugeben und dann pro Benutzer eventuell abweichende Einstellungen durchzuf�hren.

Eine flexible Vergabe von Grenzwerten �ber Gruppen oder anhand von LDAP-Filtern ist von Hause aus nicht möglich. Genau das ist aber eine Anforderung von Firmen, die auf einem Exchange Server in der gleichen Datenbank verschiedene Benutzerprofile haben und andererseits nicht bei jedem Benutzer manuell die Einstellungen durchführen wollen. Hierbei hilft Grp2Quota

Wie arbeitet Grp2ExInet ?

Grp2ExInet verbindet sich mit dem Active Directory um eine Liste der Exchange Benutzer zu erhalten. Nur für die sind die Quota-Einstellungen relevant. für jeden Benutzer wird dann die Liste der Gruppenmitgliedschaften ausgelesen und mit der Liste der definierten Quota-Einstellungen je Gruppe verglichen.

arrQuotagroup  = array (array("cn=GRP2Quota-0,ou=GRP2Quota,dc=msxfaq,dc=local","IGNORE","IGNORE","IGNORE"),_
			array("cn=GRP2Quota-1,ou=GRP2Quota,dc=msxfaq,dc=local","200000","250000","300000"),_
			array("cn=GRP2Quota-2,ou=GRP2Quota,dc=msxfaq,dc=local","300000","350000","400000"),_
			array("cn=GRP2Quota-3,ou=GRP2Quota,dc=msxfaq,dc=local","500000","550000","600000"))

Ist der Benutzer Mitglied einer Gruppe in der Liste, dann werden die dort hinterlegten Grenzen angewendet. Ist der Benutzer in keiner Gruppe Mitglied, dann werden die Defaultwerte für diese Mailbox eingetragen. Effektiv sind dann wieder die Grenzwerte der Mailboxdatenbank aktiv. �ber die Gruppe mit den dreimal "IGNORE" kann man Personen von einer Behandlung durch GRP2QUOTA ausschließen.

In welcher OU die Gruppen liegen ist dabei irrelevant, solange die Gruppe als "MemberOf" beim Benutzer aufgelistet wird. Beachten Sie, dass das Feld "MemberOf" nicht immer alle Gruppen enth�lt. So werden hier keine lokale Gruppen vertrauter Domänen aufgef�hrt. Nutzen Sie für die Steuerung daher am besten universelle Gruppen oder Verteiler. In Inhalt von "MemberOf" k�nenn Sie einfach per LDAP �berPr�fen. LDIFDE, Softerra LDAP-Browser, ADSIEDIT)

GRP2QUOTA wendet die erste gefundene Einstellung an, wenn ein Anwender in mehreren Gruppen enthalten sein sollte.

Grp2Quota �berprüft vorher nicht, ob das Postfach gr��er ist sondern wendet die Einstellungen ohne weitere Rückfrage an. Grp2Quota �berschreibt ohne weitere Rückfrage eventuell manuell gesetzte Einstellungen !

Download und Anpassungen

Um Grp2Quota in ihrem Netzwerk einzusetzen müssen Sie daher folgende Schritte durchführen:

Eintragungen im Active Directory

  • Entsprechende Gruppen anlegen.
    Legen Sie für die verschiedenen Grenzwertkonfigurationen entsprechende Gruppen an. Wenn Sie ein delegiertes Administrationsmodell haben, könnte es durchaus sein, dass Sie diese Gruppen in einer "gesch�tzten" OU anlegen, so dass nur ausgew�hlte Personen diese Mitgliedschaften pflegen können.
  • Benutzer in die entsprechenden Gruppen aufnehmen
    Nehmen Sie die Mitarbeiter in die gew�nschte Gruppe auf. Bei einer Mitgliedschaft in mehreren Gruppen wird erste im Skript definierte Gruppe angewendet.
  • Optional Default Policies auf den Mailboxstores setzen.
    Alle Mitarbeiter, die in keiner Quota-Gruppe enthalten sind, erhalten die "Default Einstellungen". Daher sollten Sie auf jedem Mailboxstore zumindest diese Quota-Einstellungen auf sinnvolle Standardwerte setzen. Der Betrieb eines Servers ohne Grenzwerte kann ich nicht empfehlen, da so ein Anwender (Absichtlich oder unabsichtlich, z.B. Schleifen, Viren etc.) den ganzen Serverbetrieb gef�hrden kann)

Download

Der Download legt eine TXT-Datei an, die Sie nach VBS umbenennen müssen.

Das Skript funktioniert auch mit Exchange 2007/2010, weil die Felder und deren Bedeutung die gleichen sind. Schicker w�hre hier Natürlich eine Pflege per PowerShell.

grp2quota.2.1.vbs.txt
Herunterladen und die Erweiterung in VBS ändern und nach den Anpassungen mit CSCRIPT starten

Starten Sie das Skript nicht ohne die nachfolgenden Anpassungen

Anpassungen im Skript

  • Default Domain konfigurieren
    Aufgrund der "schreibenden Funktion" des Skripts erwartet das Skript die Definition der Basisdomain bzw. OU, ab der die Suche stattfinden soll. Editieren Sie daher die folgende Zeile im Skript. Ein paar Muster sind als Kommentare schon vorhanden.

Const conDNSDomain = "dc=ihredomain,dc=ihretld"
' Const conDNSDomain = "dc=msxfaq,dc=local"
' Const conDNSDomain = "ou=GRP2Quota,dc=msxfaq,dc=local"

  • Quotagruppen Eintragen
    Tragen Sie alle Quotagruppen mit den entsprechenden Einstellungen im Script analog zu den Beispielen ein.
  • Grp2Quota "Write"-aktivieren
    Das Skript ist mit einem Schreibschutz versehen. Sie müssen am Anfang die Konstante "action" auf "write" stellen, damit das Skript die Werte auch tats�chlich zurück schreibt. So können Sie das Skript gefahrlos starten und die Ergebnisse in der XML-Datei kontrollieren, ehe Sie das Skript dann als regelmäßige Aufgabe einrichten. Wenn die erwarteten Einstellungen durchgef�hrt werden, dann kommentieren Sie bitte einfach die Zeilen entsprechend um.

Const action = "readonly"
' Const action = "write"

Damit diese "Richtlinien" regelmäßig ablaufen, sollten Sie das Skript z.B. mit dem Windows Taskplaner regelmäßig ausf�hren lassen. Gesonderte Funktionen zur �berwachung (Eventlog, etc.) sind nicht realisiert.

Exchange 2007/2010 Version

In Exchange 2007/2010 gibt es durch die PowerShell sehr leistungsfähige Möglichkeiten, solche Aktionen auszuf�hren. passende Befehle dazu sind.

  • get-group
  • Get-DistributionGroupMember
  • Set-Mailbox -Identity user -IssueWarningQuota xxx -ProhibitSendQuota yyy -ProhibitSendReceiveQuota zzz -UseDatabaseQuotaDefaults $false

Mit diesen Befehlen können Sie Natürlich auch einfach �ber eine Verkettung die Mitglieder einer Gruppe ermitteln und diese an Set-Mailbox zu �bergeben.

Weitere Links