Summary: Identify your PowerShell environment by making use of built-in PowerShell variables.
Hey, Scripting Guy! If I’m writing a script, how can I detect if I am running on Windows, Linux, or Mac with PowerShell?
Just use the built-in variable $PSVersionTable, which has all of the properties you’ll need. Here is an example:
# Currently operating version
$PSVersionTable.PSVersion
# Current Host operating System
# If this value is $NULL you are currently running Windows PowerShell 5.x
# else it returns the host environment from the open Source release
$PSVersionTable.OS
With Powershell 5.1.X $PSVersionTable.OS returns nothing. No such member of the $PSVersionTable