400

Engine state is changed from None to Available

The PowerShell host engine (`powershell.exe` or runspace host) initialized and started execution.

Event ID 400 (`Windows PowerShell` / `Operational`) records the initialization and startup of the PowerShell engine (`HostName`, `HostVersion`, `HostApplication`). When threat actors execute PowerShell via custom runspaces inside non-standard applications (`System.Management.Automation` hosted in `msbuild.exe` or `rundll32.exe`), event `400` reveals the anomalous `HostApplication` path.

Failure Reason / Root Cause:

PowerShell runspace engine initialization (`HostApplication` command line shown).

CategoryPowerShell
Audit typeSuccess Audit
SeverityMedium
Applies toWindows Server 2016, 2019, 2022 / Windows 10, 11
Keywords400, powershell engine start, hostapplication, unmanaged powershell, runspace startup
Raw Event XML snippet
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
    <EventID>400</EventID>
    <Version>0</Version>
    <Level>0</Level>
    <Task>12544</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8020000000000000</Keywords>
    <TimeCreated SystemTime="2026-07-17T09:54:44.846Z" />
    <EventRecordID>1048576</EventRecordID>
    <Correlation />
    <Execution ProcessID="612" ThreadID="1024" />
    <Channel>Security</Channel>
    <Computer>DC01.enterprise.internal</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="SubjectUserSid">S-1-5-18</Data>
    <Data Name="SubjectUserName">SYSTEM</Data>
    <Data Name="SubjectDomainName">NT AUTHORITY</Data>
    <Data Name="SubjectLogonId">0x3e7</Data>
    <!-- Event telemetry fields specific to Engine state is changed from None to Available -->
  </EventData>
</Event>

MITRE ATT&CK mapping

IDTechniqueTactic
T1059.001Command and Scripting Interpreter: PowerShellExecution
T1218System Binary Proxy ExecutionDefense Evasion

Recommended actions

Related events