PowerShell のバージョンを指定して実行する

2020/04/18

PowerShell はバージョンを指定して実行することができる

バージョンを指定して実行

PowerShell Ver.3 で hoge.sp1 を実行する

PS> powershell -v 3 .\hoge.ps1

Windows 10 で Powershell Ver.2 で実行する

PowerShell Ver.2 で実行するとエラーがでた

PS > powershell -v 2 .\hoge.ps1
.NET Framework のバージョン v2.0.50727 がインストールされていません。Windows PowerShell のバージョン 2 を実行するには、このバージョンが必要です。
  • プログラムと機能を開く
    メニューを右クリックして [ファイル名を指定して実行] を選択、appwiz.cpl と入力して [OK] をクリックする

  • [Windows の機能の有効化または無効化] をクリックする

  • [.NET Framework 3.5 (.NET 2.0 および 3.0 を含む)] を選択して [OK] をクリックする

  • [Windows Update からファイルをダウンロードする] をクリックする

  • しばらく待つと完了します

これで PowerShell Ver.2 で実行することが可能になる。

Windows 10 で実際にバージョン指定して試してみる

$PSVersionTable とだけ記述した hoge.ps1 を準備して試した。

PS> powershell -v 2 .\hoge.ps1

Name                           Value
----                           -----
CLRVersion                     2.0.50727.8670
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

PS> powershell -v 3 .\hoge.ps1

Name                           Value
----                           -----
PSVersion                      5.0.10586.122
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.122
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PS> powershell -v 4 .\hoge.ps1

Name                           Value
----                           -----
PSVersion                      5.0.10586.122
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.122
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PS> powershell -v 5 .\hoge.ps1

Name                           Value
----                           -----
PSVersion                      5.0.10586.122
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.122
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1