如何检测以太网电缆是否已切换到其他网络,如果是,则关闭计算机?

时间:2017-03-28 03:11:18

标签: switch-statement ethernet logmein

我在工作中有一个问题,即同事是系统管理员,他已经让LogMeIn疯了。我甚至尝试将我的所有三台计算机移动到由不同部门和域管理的不同网络。他只是简单地拔下网络1电缆并插入网络2电缆,然后通过LogMein将我的所有设置弄得乱七八糟。我不知道他是如何做的具体细节,但我确实设法在事件日志中捕获了他的计算机名称,IP地址和端口64474的连接。这是一个巨大的问题!

任何人都可以告诉我如何监听网络1并接受它但是如果连接了网络2电缆则立即关闭计算机

程序“LogMeIn”甚至可以连接到无人值守的计算机并成为管理员。

我的计划是64位Windows 7计算机上的32位Visual Basic 2010并编写一个程序,将一个变量存储在一个文件中,该文件将保存所需的网络IP或字符串,该字符串将与当前计算机的ip进行比较具有

所需的网络使用DHCP,而不需要的是使用一系列固定IP地址的内联网(例如10.20.2.0 - 10.20.2.99)。

现在我的问题是:

我唯一可用的编译器是Visual Studio 2010 32位。除了IP地址之外我需要捕获哪些类型的数据才能知道插入了不同的网络?我可以处理存储数据的位置以及如何比较数据。

以下是我从IP开始的内容:

Dim HostName As String = Dns.GetHostName()
Dim thisHost As IPHostEntry = Dns.GetHostByName(HostName)
Dim thisIpAddr As String = thisHost.AddressList(0).ToString
Debug.WriteLine(thisIpAddr)

也许我可以在一个简单的批处理文件中将其放入启动状态,如下所示但是如何在没有插入任何以太网的情况下处理启动?

@echo off
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
echo Network IP: %NetworkIP%

for /f %%a in ('powershell Invoke-RestMethod api.ipify.org') do set PublicIP=%%a
echo Public IP: %PublicIP%
IF %PublicIP% EQU 75.555.55.555 (
echo Its Me!
)ELSE (shutdown /f
)

0 个答案:

没有答案