【发布时间】:2016-05-10 18:49:59
【问题描述】:
我正在尝试编写一个脚本,该脚本需要完全关闭 Internet,然后再将其重新打开。我希望它能在尽可能多的情况下工作......
- 支持 Window 7 及更高版本
- 如果有多个 Internet 连接(如 WiFi 和 LAN)
- 无论这些连接如何命名
- 受限用户帐户,UAC?
ipconfig /release 和 ipconfig /renew,正如 this answer 中所建议的,不适用于 2 个互联网连接。 /release 禁用活动连接(例如 WLAN),但计算机退回到 LAN 连接并且您仍然在线。
$connectedAdapters = Get-WmiObject -Class Win32_NetworkAdapter -Filter "NetConnectionStatus = 2"
$connectedAdapters | Invoke-WmiMethod -Name disable
我的问题是:
NetConnectionStatus = 2是一个可靠的互联网访问代理吗?无论您的 NIC 是什么品牌,它都可以在 Windows 7 及更高版本上使用吗?这是否与启用了 UAC 的受限用户帐户兼容?我想是的……
在我的机器上,此查询还捕获 VirtualBox Host-Only Ethernet Adapter。如果我也禁用/启用它会不会有问题?
Get-WmiObject和Invoke-WmiMethod在 Windows 7 及更高版本上可用吗?
【问题讨论】:
-
@JaquelineVanek Windows 8 及更高版本:(
-
不确定,但 v5 现在可用于 win7。如果可能的话,alsoq 使用标准帐户可能会很棘手
-
为什么? “互联网访问”是什么意思?禁用任何连接的适配器也会切断您连接到的任何内部网络,无论是否连接互联网。您究竟想在这里实现什么目标?
-
@MathiasR.Jessen 我知道,这就是我想要的,比如飞行模式。该脚本将作为 boxstarter 脚本的一部分在本地运行。
-
@JaquelineVanek 我知道,但我想分发脚本并支持仍在使用 Windows 7 的人们
标签: windows powershell batch-file command-line nic