Glosario
Modo de lenguaje restringido (Constrained Language Mode)
Modo de lenguaje de PowerShell que bloquea el acceso arbitrario a .NET, COM y la API Win32, aplicado automáticamente por las directivas de App Control o AppLocker.
El modo de lenguaje restringido (Constrained Language Mode, CLM) es un modo de lenguaje de PowerShell que permite los cmdlets principales y los elementos básicos del lenguaje, pero bloquea las funciones que más necesitan las herramientas ofensivas: tipos y métodos .NET arbitrarios, Add-Type, la mayoría de los objetos COM y las llamadas directas a la API Win32. El modo actual se muestra con $ExecutionContext.SessionState.LanguageMode.
CLM solo es robusto cuando lo impone el control de aplicaciones. Con una directiva de scripts de App Control para empresas o AppLocker, PowerShell ejecuta los scripts no confiables y las sesiones interactivas en modo de lenguaje restringido, mientras que los scripts permitidos por la directiva (por ejemplo, firmados con un certificado interno) se ejecutan en modo de lenguaje completo (Full Language Mode). Definir la variable de entorno __PSLockdownPolicy no constituye un límite de seguridad.
Consulte Seguridad de PowerShell.