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

Batch file 检查网络上另一台计算机的域,batch-file,Batch File,我有两台电脑,pcA和pcB。我需要在pcA上运行批处理文件,以检查pcB是否位于正确的域(EEP202)上。如果位于正确的域,则应返回PASS,否则应返回FAIL 我不太擅长网络,但我猜我可以先pingpcB。如果它没有通过,那么它肯定不在正确的域上 如果它真的通过了,那么我假设你可以从ping中提取域 任何帮助都会很好 假设您谈论的是Windows域,您可以使用nbtstat查询计算机的名称、域和一些其他属性: nbtstat -A x.x.x.x 下面是一个示例,解释了选项和输出格式 如

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

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

如果它真的通过了,那么我假设你可以从ping中提取域


任何帮助都会很好

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

nbtstat -A x.x.x.x
下面是一个示例,解释了选项和输出格式

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

nbtstat -A x.x.x.x | find "<00>" | find "GROUP"
nbtstat-A x.x.x | find“| find”组
Ping不会返回计算机加入的域

您可以通过这一行获得域eep202的0或1:

nbtstat -A x.x.x.x | find "<00>" | find "GROUP" | find /c /i "eep202"
nbtstat-A x.x.x | find”“| find“GROUP”| find/c/i“eep202”
如果您真的只想在成功时回显“pass”,那么您需要编写一个批处理文件。我们称之为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
@echo关闭
对于/f“delims=“%%a in('nbtstat-a%1^ | find”“^ | find“GROUP”^ | find/c/i“eep202”)do set found=%%a
如果%found%==1个回显过程

然后,当您说“域”时,您可以运行
验证\u eep202.bat x.x.x.x

您是指Active Directory类型、DNS类型还是其他类型?对于DNS,您的意思是它是否具有正确的搜索域?EEP202是课程号吗?有课程笔记可以链接到我们吗?按领域,我不是100%确定。我有一个故障排除指南,我正试图把它做成一个批处理文件。因此,我们只需运行程序,它就会告诉我们失败的地方。该指南只说“检查以确保面板(pcB)位于正确的域中。因此,我假设它是您登录时选择的域。检查以确保它不处于本地模式。EEP202只是我们登录到计算机时登录的域。确定这将返回文本”EEP202 GROUP REGISTER“我如何才能将其隐藏起来不显示,并进行测试以确保组名为=EEP202?您希望在输出中显示什么?“通过”还是“失败”?