方法一:NetSH 大法~
采用下列 Netsh 脚本
|
|
方法二:Powershell+WMI 大法
|
|
同理可以 VBS+WMI 大法~
这个就不说了~没啥意义了~
其中有一个非常重要的问题就是权限控制问题!
Windows 7 的 UAC 很严格,不能像 WinXP 里那样随意修改系统设置而不通知用户。
如果不赋予脚本执行环境以 Administrative 权限的话,脚本会执行失败,WMI 返回码为 05,Netsh 报错:“An interface with this name is not registered with the router.”
因此在启动 Netsh 或者 Powershell 时需要指定 Administrative 权限,可通过右键菜单 Run as Administrator 实现。
然后会出现 UAC,Allow 即可~
由于 UAC 权限具有继承性,即一个具有 Administrative 权限的 Process 启动的 Process 默认是具有 Administrative 权限的(除非显式的禁止继承)~
因此可以通过启动一个有 Administrative 的 Cmd 或者 Powershell 的 Shell 来让脚本具有 Administrative 权限~
该方法仅在 Win7 下测试通过~WinXP 下不通过~
似乎原因是由于 WinXP 的 WMI Class 不支持 Enable 和 Disable 方法造成的~具体解决方案未知。