使用 WMI 查询整个网络的 LoginDateTime、UserName、MachineName、IP 地址、MAC 地址、操作系统?

使用 WMI 查询整个网络的 LoginDateTime、UserName、MachineName、IP 地址、MAC 地址、操作系统?

这与这个问题有些相关: 批处理文件按名称对网络上的计算机组进行大规模 ping 操作,检查回复并解析主机名

长话短说...我正在进行 Vista 升级项目...我们基本上没有可靠的数据集来表明我们的网络上有哪些机器、谁是主要用户、当前正在运行什么操作系统等。

我们的网络环境的相关细节如下:
DNS 集成了 AD,并使用安全动态更新。清理设置为 7 天。工作站的 DHCP 租约设置为 8 天。AD 服务器是 2003 R2 SP2。我们混合使用了 Windows 2000、Windows Vista 和 Windows Server 2003 客户端。

理想情况下,我会喜欢有的是:

登录日期时间(或 SCCM 轮询时间)、用户名、机器名、IP 地址、MAC 地址、操作系统

所以我希望这会给我一个准确的我们目前正在运行的视图。一个缺陷是,当机器在夜间升级时,机器名称从 CGYxxxxx 更改为 NADxxxxx,第二天早上当我重新运行查询时,我希望能够在网络上检测到这台新机器的存在(并且,根据 MA​​C 地址,我应该能够假设旧的计算机名称现在“已失效”)。

有谁知道可能的使用 WMI 来提取该信息,是否可以从 Windows 2000 客户端中提取,其中工作站可能运行或可能不运行 SCCM 客户端,以及该信息的可靠性和最新性。

更新

另请参阅(使用 powershell): 使用 WMIC 或 powershell 编写机器名称、当前用户名、操作系统的脚本清单

答案1

是的,应该可以,不过 IP 地址有点复杂,因为可能不止一个。检查微软的一些非常有用的 WMI 浏览器的站点。只要 WMI 服务正在运行,它就应该可以与 Windows 2000 一起使用。

此外,WMI 代码创建器非常方便。

相关内容