检查网络上另一台计算机的域

时间:2013-03-28 04:49:27

标签: batch-file

我有两台电脑,pcApcB。我需要在pcA上运行批处理文件以检查pcB是否在正确的域上(EEP202)如果是,则应该返回PASS,否则它应该返回FAIL。

我对网络不太好,但我猜我可以先ping pcB。如果它没有通过那么它肯定不在正确的域上。

如果确实通过了,那么我假设您可以从ping中提取域名吗?

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

假设您正在谈论Windows域,您可以使用nbtstat来查询计算机的名称,域和其他一些属性:

nbtstat -A x.x.x.x

这是link from Microsoft,其中包含选项和输出格式的说明。

如果您特别想要域名,可以使用:

nbtstat -A x.x.x.x | find "<00>" | find "GROUP"

Ping不会返回计算机加入的域。

使用此单行,您可以为域eep202获得0或1:

nbtstat -A x.x.x.x | find "<00>" | find "GROUP" | find /c /i "eep202"

如果你真的只想在成功时回显“传递”,那么你需要编写一个批处理文件。我们称之为verify_eep202.bat:

@echo off
for /f "delims=" %%a in ('nbtstat -A %1 ^| find "<00>" ^| find "GROUP" ^| find /c /i "eep202"') do set found=%%a
if %found%==1 echo pass

然后您可以运行verify_eep202.bat x.x.x.x