PowershellがDLLファイルに対して、WindowsエクスプローラーのファイルプロパティページとWMIクエリの両方が示すものとは異なるバージョン番号を返す理由を理解しようとしています。(これがコーディングの質問として正しく適格でない場合は、事前に謝罪します。)
シナリオ:
次のPowerShellコマンドを実行します。
(get-item C:\windows\system32\rdpcorekmts.dll).VersionInfo.ProductVersion
これにより、次が返されます。
6.1.7600.16385
ただし、このバージョン番号は正しくありません。Windowsエクスプローラーからバージョン情報を調べると、次のバージョンが表示されます(申し訳ありませんが、その小さなスクリーンショットを投稿しようとしましたが、十分な担当者がいません。ここでは新しいです)。
6.1.7601.17767
さらに、WMICクエリはWindowsエクスプローラーと同じ結果を表示します。
WMIC path CIM_DataFile WHERE (name="c:\\windows\\system32\\rdpcorekmts.dll") get Version
WMICの結果:
バージョン
6.1.7601.17767
なぜ違うのかよくわかりません。Powershellを使用してこの値を返したいのですが、何かを見落としているのか、ある種の奇妙なバグに遭遇したのかはわかりませんが、2つの方法のバージョンの不一致は混乱を招きます。注として、これをPowershellに戻すためのメソッドのバリエーション(Get-ItemChildやGet-ItemPropertyなど)を実行しましたが、同じ誤ったバージョンの結果が得られます。
理由について何かアイデアはありますか?