Zum Inhalt springen

Glossar

Constrained Language Mode

PowerShell-Sprachmodus, der beliebigen .NET-, COM- und Win32-API-Zugriff blockiert und durch Skriptrichtlinien von App Control oder AppLocker erzwungen wird.

Der Constrained Language Mode (CLM, eingeschränkter Sprachmodus) ist ein PowerShell-Sprachmodus, der zentrale Cmdlets und grundlegende Sprachelemente zulässt, aber die Funktionen blockiert, die die meisten Angriffswerkzeuge benötigen: beliebige .NET-Typen und -Methoden, Add-Type, die meisten COM-Objekte und direkte Win32-API-Aufrufe. Den aktuellen Modus zeigt $ExecutionContext.SessionState.LanguageMode.

Robust ist CLM nur, wenn er durch Anwendungssteuerung erzwungen wird. Mit einer Skriptrichtlinie von App Control for Business oder AppLocker führt PowerShell nicht vertrauenswürdige Skripte und interaktive Sitzungen im Constrained Language Mode aus, während von der Richtlinie zugelassene Skripte (etwa mit einem internen Zertifikat signierte) im Full Language Mode laufen. Das Setzen der Umgebungsvariable __PSLockdownPolicy ist keine Sicherheitsgrenze.

Siehe PowerShell-Sicherheit.