Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 将VBScript从WinXP移植到Win7时出现问题_Windows 7_Vbscript - Fatal编程技术网

Windows 7 将VBScript从WinXP移植到Win7时出现问题

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_

附加的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_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。谢谢你的回复。我以所有管理员权限从管理员帐户启动它。结果是相同的-空消息框。如果在下一次错误恢复时删除
,会发生什么情况?如果脚本失败,会出现什么错误?在哪一行?