连接到具有多个 IP 地址的计算机时 WMIC 失败

连接到具有多个 IP 地址的计算机时 WMIC 失败

我正在尝试针对计算机列表运行重启脚本,其中它使用 WMIC 查看用户是否已登录:WMIC /NODE: "workstation_name" COMPUTERSYSTEM GET USERNAME然后psshutdown如果没有人登录则使用。我发现,如果计算机有多个 IP 地址,它通常会连接到不同子网中的一个,然后返回,ERROR: Description = The RPC server is unavailable.导致脚本认为没有人登录,并重新启动系统。这是一台有问题的计算机:

C:\>nslookup HOSTNAME
Server:  DHCP_SERVER
Address:  10.0.0.10
Name:    HOSTNAME.NET.LOCAL
Addresses:  100.1.1.30
          192.168.1.45
          172.1.1.6


C:\>ping HOSTNAME

Pinging HOSTNAME.NET.LOCAL [172.1.1.6] with 32 bytes of data:
Request timed out.
Request timed out.

因此,我最好的猜测是 WMIC 从 DNS 中选择了另外 2 个 IP 中的一个并尝试使用它们进行连接,而 psshutdown 使用 NETBIOS 或其他服务来发出关机命令并且对此感到满意。

我的问题是,有没有办法使用 WMIC 强制它使用特定子网,或者强制它在执行命令之前查找 IP?使用主机名要容易得多,因为它们可以简单地从 AD 或类似程序中导出,而且我真的不想将所有内容都转换为使用 IP。

我自己会调查一些,但计算机本身的 IP 顺序可能很重要。

相关内容