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.
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 |
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 |
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
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.exePS 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.
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
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.