Skip to content
System hardening
ASD ISMISM-1622

ASD ISM 1622 Ensure PowerShell uses Constrained Language Mode

What it says

PowerShell is configured to use Constrained Language Mode.

Quoted as published. Everything else on this page is written by Control Stack.

What it means

In plain English

PowerShell should be setup to limit script execution and mitigate potential risks.

This control is about making sure that PowerShell, a tool used to manage and automate tasks on your computer network, is set up to reduce risk. It's important because if PowerShell isn't limited, a hacker could use it to access sensitive information or disrupt your operations.

Why it matters

Without Constrained Language Mode, PowerShell can be exploited for code execution, risking data breaches and operational disruptions.

How to implement

  1. The IT team should configure all computers to use PowerShell in Constrained Language Mode.

    This means adjusting the settings on each computer so that PowerShell can only perform safe, simple tasks and cannot use powerful, risky ones.

  2. Business managers should ask their IT team to include this configuration in regular security checks.

    This ensures the settings remain effective and consistent across the organisation.

  3. System administrators should update documentation to reflect this change.

    Clearly indicate that PowerShell is limited in its capabilities, providing guidance for users on what that means for daily operations.

  4. The IT manager should establish a process to routinely verify that Constrained Language Mode is enabled.

    This could involve setting reminders for periodic checks or using software that automatically reports the setting status.

  5. Executives should support these changes by explaining to staff why they are necessary.

    Sharing how these efforts help protect the business can motivate cooperation and compliance.

Keep it running

Regularly check $ExecutionContext.SessionState.LanguageMode is ConstrainedLanguage across endpoints and confirm WDAC/AppLocker policies enforce it to prevent drift.

Evidence and audit

  1. Check 1 of 4What an auditor asks for

    Ask for

    Configuration reports from the IT team: Request documentation or system logs showing the current PowerShell settings across your computers.

    Look at

    Whether they reflect Constrained Language Mode.

    Good evidence

    Includes a report dated recently that clearly indicates PowerShell is set to the limited mode on all devices.

  2. Check 2 of 4What an auditor asks for

    Ask for

    The IT department for policy documents.

    Look at

    Company policies regarding PowerShell use. Check these documents for references to Constrained Language Mode and details about permissible actions with PowerShell.

    Good evidence

    Includes a comprehensive policy that mentions Constrained Language Mode as a requirement.

  3. Check 3 of 4What an auditor asks for

    Ask for

    To see staff communications or training records.

    Look at

    Evidence that shows staff were informed about the PowerShell configuration change. Good evidence includes an email or memo sent to all employees explaining the new settings and their purpose.

    Good evidence

    Will show consistent settings across sampled devices, ideally with automated monitoring proof.

  4. Check 4 of 4What an auditor asks for

    Look at

    Records where a deviation from Constrained Language Mode was noted and addressed. This demonstrates ongoing compliance and proactive management.

    Good evidence

    Includes logs confirming that any detected deviations were corrected promptly.

Mappings

Closest match in ASD Essential Eight: E8-AH-ML3.3, PowerShell is configured to use Constrained Language Mode, which asks for the same thing.

ISO 27001

ISO/IEC 27001: 2 mappings

Essential Eight

ASD Essential Eight: 3 mappings

Mappings show how controls relate across frameworks. They do not imply full equivalence or certification.