用CMD命令脚本禁用或启用网卡的方法

2014年05月23日 技术资料 8793 views 0

作者:iT猫itcat.cn


方法一:使用netsh

rem 适用于Win2003
rem 把Win2003的ifmon.dll拷贝到WinXP以后WinXP也可以用

rem 禁用网卡
netsh interface set interface name="本地连接" admin=DISABLED

rem 启用网卡
netsh interface set interface name="本地连接" admin=ENABLED


方法二:使用devcon.exe

@echo off
rem 需要devcon.exe的支持
echo 请输入你的选择:(禁用网卡为N,启用为Y)
set/p SELECT=
if /i %SELECT%==Y set SELECT=ENABLE&GOTO :DO
if /i %SELECT%==N set SELECT=DISABLE
:DO
for /f "tokens=2 delims=&" %%i in ('devcon find pci\* ^| findstr "Fast Ethernet"') do devcon %SELECT% *%%i*>NUL


方法三:使用VBScript

Const ssfCONTROLS = 3
sConnectionName = "本地连接"  '可改成需要控制的连接名称,如"无线网络连接"等
sEnableVerb = "启用(&A)"
sDisableVerb = "停用(&B)"    非xp 系统可能 是禁用
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)
set oNetConnections = nothing
for each folderitem in oControlPanel.items
if folderitem.name  = "网络连接" then

   set oNetConnections = folderitem.getfolder: exit for

end if
next
if oNetConnections is nothing then
msgbox "未找到网络连接文件夹"
wscript.quit
end if
set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name)  = lcase(sConnectionName) then
   set oLanConnection = folderitem: exit for

end if
next
if oLanConnection is nothing then
msgbox "未找到 '" & sConnectionName & "' item"
wscript.quit
end if

bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
s = s & vbcrlf & verb.name
if verb.name = sEnableVerb then  
   set oEnableVerb = verb   
   bEnabled = false
end if

if verb.name = sDisableVerb then  
   set oDisableVerb = verb   
end if
next

'debugging displays left just in case...

'

'msgbox s ': wscript.quit
'msgbox "Enabled: " & bEnabled ': wscript.quit
'not sure why, but invokeverb always seemed to work  
'for enable but not disable.   

'

'saving a reference to the appropriate verb object  

'and calling the DoIt method always seems to work.

'

if bEnabled then

'  oLanConnection.invokeverb sDisableVerb

oDisableVerb.DoIt

else

'  oLanConnection.invokeverb sEnableVerb

oEnableVerb.DoIt

end if

'adjust the sleep duration below as needed...

'

'if you let the oLanConnection go out of scope

'and be destroyed too soon, the action of the verb

'may not take...

'

wscript.sleep 400

👍好活当赏🧧