Exchange Throttling Policy: Maximale Anzahl an Verbindungen erhöhen


    Tags: ,

    Beschränkungen durch Throttling PoliciesDie Throttling Policies wurden mit Exchange 2010 einge­führt und in den Ver­sionen danach weiter­entwickelt. Sie sind dazu gedacht, den Server vor Über­lastungen, beispiels­weise durch DOS-Attacken zu schützen. Diese Begrenzung kann sich aber als zu streng er­weisen und zum Scheitern von Ver­bindungen führen.

    In meinem Beispiel war es so, dass ich das Monitoring mit PRTG einrichten wollte, um damit den Status der Daten­banken auf unserem neuen Exchange Server 2019 zu überwachen. Dabei erschien jedoch die Meldung

    Fail to create a runspace because you have exceeded the maximum number of connections allowed: 18 for the policy party : MaxConcurrency

    Es wurden hier also zu viele Verbindungen mit der Remote-PowerShell zum Exchange Server aufgebaut, so dass das Monitoring keinen Status mehr zurück­bekommt. Natürlich sind auch andere Szenarien denkbar, bei denen die Verbindung nicht zustande kommt, wenn ihre maximale Anzahl bereits erreicht wurde.

    Die Throttling Policys können auf dem Exchange Server per PowerShell ausgelesen werden mit

    Get-ThrottlingPolicy

    Richtlinien für das Throttling auflisten mit Get-ThrottlingPolicy

    Die Einstellungen in der Policy kann man bei Bedarf mit Hilfe von Export-Csv in eine CSV-Datei exportieren, um sie dort zu begutachten.

    Liste der Throttling Policies in eine CSV-Datei exportieren

    Welche Richtlinie ein Benutzer zugewiesen bekommen hat, erhält man mit folgendem Befehl:

    Get-ThrottlingPolicyAssociation <Username>

    Abfragen, welche Throttling Policy einem User zugewiesen wurde

    Im Screenshot ist zu sehen, dass der Administrator keine Richtlinie erhalten hat. Wenn dies der Fall ist, dann greift immer die globale Richtlinie (default).

    Möchte man nun die Obergrenze für die Zahl der Verbindungen hochsetzen, dann wäre es normalerweise ein Leichtes, diese per PowerShell mit Set-ThrottlingPolicy anzupassen. Bei der globalen Richtlinie funktioniert das jedoch nicht, weil sie schreibgeschützt ist.

    Es empfiehlt sich daher, eine neue Policy anzulegen und sie den Benutzern, für die sie gelten soll, anschließend zuzuweisen.

    Eine neue Richtlinie erstellt man mit dem Befehl

    New-ThrottlingPolicy <Name-der-Policy>

    Neue Throttling Policy erzeugen

    Danach konfiguriert man sie mit den Parametern, welche benötigt werden. In diesem Beispiel legen wir für die Policy PRTG-Monitoring den Maximal­wert für PowerShell und Windows PowerShell Web Services auf 30 fest:

    Set-ThrottlingPolicy PRTG-Monitoring -PowerShellMaxConcurrency 30 -PswsMaxConcurrency 30

    Zum Schluss weist man die Richtlinie nun den gewünschten Benutzern nach diesem Muster zu:

    Set-Mailbox -Identity <User> -ThrottlingPolicy <Richtlinienname>

    Throttling Policy an Benutzer zuweisen

    Die anfangs beim Monitoring angezeigte Fehler­meldung kam nach dieser Einstellung nicht mehr hoch. Aus Sicherheits­gründen sei noch gesagt, dass die genannten Werte in den Policies nicht einfach auf Unmimited gesetzt werden sollten, da man hiermit die Sicherheit des Exchange-Servers gefährden würde.

    Keine Kommentare