当以太网电缆插入/拔出时,在 Windows 8.1 中自动打开/关闭飞行模式

当以太网电缆插入/拔出时,在 Windows 8.1 中自动打开/关闭飞行模式

当以太网电缆插入/拔出时,有没有办法在 Windows 8.1 中自动打开/关闭飞行模式?

根据这个 SU 问题在启用两种连接的情况下,Windows 应该能够正常工作,但对我来说并非总是如此,而且有线连接速度更快。

针对 Windows 7 提出了一个类似但不同的问题并且该说明在 Windows 8.1 中以相同的方式工作,但是在我的计算机上已经设置为优先使用以太网而不是 WiFi,所以这并不能解决我的问题。

答案1

没有内置功能可以做到这一点,但你可以用汽车信息技术脚本的帮助威盛

看看这个脚本来自的 Neutro汽车信息技术论坛写入以识别当前活动的网络连接并更改其 DNS 设置:

#requireadmin
#include <Array.au3>

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$query = ""

Local $active_netword_cards[1]
Local $network_cards_to_setup[1]

$active_netword_cards[0]=""
$network_cards_to_setup[0]=""

;getting a list of all network cards
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
      if $objItem.NetConnectionStatus == "2" OR $objItem.NetConnectionStatus == "9" Then ;if the network connection is active, we add the index of the network card and the connection name to $active_netword_cards array
         _arrayAdd($active_netword_cards, $objItem.Index)
         _arrayAdd($active_netword_cards, $objItem.NetConnectionID)
      endif
   Next
Endif

;getting settings from all network cards in the array $active_netword_cards
for $i = 1 to UBound($active_netword_cards) - 1 step 2
   $query = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index = " & $active_netword_cards[$i], "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

   For $objItem In $query
   if $objItem.DHCPEnabled == "False" Then _arrayAdd($network_cards_to_setup, $active_netword_cards[$i+1]) ;if DHCP is disabled, we add the network card name in the $network_cards_to_setup array
   next
Next

;setting up primary DNS server of all network cards in the $network_cards_to_setup array
;DNS server used in this example is 10.10.2.45

for $i = 1 to UBound($network_cards_to_setup) - 1 step 1
   Runwait('netsh interface IP ADD DNS "'& $network_cards_to_setup[$i] &'" 10.10.2.45 index=1')
Next

您可以修改脚本,使其按预定间隔循环,并且每当检测到以太网连接时$active_netword_cards,您就可以运行此 PowerShell 命令在 AutoIT 脚本中

相关内容