如何检测双向链路状态

如何检测双向链路状态

我有以下情况:

PC1(Windows 10 家庭版)连接到仅 LAN 网络(当前使用动态 IP 地址)

如果我尝试使用静态 IP,连接偶尔会断开一半(即,当发生这种情况时,我可以 ping 出,但不能 ping 入 - 而且我无法通过 SSH 退出或执行任何涉及接收数据的操作)。禁用接口然后重新启用时,连接会恢复。有关更多信息,请参阅上一个问题:Windows 随机断开一半的连接

我正在寻找一个可以检测此状态然后运行我的重置脚本的脚本。我对所有内容都有完全管理员访问权限。

理想情况下,流程图应该是这样的:

流程图

答案1

丹尼尔,

如果无法通过 ping 访问某个地址,则以下代码将为您 ping 该地址。网络适配器将被重置

将 nnnn 更改为应 ping 的所需 IP 地址,并将“连接名称”重命名为使用的网络适配器接口名称。示例:“以太网”

$IpAdress = "192.168.0.1"
$ConnectionName = "ethernet"
$Testconnection = test-connection $IpAdress -count 1 -quiet

if(!$Testconnection)
{
 $nic = gwmi win32_networkadapter -filter "NetConnectionID='$ConnectionName'"
  $nic.disable()
  write-host "Disabling Network interface '$ConnectionName''"
  sleep 5
  $nic.enable()
  write-host "Enabling Network interface '$ConnectionName''"
}

尝试配置脚本的计划任务,每隔一段时间运行一次以检查适配器连接。或者,当您注意到连接丢失时,只需使用 powershell 运行脚本。

相关内容