现在的位置: 首页 > 综合 > 正文

WScript.Shell导致JS代码不能执行

2013年01月05日 ⁄ 综合 ⁄ 共 1324字 ⁄ 字号 评论关闭

今天把项目从实验室机器上拷到笔记本上,发现有一些JS代码不能执行了,仔细观察发现只要JS函数里包含了WScript.Shell的都不能执行(项目中用WScript.Shell来取本机名),后来上网查了发现需要在IE中进行如下设置:工具->Internet选项->安全->自定义级别->对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本  改为提示或启用。但是改了之后还是不行,无奈之下只能重装了IE8(原来为IE7),再进行如下设置,问题果然解决了。

重装IE方法如下:

http://zhidao.baidu.com/question/1864495.html

 

〔开始〕→〔运行〕→键入〔regedit〕选〔HKEY_LOCAL_MACHINE〕→〔SOFTWARE〕 →〔Microsoft〕→〔Active Setup〕→〔Installed Components〕→〔{89820200-ECBD-11cf-8B85-00AA005B4383} 〕 
将〔IsInstalled〕的 DWORD 资料数值改为〔0〕这样更改使系统认识 Internet Explorer 尚未安装 
退出〔Regedit〕及下载及安装 Internet Explorer 
如果仍不行,可参照以下两篇文章。
http://hi.baidu.com/getpost/blog/item/b901ec082c11123ae9248806.html
http://kb.cnblogs.com/a/1491385/
文章一:

相同的问题“无法找到名为“WScript.Shell”的 automation 类。”

打开和关闭Wscript.Shell和shell.application组件

Wscript.Shell和shell.application的主要作用是可以通过WEB程序调用exe程序,这个权限非常大,一般的网站是用不到这个服务的,但是如果被黑客利用,却能获得更大的权限,对服务器十分危险!(weste)

下面是运行和卸载这两个组件的方法:

1、运行(打开)Wscript.Shell
regsvr32 %windir%/system32/wshom.ocx

2、卸载(关闭)Wscript.Shell
regsvr32 /u %windir%/system32/wshom.ocx

3、运行(打开)Wscript.Shell
regsvr32 %windir%/system32/shell32.dll

4、卸载(关闭)Wscript.Shell
regsvr32 /u %windir%/system32/shell32.dll

平时关闭他们就可以了,不过对于调用Wscript.Shell和shell.application的权限还是满高的,asp调用需要配置权限才可以访问。

测试是否支持Wscript.Shell

' This code fragment shows how to access the desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
MsgBox "Your desktop is " & WshShell.SpecialFolders("Desktop")

抱歉!评论已关闭.