Benutzer mit den meisten Antworten
Exchange 2010 Quotas per Powershell vergeben

Frage
-
Moin,
wir haben 8 DB´s im Einsatz und die Quotas auf die jeweilige DB gesetzt.
Das wollen wir jetzt ändern, da die Anzahl der User (ich sage mal) unglücklich ist. Auf einer DB haben wir 30 User, auf einer anderen vielleicht 500 User.
Eine Vorsortierung haben wir ja quasi schon. Die User, die jetzt in einer DB liegen, müssen auf ihr Postfach halt die QUota bekommen, die die DB im Moment vorhält. Kann man das mit Powershell umsetzen? QUasi eine Schleife über die User der DB und dann jedem User die Postfachquota setzen?
Danke für Tipps!
Matthias
- Verschoben Denniver ReiningMVP Montag, 22. Oktober 2012 16:12 Exchange (aus:Windows PowerShell)
Antworten
-
Hallo Kiezkicker :-)
schau mal hier http://penetrateit.wordpress.com/2012/02/11/exchange-2010-balancing-the-number-of-mailboxes-and-average-size-across-all-databases/ Der Autor hat auch zufällig auch 8 Datenbanken und stand vor einer ähnlichen Herausforderung wie Du.
Viele Grüße
Timo
- Als Antwort vorgeschlagen Alex Pitulice Mittwoch, 24. Oktober 2012 07:16
- Als Antwort markiert kiezkicker Mittwoch, 24. Oktober 2012 08:50
-
Ich hoffe ich habs richtig verstanden :)
Wie wärs damit:
Get-Mailbox | where {$_.MailboxDatabase -ilike "Mailbox Database 0815"} | Set-Mailbox -IssueWarningQuota 209715200 -ProhibitSendQuota 262144000 -ProhibitSendReceiveQuota 293601280 -UseDatabaseQuotaDefaults $false
Alle Mailboxen der Datenbank "Mailbox Database 0815" bekommen jeweils die genannten Werte eingetragen und es wird deaktiviert, die Einstellung der Datenbank zu verwenden.
Das ganze müsste dann mit den vorgesehenen Werten einmal pro DB angefeuert werden und danach könnt ihr Mailboxen verschieben wie ihr wollt und die gehabten Einstellungen sind pro Postfach fixiert.
Die Werte oben sind in Byte angegeben also 209715200 sind dann 200 MB.
So kannst du dann noch prüfen am Ende ob alle gesetzt sind und eine Liste raus lassen:
Get-Mailbox | select Name, Database, IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, UseDatabaseQuotaDefaults > C:\temp\quotalist.txt
Grüße
- Als Antwort vorgeschlagen Alex Pitulice Mittwoch, 24. Oktober 2012 07:16
- Als Antwort markiert kiezkicker Mittwoch, 24. Oktober 2012 08:50
Alle Antworten
-
Moin,
natürlich geht das per PowerShell, sogar recht einfach.
Nur, was ändert das? Ob Du ein Quota auf der DB hast, oder das gleiche auf jedem Postfach, ändert doch nichts an der Gesamtgröße. Das Problem ist doch die schlechten Verteilung.
Du musst Deine Verteilung sinnvoll ändern.
Das mit den Quotas auf Datenbank-Ebene ist schon die beste Lösung und nur weniger Ausnahmen bekommen im Postfach ein anderes Quota. Und wenn die Ausnahmen steigen, macht man eine neue DB, mit den anderen Werten und verschiebt die betreffenden User in die neue DB und nimmt die Ausnahmen wieder raus.
Sonst hast Du keinen Überblick über Dein erwartetes Datenbank-Wachstum und die maximale DB-Größe und wunderst Dich, warum die Backups aus dem Ruder laufen.
Grüße aus Berlin schickt Robert
MVP Exchange Server- Als Antwort vorgeschlagen Alex Pitulice Mittwoch, 24. Oktober 2012 07:16
-
Hallo Kiezkicker :-)
schau mal hier http://penetrateit.wordpress.com/2012/02/11/exchange-2010-balancing-the-number-of-mailboxes-and-average-size-across-all-databases/ Der Autor hat auch zufällig auch 8 Datenbanken und stand vor einer ähnlichen Herausforderung wie Du.
Viele Grüße
Timo
- Als Antwort vorgeschlagen Alex Pitulice Mittwoch, 24. Oktober 2012 07:16
- Als Antwort markiert kiezkicker Mittwoch, 24. Oktober 2012 08:50
-
Ich hoffe ich habs richtig verstanden :)
Wie wärs damit:
Get-Mailbox | where {$_.MailboxDatabase -ilike "Mailbox Database 0815"} | Set-Mailbox -IssueWarningQuota 209715200 -ProhibitSendQuota 262144000 -ProhibitSendReceiveQuota 293601280 -UseDatabaseQuotaDefaults $false
Alle Mailboxen der Datenbank "Mailbox Database 0815" bekommen jeweils die genannten Werte eingetragen und es wird deaktiviert, die Einstellung der Datenbank zu verwenden.
Das ganze müsste dann mit den vorgesehenen Werten einmal pro DB angefeuert werden und danach könnt ihr Mailboxen verschieben wie ihr wollt und die gehabten Einstellungen sind pro Postfach fixiert.
Die Werte oben sind in Byte angegeben also 209715200 sind dann 200 MB.
So kannst du dann noch prüfen am Ende ob alle gesetzt sind und eine Liste raus lassen:
Get-Mailbox | select Name, Database, IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota, UseDatabaseQuotaDefaults > C:\temp\quotalist.txt
Grüße
- Als Antwort vorgeschlagen Alex Pitulice Mittwoch, 24. Oktober 2012 07:16
- Als Antwort markiert kiezkicker Mittwoch, 24. Oktober 2012 08:50
-
Hallo Matthias,
Haben die Antworten Dir weitergeholfen? Ist die Thematik jetzt abgeklärt?
Grüß,
AlexAlex Pitulice, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Ja, die schlechte Verteilung ist hier das Problem.
Wir haben
4 DB´s mit 1 GB Quota - hier sind 80% der User vorgehalten
1 DB mit 2 GB Quota
1 DB mit 4 GB Quota
2 DB´s mit 10 GB Quota, in einer sind die VIPs und in einer die shared Mailboxen.
Ich bekomme die 80% der User ja nicht auf eine andere DB verteilt, wo z.B. nur 20 User sind, weil dann ja die Quota der DB zieht und den normalen Muschkoten eine höhere Quota zugewiesen wird.
Deswegen wollen wir das zukünftig auf Postfachebene machen. Quota auf die Postfächer vergeben und dann alle User so verteilen, dass das System vernünftig belastet wird.
Wenn Du einen anderen Lösungsvorschlag für mich hast, immer her damit :)
Matthias
-
Moin,
Deswegen wollen wir das zukünftig auf Postfachebene machen. Quota auf die Postfächer vergeben und dann alle User so verteilen, dass das System vernünftig belastet wird.
Das Problem ist nicht die Anzahl der Leute. Es ist Exchange egal, ob Du 10.000 Postfächer in einer Datenbank oder in 100 hast. Du brauchst bei 100 DB nur mehr RAM für den Cache der DB.
Die Anzahl der Datenbanken, die rechnerische Größe der Datenbanken und die Verteilung der User auf die Datenbank wird durch Deine Storage, deine Backup- und Wiederherstellungsstrategie bestimmt.
Im Prinzip und stark vereinfacht sie das so aus:
1. Du kannst sinnvoll 200 GB sichern und in vernünftiger Zeit wiederherstellen.
2. Wenn Du nun eine Grenze von 1 GB pro Postfach hast, kannst Du 200 Leute maximal in der DB unterbringen.
3. Wenn die Leute 5 GB haben, dürfen nur noch 40 Leute da reinWenn Du nun anfängst, auf Postfach-Ebene mit den Quotas zu spielen, dann kannst Du nichts mehr planen. Dann hast Du (bezogen auf mein Beispiel) plötzlich 120 Leute in einer DB, die dann nur 120 GB groß wird. Aber in der anderen sind auch 120 Leute, aber plötzlich mit 280 GB Speicherbedarf mehr als das doppelte der ersten DB. Und die 40 Poweruser bedanken sich bei einem Ausfall, dass das Wiederherstellen ihrer Daten länger dauert, als bei den anderen Leute.
Die sinnvollste Lösung würde bedeuten: Mehr Datenbank für die 1GB-User, aber keine Umverteilung in andere Datenbanken.
Grüße aus Berlin schickt Robert
MVP Exchange Server