Directory Quota Erweiterung

Einleitung

Die Erweiterung User Directory Erweiterung berechnet die Größe des Home-Verzeichnisses für einen bestimmten Benutzer. Sie berechnet auch die Auslastung in Prozent, basierend auf einer Referenzquote, die auf den Gruppen, einer Datei oder einem konfigurierten Active Directory-Attribut basiert.

Fakten

Name

Directory Quota

Bezeichner

DirectoryQuota

Version

2.4

Funktionen

Adapter

Abschnitte

  • Default: quota

  • Der Abschnitt kann konfiguriert werden.

Informationsblöcke

  • DirectoryQuota

Trace-Sections

  • DirectoryQuotaVerbose

Konfiguration

Das Konfigurationsschema

Module

DirectoryQuota

Value

LimitsSource

String

  • Must be one of this: Group, File, ActiveDirectory

Group

ActiveDirectoryLimit

Optional

Value

ValueName

String

  • Must not be empty.

Value

Factor

Integer

  • Minimum value: 1

Value

Default

Optional

Integer

  • Minimum value: -1

Default Value:

-1

List

GroupLimits

Optional

Complex list definition

Value

GroupRegExp

String

  • Must not be empty.

  • Must be a valid regular expression.

Value

Limit

Integer

  • Minimum value: -1

Group

LimitsFile

Optional

List

Paths

Value list definition

String

  • Must not be empty.

  • Must be an existing file.

Value

Encoding

String

Value

ParseRegExp

String

  • Must be a valid regular expression.

Value

ParseCaptureGroupForName

Optional

Integer

  • Minimum value: 1

  • Maximum value: 9

Default Value:

1

Value

ParseCaptureGroupForLimit

Optional

Integer

  • Minimum value: 1

  • Maximum value: 9

Default Value:

2

Value

RequestMode

Optional

String

  • Must be one of this: User, Automatic

Default Value:

User

Value

CacheDuration

Optional

Integer

  • Minimum value: 1

  • Maximum value: 60

Default Value:

15

Value

HomeDirectorySource

String

  • Must be one of this: ActiveDirectory, Static

Default Value:

ActiveDirectory

Value

HomeDirectoryPath

Optional

String

Der Wert LimitsSource

Mit dem Wert LimitsSource wählst du die Quelle aus, von der die Verzeichnisgrenzwerte gelesen werden sollen. Dieser Wert ist erforderlich und kann eine der folgenden Optionen haben:

  • Group: Die Grenzwerte werden aus mit der Liste GroupLimits ermittelt.

  • File: Die Grenzwerte werden aus einer separaten Datei gelesen. Die genauen Details dazu werden mit der Gruppe LimitsFile definiert.

  • ActiveDirectory: Die Grenzwerte werden von einem dem Active Directory Server gelesen. Die Gruppe ActiveDirectoryLimit definiert welcher Wert von dem Server verwendet wird.

Je nach ausgewähltem Wert musst du entweder die Gruppe ActiveDirectoryLimit, die Gruppe LimitsFile oder die Liste GroupLimits angeben. Du darfst nur einen dieser Konfigurationsblöcke angeben, sonst startet die Erweiterung nicht.

Die Verzeichnisgrenzwertquelle gibt an, wie die Erweiterung die maximale Anzahl an Bytes erhält, die für jeden Benutzer verfügbar sind. Siehe die Abschnitte für die beschriebenen Konfigurationswerte für alle Details.

1<Module name="DirectoryQuota">
2    <Value name="LimitsSource">ActiveDirectory</Value>
3    ...
4</Module>

Die Gruppe ActiveDirectoryLimit

Die Gruppe ActiveDirectoryLimit wird nur verwendet, wenn du den Wert LimitsSource auf ActiveDirectory setzt. Sie legt die erforderlichen Werte fest, um das Verzeichnislimit aus einem bestimmten Active Directory-Wert zu extrahieren.

Schau dir dazu auch folgenden Abschnitt an: Der Wert LimitsSource.

Der Active Directory-Wert muss in der Active Directory-Erweiterung konfiguriert werden, kann aber für den Benutzer unsichtbar sein.

1<Module name="DirectoryQuota">
2    <Value name="LimitsSource">ActiveDirectory</Value>
3    <Group name="ActiveDirectoryLimit">
4        <Value name="ValueName">cvLimit</Value>
5        <Value name="Factor">1mb</Value>
6    </Group>
7    ...
8</Module>

Der Wert ValueName

Mit dem Wert ValueName bestimmst du den Namen des Werts aus der Active Directory-Erweiterung, von dem das Limit gelesen wird. Der Name muss genau dem entsprechen, den du in der Liste ValueOrder der Active Directory-Erweiterung verwendest. Dies kann einer der integrierten Wertnamen oder benutzerdefinierte Wertnamen mit dem Präfix cv sein.

Probleme mit dem Wertnamen werden in der Logdatei gemeldet. Wenn das Limit nicht korrekt angezeigt wird, wirf einen Blick in das Log und suche nach Fehlermeldungen von dieser Erweiterung.

1<Module name="DirectoryQuota">
2    <Value name="LimitsSource">ActiveDirectory</Value>
3    <Group name="ActiveDirectoryLimit">
4        <Value name="ValueName">cvLimit</Value>
5        <Value name="Factor">1mb</Value>
6    </Group>
7    ...
8</Module>

Der Wert Factor

Verwende den Wert Factor, um den Active Directory-Wert der das Verzeichnislimit angibt in Byte umzurechnen. Wenn der Wert beispielsweise das Limit in Gigabyte angibt, verwende „1000000000“ oder „1gb“ als Faktor, um das korrekte Limit zu erhalten.

Dieser Wert ist erforderlich und muss mindestens „1“ sein.

1<Module name="DirectoryQuota">
2    ...
3    <Group name="ActiveDirectoryLimit">
4        <Value name="ValueName">cvLimit</Value>
5        <Value name="Factor">1000000000</Value>
6    </Group>
7    ...
8</Module>

Der Wert Default

Mit dem Wert Default legst du das Standard-Quota fest, welches verwendet wird, wenn der Active Directory-Wert nicht vorhanden ist. Dieser Wert wird mit Factor multipliziert, um das endgültige Limit in Bytes zu erhalten. Wenn du ihn weglässt, oder -1 verwendest, wird standardmäßig kein Limit verwendet.

1<Module name="DirectoryQuota">
2    ...
3    <Group name="ActiveDirectoryLimit">
4        <Value name="ValueName">cvLimit</Value>
5        <Value name="Factor">1000</Value>
6        <Value name="Default">200</Value>
7    </Group>
8    ...
9</Module>

Die Liste GroupLimits

Die Liste GroupLimits wird nur verwendet, wenn du LimitsSource auf den Wert Group setzt. Sie legt Verzeichnisgrenzen basierend auf den Gruppen fest, denen der Benutzer angehört. Die Liste wird in der konfigurierten Reihenfolge überprüft, wobei der erste passende Eintrag das Limit für das Benutzerverzeichnis festlegt.

Schau dir dazu auch folgenden Abschnitt an: Der Wert LimitsSource.

Jeder Eintrag benötigt einen GroupRegExp und einen Limit Wert. Diese werden in den nächsten Abschnitten erläutert.

1<Module name="DirectoryQuota">
2    <Value name="LimitsSource">Group</Value>
3    <List name="GroupLimits">
4        ...
5    </List>
6    ...
7</Module>

Der Wert GroupRegExp

Mit dem Wert GroupRegExp definierst du einen regulären Ausdruck, der gegen die Gruppen-DN-Namen des aktuellen Benutzers geprüft wird. Vergiss nicht, am Ende der Liste einen Eintrag mit dem speziellen regulären Ausdruck .* hinzuzufügen, der jedes Mal übereinstimmt. Dies ist erforderlich, um einen Fallback-Wert bereitzustellen, falls keine andere Gruppe übereinstimmt.

Bei dem regulären Ausdruck kannst du fast alle Features der Perl kompatiblen regulären Ausdrücken verwenden.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">Group</Value>
 3    <List name="GroupLimits">
 4        <ListEntry>
 5            <Value name="GroupRegExp">OU=(?:tester|integration)</Value>
 6            <Value name="Limit">-1</Value>
 7        </ListEntry>
 8        <ListEntry>
 9            <Value name="GroupRegExp">.*</Value>
10            <Value name="Limit">200</Value>
11        </ListEntry>
12    </List>
13</Module>

Der Wert Limit

Mit dem Wert Limit gibst du das Limit des Benutzerverzeichnisses an, wenn eine Gruppe übereinstimmt. Es wird in Byte angegeben, aber du kannst die Suffixe „kb“, „mb“ und „gb“ verwenden, um größere Werte anzugeben. Siehe Ganzzahlen (integer) für weitere Details zur Angabe von Byte-Mengen. Du kannst den speziellen Wert -1 verwenden, um kein Limit festzulegen.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">Group</Value>
 3    <List name="GroupLimits">
 4        <ListEntry>
 5            <Value name="GroupRegExp">OU=(?:tester|integration)</Value>
 6            <Value name="Limit">-1</Value>
 7        </ListEntry>
 8        <ListEntry>
 9            <Value name="GroupRegExp">.*</Value>
10            <Value name="Limit">200</Value>
11        </ListEntry>
12    </List>
13</Module>

Die Gruppe LimitsFile

Die Gruppe LimitsFile wird nur verwendet, wenn du LimitsSource auf den Wert File setzt. Die Werte geben Details über die verwendeten Dateien an und konfigurieren einen regulären Ausdruck, um sie zu analysieren.

Jedes Übereinstimmung des regulären Ausdrucks setzt das Limit für einen Benutzernamen.

Schau dir dazu auch folgenden Abschnitt an: Der Wert LimitsSource.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Die Liste Paths

Die Liste Paths enthält eine Liste von absoluten Pfaden zu den Dateien, die die Limits enthalten. Jede Datei wird einmal nach dem Start des Raptor-Servers gelesen und während des Betriebs nicht erneut gelesen. Diese Liste ist erforderlich und muss mindestens einen Eintrag enthalten.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Der Wert Encoding

Mit dem Wert Encoding gibst definierst du die Kodierung der Dateien welche du in der Liste Paths angegeben hast. Es gibt eine große Anzahl unterstützter Codecs; Eine kleine Auswahl unterstützter Codecs ist in dieser Liste aufgeführt:

  • ISO 8859-1 bis 10

  • UTF-8

  • UTF-16

Falls deine gewünschte Kodierung nicht in der obengenannten Liste ist, gib sie einfach als Konfigurationswert ein. Bei einer unbekannten Kodierung findest du eine Fehlermeldung in der Logdatei und eine Liste unterstützter Werte. Die Erweiterung wird in diesem Fall nicht gestartet.

Falls du die Dateien noch nicht erstellt hast und daher die Kodierung frei wählen kannst, verwende in jedem Fall „UTF-8“. Dies ist die beste Kodierung für alle modernen Textdateien.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Der Wert ParseRegExp

Mit dem Wert ParseRegExp setzt du einen regulären Ausdruck, der zum Extrahieren der Benutzernamen und Limits aus den Dateien verwendet wird. Der reguläre Ausdruck benötigt mindestens zwei Capture-Gruppen: eine für den Benutzernamen und eine für das Limit. Die Erweiterung erstellt für jeden übereinstimmenden Eintrag in der Datei einen Limit-Eintrag.

Ein Beispiel für einen regulären Ausdruck könnte wie folgt aussehen:

corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])

Dieser reguläre Ausdruck passt zu allen Einträgen in einer Datei, bei der die erste Capture-Gruppe den Namen des Benutzers und die zweite das Limit erfasst. Alle anderen Elemente des regulären Ausdrucks stellen sicher, dass nur gültige Einträge in den Dateien eine Übereinstimmung finden.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Der Wert ParseCaptureGroupForName

Mit dem Wert ParseCaptureGroupForName gibst du den Index der Capture-Gruppe für den Namen an. Der Standardwert ist 1.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Der Wert ParseCaptureGroupForLimit

Mit dem Wert ParseCaptureGroupForLimit gibst du den Index der Capture-Gruppe für das Limit an. Der Standardwert ist 2.

 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Beispiel

Angenommen, du hast eine oder mehrere Dateien mit Limits, wie in Beispieldatei mit Quota-Einträgen gezeigt, und möchtest die Benutzernamen aus der ersten Spalte und die Limits aus der zweitletzten Spalte aus dieser Datei extrahieren.

In diesem Fall verwendest du eine Konfiguration wie in Komplette Beispielkonfiguration gezeigt. Sie definiert einen regulären Ausdruck, der die Zeilen in den Dateien abgleicht und Capture-Gruppen verwendet, um den Benutzernamen und das Limit aus jeder Zeile zu extrahieren.

Die Konfiguration definiert zwei Dateien, die alle in der angegebenen Reihenfolge gelesen und mit demselben regulären Ausdruck geparst werden.

Der Wert HomeDirectoryLimits wird nur verwendet, um den Standardwert zu konfigurieren, der verwendet wird, wenn kein Eintrag aus der Datei dem Benutzernamen entspricht.

Beispieldatei mit Quota-Einträgen
# Autogenerated file
corp\dwjzocqs user@/vol/user 1g - 4K 5G -
corp\kpvkbejb user@/vol/user 1g - 4K 900M -
corp\zzffxbbt user@/vol/user 1g - 4K 5G -
corp\qjpdgznk user@/vol/user 1g - 4K 5G -
corp\ztmxnzpo user@/vol/user 1g - 4K 200M -
corp\nsborafe user@/vol/user 1g - 4K 5G -
corp\oaqsstbo user@/vol/user 1g - 4K 5G -
corp\xuwbjuls user@/vol/user 1g - 4K 200M -
corp\vgykefks user@/vol/user 1g - 4K 200M -
corp\jgwyyqvz user@/vol/user 1g - 4K 200M -
corp\jxecdcct user@/vol/user 1g - 4K 5G -
corp\vfaveuxn user@/vol/user 1g - 4K 200M -
Komplette Beispielkonfiguration
 1<Module name="DirectoryQuota">
 2    <Value name="LimitsSource">File</Value>
 3    <Group name="LimitsFile">
 4        <List name="Paths">
 5            <Value>c:\Quotas\quotas1.txt</Value>
 6            <Value>c:\Quotas\quotas2.txt</Value>
 7        </List>
 8        <Value name="Encoding">UTF-8</Value>
 9        <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
10        <Value name="ParseCaptureGroupForName">1</Value>
11        <Value name="ParseCaptureGroupForLimit">2</Value>
12    </Group>
13    ...
14</Module>

Der Wert RequestMode

Der Wert RequestMode steuert, wie die Verzeichnis-Quota auf der Detailseite im Client angefordert wird.

Es gibt zwei gültige Werte:

  • User – Nur ein Link „Diesen Wert anfordern…“ wird angezeigt. Wenn der Benutzer auf diesen Link klickt, wird die Verzeichnis-Quota berechnet und angezeigt.

  • Automatic – Sobald die Detailseite eines Benutzers geöffnet wird, wird die Verzeichnis-Quota für diesen Benutzer berechnet.

1<Module name="DirectoryQuota">
2    ...
3    <Value name="RequestMode">Automatic</Value>
4    ...
5</Module>

Der Wert CacheDuration

Der Wert CacheDuration legt die Dauer in Minuten fest, wie lange das berechnete Verzeichnis im Cache gespeichert wird, bevor es neu berechnet wird. Kleinere Werte erhöhen die CPU- und Netzwerkauslastung.

1<Module name="DirectoryQuota">
2    ...
3    <Value name="CacheDuration">15</Value>
4    ...
5</Module>

Der Wert HomeDirectorySource

Der Wert HomeDirectorySource wählt die Quelle für den Pfad des Home-Verzeichnisses. Es gibt zwei gültige Werte:

  • ActiveDirectory – Der Pfad des Home-Verzeichnisses wird aus dem Wert homeDirectory der Active Directory-Erweiterung entnommen.

  • Static – Der Pfad des Home-Verzeichnisses wird aus dem Konfigurationswert HomeDirectoryPath verwendet. Siehe den folgenden Abschnitt für Details.

1<Module name="DirectoryQuota">
2    ...
3    <Value name="HomeDirectorySource">ActiveDirectory</Value>
4    ...
5</Module>

Der Wert HomeDirectoryPath

Der Wert HomeDirectoryPath wird nur verwendet, wenn die Quelle im Wert HomeDirectorySource auf Static gesetzt ist. Es muss ein absoluter Pfad zum Home-Verzeichnis des Benutzers sein. Du kannst den Platzhalter %NAME% in diesem statischen Pfad verwenden, der durch den Objektnamen ersetzt wird.

Hier ist ein Beispiel für einen statischen Pfad:

\\server01\home-directories\%NAME%

Dies verwendet die Home-Verzeichnisse auf dem Dateiserver server01 im Freigabeverzeichnis home-directories. Der Platzhalter am Ende wird durch den Objektnamen ersetzt.

1<Module name="DirectoryQuota">
2    ...
3    <Value name="HomeDirectoryPath">\\server01\home-directories\%NAME%</Value>
4    ...
5</Module>

Beispielkonfigurationen

Gruppenbasierte Limits

Beispielkonfiguration 1 zeigt ein typisches Konfigurationsbeispiel der Erweiterung, das gruppenbasierte Limits verwendet. Es sind drei verschiedene Limits definiert. Das erste Limit gilt für alle Benutzer, die sich in der Gruppe SpecialTestGroup befinden, und ist auf 100 MB festgelegt. Das zweite Limit gilt für alle Benutzer, die sich in der Gruppe AdministratorGroup befinden, und ist auf 500 MB festgelegt. Für alle Benutzer, die nicht in einer der beiden oben genannten Gruppen sind, ist das Limit auf 20 MB festgelegt. Dies wird mit dem speziellen regulären Ausdruck .* im letzten Eintrag erreicht.

Active Directory

Beispielkonfiguration 2 zeigt ein typisches Beispiel für eine Konfiguration, die einen Active-Directory Wert verwendet, um das Limit für den Benutzer festzulegen. Es wird die Quelle auf ActiveDirectory gesetzt und der benutzerdefinierte Wert cvLimit aus der Active-Directory Erweiterung ausgewählt. Dieser Wert wird in Megabyte angegeben, daher wird der Faktor auf 1 MB gesetzt. In diesem Beispiel wird ein statischer Pfad als Home-Verzeichnis verwendet, indem der Wert Static für HomeDirectorySource ausgewählt wird.

Limits aus einer Datei

Beispielkonfiguration 3 zeigt ein typisches Beispiel für eine Konfiguration, die die Limits aus einer Datei liest. Es wird angenommen, dass eine Datei wie in Beispieldatei mit Quota-Einträgen als Quelle für diese Limits dient. Die LimitsSource wird auf Datei gesetzt und die LimitsFile-Gruppe wird definiert. Hier werden zwei Pfade zu Dateien angegeben, die die tatsächlichen Limits enthalten. Die Kodierung ist auf UTF-8 gesetzt und der reguläre Ausdruck passt zum Eintrag in der Datei. Die erste Capture-Gruppe des regulären Ausdrucks erfasst den Benutzernamen und die zweite Gruppe erfasst das Limit.

Beispielkonfiguration 1
 1<?xml version="1.0" encoding="utf-8"?>
 2<Configuration
 3        version="1"
 4        xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
 5    <Module name="DirectoryQuota">
 6        <Value name="LimitsSource">Group</Value>
 7        <List name="GroupLimits">
 8            <ListEntry>
 9                <Value name="GroupRegExp">SpecialTestGroup</Value>
10                <Value name="Limit">100mb</Value>
11            </ListEntry>
12            <ListEntry>
13                <Value name="GroupRegExp">AdministratorGroup</Value>
14                <Value name="Limit">500mb</Value>
15            </ListEntry>
16            <ListEntry>
17                <Value name="GroupRegExp">.*</Value>
18                <Value name="Limit">20mb</Value>
19            </ListEntry>
20        </List>
21        <Value name="HomeDirectorySource">ActiveDirectory</Value>
22    </Module>
23</Configuration>
Beispielkonfiguration 2
 1<?xml version="1.0" encoding="UTF-8" ?>
 2<Configuration
 3        version="1"
 4        xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
 5    <Module name="DirectoryQuota">
 6        <Value name="LimitsSource">ActiveDirectory</Value>
 7        <Group name="ActiveDirectoryLimit">
 8            <Value name="ValueName">cvLimit</Value>
 9            <Value name="Factor">1mb</Value>
10        </Group>
11        <Value name="RequestMode">Automatic</Value>
12        <Value name="HomeDirectorySource">Static</Value>
13        <Value name="HomeDirectoryPath">\\server01\homes\%NAME%</Value>
14    </Module>
15</Configuration>
Beispielkonfiguration 3
 1<?xml version="1.0" encoding="UTF-8" ?>
 2<Configuration
 3        version="1" xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
 4    <Module name="DirectoryQuota">
 5        <Value name="LimitsSource">File</Value>
 6        <Group name="LimitsFile">
 7            <List name="Paths">
 8                <Value>c:\Quotas\quotas1.txt</Value>
 9                <Value>c:\Quotas\quotas2.txt</Value>
10            </List>
11            <Value name="Encoding">UTF-8</Value>
12            <Value name="ParseRegExp">corp\\(\w+) \S+ \S+ \S+ \S+ (\d+[kmgKMG])</Value>
13            <Value name="ParseCaptureGroupForName">1</Value>
14            <Value name="ParseCaptureGroupForLimit">2</Value>
15        </Group>
16        <Value name="RequestMode">Automatic</Value>
17        <Value name="HomeDirectorySource">ActiveDirectory</Value>
18    </Module>
19</Configuration>