When trying to run PowerShell.exe with command line argument -Version, you may get the following error:
-Version : The term '-Version' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ -Version 2.0 -InputFormat none -File C:\SomeFolder\YoutScript.ps1
+ CategoryInfo : ObjectNotFound: (-Version:String) , CommandNot
+ FullyQualifiedErrorId : CommandNotFoundException
The command line used:
powershell.exe -ExecutionPolicy Bypass -Version 2.0 -InputFormat none -File C:\SomeFolder\YoutScript.ps1
You can resolve this error, by changing order of Version parameter:
powershell.exe -Version 2.0 -ExecutionPolicy Bypass -InputFormat none -File C:\SomeFolder\YoutScript.ps1
This seems like a bug, because official documentation for the PowerShell does not mention order of parameters. Even more, the use Execution Policy before Version. See the following PowerShell help article in MS site.