埃德蒙顿华人社区-Edmonton China

 找回密码
 注册
查看: 2832|回复: 0

Windows 7下,脚本启用或者关闭网卡的方法

[复制链接]
鲜花(3) 鸡蛋(1)
发表于 2011-3-4 21:58 | 显示全部楼层 |阅读模式
老杨团队,追求完美;客户至上,服务到位!
方法一:NetSH大法~' O. G7 [, M$ i. K+ M( U; G
采用下列Netsh脚本
$ z0 G) h  ^- M, ]) m+ tinterface
  L2 C5 t9 {# g4 }7 p+ Q- G! hset interface name="Local Area Connection" admin=ENABLED/DISABLED
/ r1 U% M9 g$ q1 q3 S
$ Y( r! j# |7 @* y$ N方法二:Powershell+WMI大法
: B% h% L; Y; S# x$adapter = get-wmiobject Win32_NetworkAdapter -filter "NetConnectionID='Local Area Connection'"
8 j# b+ X' i9 S$adapter.Disable()
- b) a" v* Z2 V) X  ~) ?: d
0 k9 i) }9 U5 d: _同理可以VBS+WMI大法~
# g5 Z; a8 j/ t1 E% D# L) q这个就不说了~没啥意义了~
9 X1 j  r( W+ X5 H
+ s3 x& c; ^& P1 Y其中有一个非常重要的问题就是权限控制问题!
( b$ J3 w1 w0 E# P! p5 AWindows 7的UAC很严格,不能像WinXP里那样随意修改系统设置而不通知用户。
0 v9 r' W# C1 t% \如果不赋予脚本执行环境以Administrative权限的话,脚本会执行失败,WMI返回码为05,Netsh报错:“An interface with this name is not registered with the router.”
4 g5 T+ V- _1 A( F7 l4 G因此在启动Netsh或者Powershell时需要指定 Administrative权限,可通过右键菜单Run as Administrator实现。) ~& D4 G/ |* M! s5 i' ?3 @4 U
然后会出现UAC,Allow即可~
% A) h- I3 E' s' P' B8 _5 o由于UAC权限具有继承性,即一个具有Administrative权限的Process启动的Process默认是具有Administrative权限的(除非显式的禁止继承)~0 X+ Q( _1 m( {
因此可以通过启动一个有Administrative的Cmd或者Powershell的Shell来让脚本具有Administrative权限~
  V' v9 X; k4 z/ t$ |/ l# }& N+ }7 J0 d+ l
该方法仅在Win7下测试通过~WinXP下不通过~
, @: _! X& d: J5 E: m3 |+ b似乎原因是由于WinXP的WMI Class不支持Enable和Disable方法造成的~具体解决方案未知。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|小黑屋|手机版|Archiver|埃德蒙顿中文网

GMT-7, 2026-4-7 23:36 , Processed in 0.114336 second(s), 10 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表