我试图理解为什么 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 返回这个值,但现在我不确定我是否只是忽略了某些东西,或者我是否遇到了某种奇怪的错误,但是这两种方法之间的版本不匹配令人困惑。需要注意的是,我已经在 Powershell 中运行了一些变体以将其取回(例如 Get-ItemChild 和 Get-ItemProperty),但我得到了相同的错误版本结果。
关于为什么的任何想法?