在同一网络中查找远程计算机的Windows版本


Answers:


16

由于乔希国王指出,你可以使用srvinfo它是Windows 2003的资源工具包工具。

在Windows 7上,您可以使用 systeminfo

systeminfo /s remote_computer_name

谢谢您,我试图找到一种非服务器的替代品,但我的Google不够强大!
Windos

5

要从findstr的systeminfo管道中仅获取主机名和操作系统,可以消除其他噪音

systeminfo /s [machine name]|findstr /i "host OS "

2

nmap可以执行远程OS检测

它不是100%准确,但您必须自己看看。

这是一个示例结果。我特别选择了一个结果,该结果并非100%准确,但是这台计算机 Windows Server 2008。

警告:OSScan结果可能不可靠,因为我们找不到至少1个打开的端口和1个关闭的端口
设备类型:通用正在
运行(仅猜测):Microsoft Windows Vista | 2008 | 7(98%)
激进的OS猜测:Microsoft Windows Vista SP0或SP1,Server 2008 SP1或Windows 7(98%),Microsoft Windows Server 2008(98%),Microsoft Windows 7 Professional(97%),Microsoft Windows Vista Business SP1(93%),Microsoft Windows Vista Home Premium SP1( 93%),Microsoft Windows Server 2008 SP2(91%),Microsoft Windows Vista Home Premium SP1,Windows 7或Server 2008(91%),Microsoft Windows 7(90%)
没有与主机完全匹配的操作系统(非测试条件理想)。


2

谢谢你[squillman] :)

当您要检查的机器太多时,只需执行以下操作:

(1)创建TXT文件包含您计算机的所有主机名。例如:ALL-MACHINES.TXT

machine_number_0001
machine_number_0002
machine_number_0013
machine_number_0101
machine_number_0111

(2)在CMD中执行FOR指令:

C:\Users\MrCMD> FOR /F %S IN ('TYPE ALL-MACHINES.TXT') DO SYSTEMINFO /S %S [enter]

(3)欢迎提出任何改进意见。:)


1

如果您有权访问Windows Server资源工具包之一(肯定是2003,对于较新的版本则不确定),则可以使用Srvinfo命令。

Srvinfo \\remote_compute_rname

您会从中获得大量信息,但是您感兴趣的是:

产品名称:Microsoft Windows XP产品选项:Professional


谢谢。适用于localhost,但不适用于其他计算机,可能是因为我不是网络中的管理员。有解决方法吗?
shane

1
@shane如果您不是管理员,那么没有程序可以为您提供该信息。
KCotreau

0

对于那些需要做很多机器并想使用PowerShell的用户:

单台计算机:Get-CimInstance Win32_OperatingSystem -ComputerName 计算机名称 | 选择对象CSName,标题,BuildNumber,OSArchitecture

所有机器:Get-ADComputer -filter * | Foreach对象{Get-CimInstance Win32_OperatingSystem -ComputerName $ _。name -ErrorAction SilentlyContinue | 选择对象CSName,标题,内部编号,OSArchitecture} | 格式表-属性*-自动大小

假设您已启用WinRM。您也可以通过PS批量启用WinRM,但这是另一个主题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.