谁能帮我做个自动禁用启用网络连接的VBS文件?
发布网友
发布时间:2023-12-03 17:47
我来回答
共3个回答
热心网友
时间:2024-12-04 09:41
Const ssfCONTROLS = 3
sConnectionName = "本地连接"
sEnableVerb = "启用(&A)"
sDisableVerb = "禁用(&B)"
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 ration 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
文本文档保存为 vbs 双击VBS 为禁用
双击VBS 为启用
热心网友
时间:2024-12-04 09:41
vbs代码如下:
om error resume next
do
Dim mc,mo
set ws=CreateObject("WScript.Shell")
Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each mo In mc
If mo.IPEnabled=True Then
Gateway="ping "&mo.DefaultIPGateway(0) &" -n 1"
Exit For
End If
Next
Return=ws.run( "cmd /c"&Gateway,0,true)
if return=1 then
netlink(800)
end if
wscript.sleep 4000
loop
sub netlink(a)
for i=0 to 1
set shellApp=createobject("shell.application")
set oControlPanel=shellApp.Namespace(3)
for each folderitem in oControlPanel.items
if folderitem.name="网络连接" then
set oNetConnections=folderitem.getfolder
exit for
end if
next
set oLanConnection=nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name)="本地连接" then
set oLanConnection=folderitem
exit for
end if
next
for each verb in oLanConnection.verbs
select case verb.name
case"启用(&A)"
verb.DoIt
case"禁用(&B)"
verb.DoIt
end select
next
wscript.sleep a
next
end sub
热心网友
时间:2024-12-04 09:42
我的宽带也有这个问题,所以也想知道有没有这种办法.
其实不用禁用/启用本地连接的,点修复也一样,速度还比那个快,
所以如果可能的话还是找修复的VBS吧.