PowerShell v3のリリースバージョンをインストールしましたが、-Versionパラメーターを機能させるのに問題があります。.NET 4.0を必要とするモジュールがかなりあり、次のpowershell.exe.configファイルを使用して問題なくPowerShellv2を使用しています。
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
これにより、PowerShellv2を.NET4.0CLRで実行できるようになります。すべてが問題なく機能しました。
これでPowerShellv3のリリースバージョンをインストールしました。コマンド「powershell-version2」を使用して$PSVersionTable
変数を確認すると、PowerShell v3(.NET 4.0を使用)が読み込まれていることが示されます。上記のファイルを削除しpowershell.exe.config
て同じコマンドを実行すると、PowerShell v2が読み込まれているが、.NET2.0を使用していることが示されます。
だから私の質問はこれです:PowerShellv2をロードしてPowerShellv3をインストールする前に行っていたように.NET4.0 CLRを使用させる方法はありますか?または、PowerShell v3はこれを許可しませんか?
また、私がこれを行おうとしている理由についても言及する必要があります。主に、V3に切り替えたときに発生する可能性のある非互換性の問題がある場合に備えてです。私はすべてをV3でテストする予定ですが、V2に戻る機能があると、多くの頭痛の種から私たちを救うことができます。