Jump to page sections

Here are the Windows PowerShell executables' default file path locations on 32- and 64-bit Windows.

Note: %SystemRoot% is usually C:\Windows (accessible as $env:SystemRoot in PowerShell).

Don't be fooled by the directory name part containing "v1.0" - it can still be a later version of PowerShell.

From what I've read, Microsoft originally had planned to use different directories, but later changed their mind - probably for backwards compatibility reasons if I am to venture a guess. Click here to learn how to find which version of PowerShell you are running.

In PowerShell Core / PowerShell 7+, the directories use corresponding version numbers, so the idea finally came into fruition. More on that below.

Windows PowerShell Executables File System Locations on 64-bit Windows

The default paths to the executables for PowerShell and PowerShell ISE on relevant 64-bit Windows operating systems:

32-bit (x86) PowerShell executable %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
64-bit (x64) Powershell executable %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
32-bit (x86) Powershell ISE executable %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell_ise.exe
64-bit (x64) Powershell ISE executable %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell_ise.exe

Windows PowerShell Executables File System Locations on 32-bit Windows

The default paths to the executables for PowerShell and PowerShell ISE on relevant 32-bit Windows operating systems:

32-bit (x86) PowerShell executable %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
32-bit (x86) Powershell ISE executable %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell_ise.exe

The Longer Story

Now that it's the year 2020 at the time of writing - a good while after this little article was written, we also have PowerShell Core, which is a cross-platform version of PowerShell that runs on Windows, Linux and macOS. Its executable is called pwsh.exe, not powershell.exe. There's a section on that below.

PowerShell Core is the future and no more "real" work is being done on Windows PowerShell version 5.1, which is the latest ever to be released of Windows PowerShell (which is not PowerShell Core). All future work goes into PowerShell Core now. That's currently in version 7. A critical security vulnerability was found in PowerShell 6.x before 6.2.2, so make sure you're up-to-date.

Windows PowerShell is based on the .NET Framework, while PowerShell Core is based on .NET Core. A lot of features have been and are currently being re-implemented/reinvented in .NET Core.

PowerShell Core is hosted here on GitHub, by Microsoft: https://github.com/PowerShell/PowerShell

PowerShell Core File System Location

To find where the PowerShell Core executable is, if it's installed, you can, if it's in $Env:Path, use the command:

Get-Command pwsh.exe

... from Windows PowerShell.

Example Output:

PS C:\> (Get-Command -Name pwsh).Path
C:\Program Files\PowerShell\6\pwsh.exe

PS C:\> cd (Split-Path -Parent (Get-Command -Name pwsh).Path)

PS C:\Program Files\PowerShell\6> ls pwsh.*

Directory: C:\Program Files\PowerShell\6

Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 7/9/2019 9:49 PM 165511 pwsh.deps.json -a---- 7/9/2019 9:54 PM 14712 pwsh.dll -a---- 7/9/2019 9:54 PM 276344 pwsh.exe -a---- 7/9/2019 9:49 PM 15872 pwsh.pdb -a---- 7/9/2019 9:49 PM 152 pwsh.runtimeconfig.json -a---- 7/9/2019 9:49 PM 627 pwsh.xml PS C:\Program Files\PowerShell\6> $PSVersionTable.PSVersion.ToString() 6.2.2

The default location is seemingly:

$Env:ProgramFiles\PowerShell\<version>\pwsh.exe

Also beware of older PowerShell Core versions with the executable name "powershell.exe" (confusingly the same as Windows PowerShell). The switch to "pwsh.exe" happened at some point pretty early in development, but PSCore had been around for a while already.

Linux PowerShell Location

To find the location on Linux, you can use the command "which". On Ubuntu 22.04, the location is /opt/microsoft/powershell/7/ as of December 2022.

PS /> which pwsh
/opt/microsoft/powershell/7/pwsh

Modules

The default location for shared modules is $Env:ProgramFiles\WindowsPowerShell\Modules.



Powershell      Windows          All Categories

Google custom search of this website only

Minimum cookies is the standard setting. This website uses Google Analytics and Google Ads, and these products may set cookies. By continuing to use this website, you accept this.

If you want to reward my efforts