Vbs 禁用啟用網絡卡

2021-09-03 10:22:08 字數 1978 閱讀 2130

vbs

禁用啟用網絡卡

在實際工作中,經常碰到需要通過指令碼啟用禁用網絡卡的情況,在網上找了乙個指令碼,實際是通過模擬鍵盤操作來啟用禁用,但對於多種系統和比較複雜的情況操作性不好。

還有一種思路,就是利用

netsh

命令實現,但是

netsh

命令必須得到網絡卡的名字,不同伺服器,網絡卡的名字並不一樣。

於是產生了乙個思路,利用

vbs得到網絡卡名字,然後呼叫

netsh

命令啟用禁用網絡卡。

**如下

call dis_en_nic()

function dis_en_nic()

on error resume next

dim objshell

const wbemflagreturnimmediately = &h10

const wbemflagforwardonly = &h20

set fso=createobject("scripting.filesystemobject") 

dim wshshell

set wshshell=wscript.createobject("wscript.shell")

arrcomputers=array(".")

for each strcomputer in arrcomputers

set objwmiservice = getobject("winmgmts:\\" & strcomputer & "\root\cimv2")

'set colitems = objwmiservice.execquery("select * from win32_networkadapter where adaptertypeid=0") '

使用where adaptertypeid=0 可以的得到所有的物理網

卡,但是貌似禁用的

網絡卡不能得到,需要

進一步測試

set colitems = objwmiservice.execquery("select * from win32_networkadapter ")

for each objitem in colitems

'wscript.echo "netconnectionid: " & objitem.netconnectionid

a=objitem.netconnectionid '

啟用網絡卡

b="""c:\windows\system32\cmd.exe /c c:\windows\system32\netsh.exe inte***ce set inte***ce name="""+a+""" admin=enabled """ '

禁用網絡卡

'b="""c:\windows\system32\cmd.exe /c c:\windows\system32\netsh.exe inte***ce set inte***ce name="""+a+""" admin=disabled """

wshshell.run("%comspec% /c "+b)

next

next

set wshshell=nothing

end function

說明:1 環境變數

%comspec%

代表windows

命令外殼;這等效於呼叫

cmd.exe

(它當然會開啟乙個命令視窗)。那為什麼不直接呼叫

cmd.exe

?是這樣,假設您的計算機執行

windows 98

。在這些計算機上,通過執行

command.com

來呼叫命令外殼,因為沒有

cmd.exe

。使用%comspec%

有助於確保無論該指令碼是在什麼版本的

windows

上執行,都可以獲得命令視窗。

2 此方法只適用server 2003 2008 xp不適用。

網絡卡禁用和啟用

2010 11 10 21 34 23 include include include setupapi.h include objbase.h include pragma comment lib,setupapi.lib void enumdevices hdevinfo hdevinfo lp...

Linux 啟用 禁用網絡卡

啟用禁用網絡卡可以使用以下 5 個方法來完成 ifconfig 命令 用於配置網絡卡。它可以提供網絡卡的很多資訊。ifconfig nic name down up ifdown up 命令 ifdown 命令用於禁用網絡卡,ifup 命令用於啟用網絡卡。ifdown nic name ifup n...

程式禁用啟用網路 網絡卡

關於c 程式實現禁用啟用網路 網絡卡,我四月份好像貼出過乙個函式,結果後來搞得網上到處都是。好些人還在給我mail問我一些相關的問題,現在把已經修改好的函式再貼一次。char sznetname 512 memset sznetname,0x00,512 char sznettype 512 mem...