いくつかの異なるシステムでしばらく PowerShell v3 を実行してきました。ときどき、v2 との互換性やその他の問題を確認したいので、既存の PowerShell 内で次のように v2 に切り替えます。
PS> powershell -version 2
当然のことながら、またはのいずれ$hosts.Version
か$PSVersionTable
を使用してサニティ チェックを行います。しかし、あるマシンでこれを行ったとき、両方とも私がまだ V3 シェルにいると報告しました。最初からやり直しました。同じ結果です。また、PowerShell の代わりに DOS シェルから呼び出してみました。繰り返しますが、同じ結果です。次に、自分の健全性を確認するために (!) 別のシステムに移動し、同じ手順を実行したところ、期待どおりに機能しました。実際に、V3 環境から V2 環境に切り替えました。
私が持っている他の唯一の観察は、動作したシステムで、内部シェルを起動したときに2009年の著作権通知を受け取ったことです。2012年を示さなかったシステム上。
最後の詳細: 言及された 2 台のマシンのうち、Win8 では動作し、Win7 エンタープライズでは失敗しましたが、それがここでの関連要因であるとは思えません。
(a) これが PS のバグである場合、または (b) この問題を目にしたのは私だけであるにもかかわらず、これまでのところ Web 検索は役に立たなかった場合、私は本当に驚くでしょう。なぜこれが起こっているのでしょうか?