我的批处理文件如何确定我是否在工作网络上?

我的批处理文件如何确定我是否在工作网络上?

我有一个批处理文件,每当我登录笔记本电脑时都会运行它。我只希望当我在雇主的网络上时执行该批处理文件。在家里,我希望该批处理文件直接退出。

有什么简单的方法可以(从批处理文件中)检测我是否在某个网络上?

答案1

一种通用方法,用于检查特定网络特征,例如特定 IP 地址、给定服务器 IP 或跟踪路由的输出。要使此方法有效,了解网络拓扑的差异并加以利用非常重要。更详细的解释需要有关问题设置的更多信息。

答案2

我可以 ping 我们的域控制器并检查是否存在错误:

ping -n 1 servername
if errorlevel 1 exit

缺点是,当它不起作用时,我必须等待超时。我希望立即得到一些结果。我愿意接受更好的建议。

答案3

我可以检查默认网关是否已设置为工作:

ipconfig | find "10.1.1.1"
if errorlevel 1 exit

答案4

在命令提示符下输入 echo %logonserver% 并查看您的域计算机是否返回作为您所连接的服务器。

事实上,这里有一个更好的方法,把它放进你的bat文件中....

@echo off 
IF EXIST %logonserver% (
  echo 'On LAN!'
)ELSE (
  echo 'Not on LAN!'
)

希望这能有所帮助。如果您知道身份验证服务器名称,您显然可以在 if 部分添加条件相等语句来确认服务器存在,然后运行批处理文件的其余部分。当然,ELSE 部分会直接退出。

相关内容