Process
powershell.exe
powershell.exe is Windows PowerShell, Microsoft's command-line shell and scripting language for administration and automation. Built on .NET, it runs commands called cmdlets and full scripts that manage almost every part of the system: files, the registry, services, processes, the event log, and remote machines. It ships with Windows and is a mainstay of both legitimate administration and attacker tooling.
File identity
- File type
- PE32+ executable
- Magic
- PE32+ executable (console)
- Original name
- PowerShell.EXE.MUI
- Internal name
- POWERSHELL
- Product
- Microsoft® Windows® Operating System
- Status
- Signed
- Publisher
- Microsoft Corporation
- Signer
- Microsoft Windows
- Issuer
- Microsoft Windows Production PCA 2011
- Signature rate
- 100%
10.0.26100.8457 (WinBuild.160101.0800)100%
444.00 KB100%
Execution context
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe100%
Not observed.
Not observed.
1100%
Session 1100%
SeChangeNotifyPrivilege100%SeCreateGlobalPrivilege100%SeImpersonatePrivilege100%SeDebugPrivilege100%
Ancestry
Not observed.
Not observed.
Not observed.
Not observed.
Behavior
wbemsvc.dll100%wbemcomn.dll100%fastprox.dll100%wbemprox.dll100%wmidcom.dll100%
Not observed.
lsass.exe100%nissrv.exe100%microsoftedgeupdate.exe100%taskhostw.exe100%vm3dservice.exe100%
Not observed.
Indicators
Not observed.
Analysis
Windows PowerShell is built on the .NET Framework and works by loading and running cmdlets, small .NET classes, alongside scripts written in the PowerShell language. The genuine binary lives at C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe, with a 32-bit copy under SysWOW64. The v1.0 in that path is historical and has never changed: the in-box version on modern Windows is actually PowerShell 5.1. It is separate from PowerShell 7, whose binary is named pwsh.exe and installs under Program Files.
It can run interactively as a console or non-interactively from another program, taking a script file with -File, a literal command with -Command, or a base64-packed command with -EncodedCommand. Like any console program it is hosted by conhost.exe. Crucially, powershell.exe is only the default host. The PowerShell engine itself lives in System.Management.Automation.dll, and any .NET program can load that DLL to run PowerShell code without ever starting powershell.exe.
Its parent is whatever started it: an interactive explorer.exe session, a logon or Group Policy script, the Task Scheduler, a software installer, or a management agent. A wide range of parents is therefore normal in administered environments, which is part of why the process is hard to baseline on behavior alone.
powershell.exe is the premier living-off-the-land tool on Windows (T1059.001). The signed in-box binary gives attackers a trusted way to run code entirely in memory (T1620), pull payloads down with a download cradle (T1105), and hide intent behind base64 or otherwise obfuscated commands (T1027.010). Because the binary itself is legitimate, path and signature checks pass. The evidence is in the command line, the parent, and the network and file activity that follow.
PowerShell 5.1 added a deep logging surface: script block logging (event ID 4104), module logging, transcription, and live inspection of script content through AMSI. Attackers work to blind it (T1685) by patching AMSI in memory, disabling or clearing these logs, or downgrading to PowerShell 2.0, which predates all of them. Heavy use of -Version 2 is a tell.
Absence is not safety. Because the engine is just a DLL, attackers run PowerShell through their own .NET host, so-called unmanaged or fileless PowerShell, and powershell.exe never appears in the process tree. A quiet powershell.exe does not mean PowerShell was not used.
- Image path other than
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeor itsSysWOW64copyhigh - A long base64 blob passed to
-EncodedCommand/-enchigh - Download-cradle code in the command line (
Net.WebClient,Invoke-WebRequest,DownloadString,iwr,iex)high - Parent is an Office application,
wscript.exe,cscript.exe, ormshta.exehigh - Hidden non-interactive launch flags together (
-WindowStyle Hidden,-NonInteractive,-NoProfile,-ExecutionPolicy Bypass)med - Outbound connections to hosts outside the environment shortly after launchmed
- A
powershell.exechild spawningcmd.exe,rundll32.exe, or other LOLBINsmed - Explicitly loading the legacy engine with
-Version 2med
Telemetry
Microsoft Windows 11 Enterprise Evaluation100%
- First seen
- 2026-06-08
- Last seen
- 2026-06-08
- Machines
- 1