Freigeben über


Kontingentverwaltung für Remoteshells

Mit der Kontingentverwaltung können Benutzer Systemressourcen effizienter verwalten. Die Windows-Remoteverwaltung (WinRM) hat einen bestimmten Satz von Kontingenten hinzugefügt, die eine bessere Dienstqualität bieten, helfen, Denial-of-Service-Probleme zu verhindern und Serverressourcen gleichzeitigen Benutzern zuzuweisen. Der WinRM-Kontingentsatz basiert auf der Kontingentinfrastruktur, die für den IIS-Dienst (Internet Information Services) implementiert ist.

Das Implementieren von Kontingenten trägt dazu bei, Leistungsbeeinträchtigungen und Denial-of-Service-Probleme zu verhindern, indem Sie die folgenden Schritte ausführen:

  • Einschränken der Anzahl der Shell- und Shellprozesse, die ein Benutzer erstellen kann
  • Beschränken der maximalen Anzahl gleichzeitiger Benutzer
  • Verwalten des Arbeitsspeichers, der einer Shell zugeordnet ist
  • Festlegen eines Timeouts für Shells, die inaktiv sind

Kontingenteinstellungen

Die folgenden Kontingente müssen für die Remoteshellverwaltung erzwungen werden. Diese Kontingente können über das Winrm-Hilfsprogramm oder über Gruppenrichtlinieneinstellungen konfiguriert werden. Durch eine Gruppenrichtlinie konfigurierte Einstellungen ersetzen die vom Winrm-Dienstprogramm festgelegten Kontingente. Weitere Informationen zum Festlegen von Gruppenrichtlinien für WinRM finden Sie unter Installation und Konfiguration für die Windows-Remoteverwaltung.

IdleTimeout

Die maximale Zeit in Millisekunden, bevor eine inaktive Remoteshell gelöscht wird. Der Standardwert ist 180000 Millisekunden. Die Mindestzeit beträgt 1000 Millisekunden.

MaxProcessesPerShell

Die maximale Anzahl der pro Shell zulässigen Prozesse, einschließlich der untergeordneten Prozesse der Shell. Der Standardwert ist 25.

MaxMemoryPerShellMB

Die maximale Speichermenge, die pro Shell zugewiesen wird, einschließlich der untergeordneten Prozesse der Shell. Der Standardwert ist 1024 MB.

Anmerkung

Das Verhalten wird nicht unterstützt, wenn der MaxMemoryPerShellMB auf einen Wert festgelegt ist, der kleiner als der Standardwert ist.

 

MaxShellsPerUser

Die maximale Anzahl von Shells pro Benutzer. Der Standardwert ist 30.

MaxConcurrentUsers

Die maximale Anzahl gleichzeitiger Benutzer, die Shells öffnen können. Der Standardwert ist 10.

Veraltete Kontingente

WinRM 2.0 legt das MaxShellRunTime-Kontingent auf schreibgeschützt fest. Das Ändern des Werts für dieses Kontingent hat keine Auswirkungen auf die Remoteshells.

Abrufen von Kontingentkonfigurationsinformationen

Um die Kontingentkonfigurationseinstellungen zu überprüfen, geben Sie winrm get winrm/configein.

Der folgende Codeausschnitt ist ein textbasiertes Beispiel für eine WinRM-Konfiguration mit den Standardkontingenteinstellungen.

Config

          ...         

          Winrs

                   AllowRemoteShellAccess = true

                   IdleTimeout = 7200000

                   MaxConcurrentUsers = 10

                   MaxProcessesPerShell = 25

                   MaxMemoryPerShellMB = 1024

                   MaxShellsPerUser = 30

Konfigurieren von Shellkontingenten

Kontingente können über eine Gruppenrichtlinieneinstellung oder manuell festgelegt werden. Weitere Informationen zu bestimmten Konfigurationseinstellungen finden Sie unter Installation und Konfiguration für die Windows-Remoteverwaltung.

So legen Sie ein Kontingent mit Gruppenrichtlinien fest

  1. Öffnen Sie ein Eingabeaufforderungsfenster als Administrator.
  2. Geben Sie an der Eingabeaufforderung gpedit.mscein. Das Fenster Gruppenrichtlinienobjekt-Editor wird geöffnet.
  3. Suchen Sie unter Computerkonfiguration\Administrative Vorlagen\Windows-Komponentendie Windows-Remoteverwaltungs- und Windows-Remoteshell Gruppenrichtlinienobjekte (Group Policy Objects, GPO).
  4. Wählen Sie auf der Registerkarte Erweiterten eine Einstellung aus, um eine Beschreibung anzuzeigen. Doppelklicken Sie auf eine Einstellung, um sie zu bearbeiten.

So legen Sie ein Kontingent manuell

  1. Öffnen Sie ein Eingabeaufforderungsfenster als Administrator.
  2. Geben Sie an der Eingabeaufforderung winrm set winrm/config/winrs '@{<Quota>="<Value>"}"

Um beispielsweise die maximale Anzahl von Shells pro Benutzer von 5 auf 7 zu erhöhen, geben Sie winrm set winrm/config/winrs '@{MaxShellsPerUser="7"}'ein.