查找远程Windows计算机的扩展“ver”信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找远程Windows计算机的扩展“ver”信息相关的知识,希望对你有一定的参考价值。
Windows 10.0.16299在“ver”命令的输出中添加了一个新的“更新构建版本”(“UBR”)编号:
截至12/17/2017,完全更新的Windows 10计算机报告:
C:> ver
Microsoft Windows [Version 10.0.16299.125]
在我的网络上花了很多时间更新工作站之后,我发现只有不到25%的工作站实际安装了所有挂起的更新。
我非常希望在周末安装这些更新,以避免用户在一周内感到沮丧。
我有Microsoft Windows [Version 10.0.16299.15]
,Microsoft Windows [Version 10.0.16299.98]
和很多未能完全更新并且仍然显示Microsoft Windows [Version 10.0.15063]
的混合(这些必须使用Media Creation Tool下载的新ISO进行更新)。
UBR“.125”似乎很关键,因为它是一个单一的指示器,系统完全成功地更新了所有最新的补丁。
WMIC,PowerShell和SystemInfo在其输出中的任何位置都不包含此信息 - 它们仅报告“10.0.16299” - 操作系统和内部版本号。
我发现获取UBR值的唯一方法是使用“psexec”直接在远程系统上运行“ver”命令:
psexec \remotepc cmd /c ver
- 但每个系统需要23秒,这似乎很慢......
有没有更快的方法来获取UBR号码,或者来自远程计算机的'ver'的确切结果?
谢谢。
谢谢!
我没有启用远程PowerShell脚本,但我似乎启用了远程注册表。
我可以使用'reg.exe'从远程系统中无延迟地读取UBR的值:
@echo off
for /f "tokens=3 usebackq" %%h in (`reg query "\%1HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v UBR`) do (
set /a UBR=%%h
echo %UBR%
)
如果我创建包含上述代码的'readubr.bat',那么:
C:> readubr.bat localhost
125
c:> readubr.bat ss_ccstation
125
C:> readubr.bat ss_shared
125
我假设您正在寻找W10 UBR(UpdateBuildRevision)版本号。
如果远程计算机设置为PowerShell远程处理,则可以使用(例如,对于远程计算机remotepc
,来自提升的会话):
Invoke-Command {
Get-ItemPropertyValue 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersion' UBR
} -ComputerName remotepc
这种方法优于the OP's own, remote-registry solution的优势在于您可以并行定位多台计算机,默认情况下最多可以达到32台(请参阅Get-Help Invoke-Command
)。
虽然远程注册表解决方案比PowerShell remoting更容易配置,但它仍需要预先配置:所有目标计算机上所需的RemoteRegistry
服务的启动类型默认为手动启动,因此默认情况下不运行。
这是与PowerS自己的解决方案相当的PowerShell;假设$machine
包含目标机器的名称:
[int] (-split -join
(reg query "\$machineHKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v UBR)
)[-1]
以上是关于查找远程Windows计算机的扩展“ver”信息的主要内容,如果未能解决你的问题,请参考以下文章
windows Server 2012/2016 路由和远程访问,PPPOE,ADSL,连接接口时出现一个错误,连接被远程计算机终止