我有一个功能,目前通过这样做可以快速 ping 到同一网络中的远程机器:
ping -n 1
然后它评估命令是否成功(1 或 0)以确定机器是否已打开电源。
似乎这种方法无法正常工作,因为只有在尝试 ping 的 IP 的 DNS 解析失败时,我才会从 ping 中得到 1。在任何其他情况下,似乎 ping 将返回零(即使机器确实已关闭),因为它似乎在自身环回。
有没有人对任何合适的替代品有一个好主意?我正在考虑 telnet,但这可能需要很长时间才能超时,我想要尽可能好的性能。
好的,伙计们,这不是标题可能暗示的通常容易回答的问题......
我需要从运行 Windows 的机器(从 XP 到 Server2012)获取 MAC 地址。我可以使用以下选项:
1) getmac - 一般都很好,它返回 MAC 地址的格式也适合我,但它在过去给我带来了问题。
2) WMIC - 一般也很好,但过去也给我带来了问题,
而且它的性能落后(尤其是在低规格机器上)。
3) ipconfing - 从命令输出中检索它的传统方式。可以工作,但如果存在多个接口,解析输出可能会很麻烦。
所以问题如下。为了获得机器的 MAC 地址,上述所有方法的最佳替代方法是什么。请记住,我将通过 shell 脚本调用任何实用程序(无论这增加了等式),并且我正在几个不同的 Windows 版本(从专业版到嵌入式 POS)上进行部署。
Powershell 显然是不可能的,因为 XP 不支持它。另外我想避免使用 WMIC 的原因是 1)我遇到的安装错误(导致重大问题)和 2)因为某些 Windows 版本(例如 XP 嵌入式)不包含它。
我尝试使用 ARP 表来获取它,但据我所知,它不会列出本地机器的 MAC 地址。
欢迎任何有用的提示或想法。