Windows 7 将VBScript从WinXP移植到Win7时出现问题
附加的VBScript显示所有可用的WiFi网络。Windows 7 将VBScript从WinXP移植到Win7时出现问题,windows-7,vbscript,Windows 7,Vbscript,附加的VBScript显示所有可用的WiFi网络。 它在WinXP上运行良好,但在Win7上不起作用。 在WinXP上显示所有可用WiFi网络的列表,但在WIn7上显示空列表。 有什么问题 on error resume next set objSWbemServices = GetObject("winmgmts:\\.\root\wmi") set colInstances = objSwbemServices.ExecQuery("SELECT * FROM MSNDis_80211_
它在WinXP上运行良好,但在Win7上不起作用。 在WinXP上显示所有可用WiFi网络的列表,但在WIn7上显示空列表。 有什么问题
on error resume next
set objSWbemServices = GetObject("winmgmts:\\.\root\wmi")
set colInstances = objSwbemServices.ExecQuery("SELECT * FROM MSNDis_80211_BSSIList")
for each obj in colInstances
if left(obj.InstanceName, 4) <> "WAN " and right(obj.InstanceName, 8) <> "Miniport" then
for each rawssid in obj.Ndis80211BSSIList
ssid = ""
for i=0 to ubound(rawssid.Ndis80211SSid)
decval = rawssid.Ndis80211Ssid(i)
if (decval > 31 AND decval < 127) then
ssid = ssid & Chr(decval)
end if
next
wscript.echo ssid
next
end if
next
出错时继续下一步
设置objSWbemServices=GetObject(“winmgmts:\\。\root\wmi”)
set colInstances=objSwbemServices.ExecQuery(“从MSNDis\u 80211\u BSSIList中选择*)
对于共状态中的每个obj
如果左(obj.InstanceName,4)“WAN”和右(obj.InstanceName,8)“微型端口”,则
对于obj.NDIS8021BSID列表中的每个RAWSID
ssid=“”
对于i=0到ubound(rawsId.ndis8021ssid)
decval=rawssid.ndis8021ssid(i)
如果(decval>31且decval<127),则
ssid=ssid&Chr(十二月)
如果结束
下一个
wscript.echo ssid
下一个
如果结束
下一个
我是VBScript的新手,所以请温柔些。[我会发表评论,但没有足够的代表:p] VisualStudio将允许您调试VBScript,以便您可以确定导致问题的具体行 导航到包含脚本的目录,然后运行“wscript.vbs//D//X”,然后选择Visual Studio作为调试器。然后,您可以浏览每一行,了解发生了什么() 当我执行此脚本时(使用普通权限和提升权限),我从查询“SELECT*from MSNDis_80211_BSSIList”接收到一个空数组。这可能是问题的根源所在;可能是源(MSNDis_80211; u BSSIList)在Windows 7中被弃用和重命名
谷歌还披露了最新的一组驱动程序(如Intel Wifi驱动程序)之间可能存在的关联,这些驱动程序可能包含WMI添加。运行脚本时会发生什么?我想知道WMI查询是否需要管理员权限,当作为标准用户运行时是否会失败。(特别是,ExecQuery调用似乎需要管理员权限,因为它可以做任何事情。)嗨,Eric。谢谢你的回复。我以所有管理员权限从管理员帐户启动它。结果是相同的-空消息框。如果在下一次错误恢复时删除
,会发生什么情况?如果脚本失败,会出现什么错误?在哪一行?