質問: お世話になります。 WindowsのPowerShell(バージョンは4)による運用支援ツールの開発を行うことになりました。 ところが現在開発のメインで使用しているPCはWindows10なのですが、Windows10のPowerShellのバージョンは5です。 PowerShell4が使えるWindows8.1のノートPCもあるのですが、 ・CPU等のハード的なスペックが低い。 ・開発環境とネットワーク接続されておらず、開発環境のPCにコピーしなければ「バージョン管理」「テスト環境の構築」が行えない。(開発環境とネットワーク接続するためには、非常に面倒な手続き等が必要となります。) ・Windows8.1のノートPCは共有PCで、常に使用できるわけではない。 という不便な状況です。 (現在はWindows10で「PowerShell5の新機能」を使用しないプログラムを作成し、それをWindows8.1で動作確認するという非効率な方法で開発中です。) 何らかの方法(例えばWindows10標準の「Windows Power Shell ISE」に何らかのアドオンを追加する等)でWindows10で「PowerShellをバージョン4モードで動かす」ことは可能でしょうか? 以上よろしくお願いします。
回答: こんにちは。 残念ながら、Windows 10において厳密にPowerShell 4.0と同じ環境を再現することはできません。 x_x さんの回答にある`powershell.exe`に対する`-version`パラメーターで、`4.0`を指定することは可能なのですがこれは有効になりません。 この`-version`パラメーターは実際には`2.0`かOSにインストールされている最新バージョン(Windows 10なら`5.0`または`5.1`)の二択であり、これは、このパラメーターが実際にはPowerShellが実行されるランタイムバージョン(.NET 2.0 or .NET 4.x)を切り替えるしかできないためです。 PowerShellにはバージョン間の差異だけでなく、同じバージョンでもOSによって使える・使えないといった機能が存在します。 PowerShellにおいて厳密に同じ環境を用意する為にはOSとPowerShellのバージョンを合わせるしか方法はありません。