Search code examples
scriptingpowershell64-bit32-bit

Determine if current PowerShell Process is 32-bit or 64-bit?


When running a PowerShell script on a x64-bit OS platform, how can you determine in the script what version of PowerShell (32-bit or 64-bit) the script is running on?

Background
Both 32-bit and 64-bit versions of PowerShell are installed by default on a 64-bit platform such as Windows Server 2008. This can lead to difficulties when a PowerShell script is ran that must target a specific architecture (i.e. using 64-bit for a script for SharePoint 2010, in order to consume the 64-bit libraries).

Related question:


Solution

  • If you're shell is running on .NET 4.0 (PowerShell 3.0):

    PS> [Environment]::Is64BitProcess
    True