首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IIS在服务器上运行VBS脚本(ASP)

从IIS在服务器上运行VBS脚本(ASP)
EN

Stack Overflow用户
提问于 2013-07-17 18:55:59
回答 1查看 21.5K关注 0票数 4

我正在尝试从服务器(IIS-6)上的ASP文件中运行VBS文件。我已经更改了安全性,因此用户必须登录到服务器才能访问ASP页面(这样ASP就可以访问存储VBS文件的地方)。

因此,我有一个如下所示的default.asp页面:

代码语言:javascript
复制
<%response.write "hello" 'just for debugging purposes.
set objshell = server.createobject("wscript.shell")
objShell.Run "c:\test\test.vbs",0,true '0=no interaction, true=wait for command to finish%>

VBS文件只是一个空文件(一些备注),所以应该发生的情况是,wscript应该运行,什么也不做,关闭wscript.exe并返回它已经完成。

在上面的示例中发生的情况是,在服务器上启动wscript.exe,网页等待命令完成。但是wscript.exe从来不会自己退出/停止。如果我结束wscript.exe进程,页面将继续加载。但VBS将不会被执行。

所以我尝试了一些修改,我在VBS文件中添加了代码,以便在执行时写入一个文件,所以我知道它不会运行VBS文件。

我还尝试了objshell.run/exec命令的其他变体:

代码语言:javascript
复制
objsshell.exec("cscript.exe /B /H:Cscript c:\test\test.vbs") ' nothing happens at all.
objsshell.exec("wscript.exe /B /H:Cscript c:\test\test.vbs") ' wscript and "hangs"

关于如何运行VBS命令和退出Wscript.exe进程,有人有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-17 22:56:18

在花了几个小时摆弄之后,我想回答我自己的问题,因为我认为我的发现会比我更有趣。

  1. 要了解正在进行的操作,请转到服务,选中万维网服务的“与桌面交互”复选框。这样,所有的错误和消息框都会显示在控制台上。

通过编写下面的小asp-page,我们得到了一个控制台/cmd-window来进行某些测试:

代码语言:javascript
复制
<%
set objshell=server.createobject("WScript.Shell")
objshell.run "cmd.exe"
%>

当你使用“与桌面交互”的时候,你会看到一个命令行窗口,如果你在这个窗口中写下

代码语言:javascript
复制
echo %userprofile%

您将获得运行cmd-window的用户。在我们的例子中,它是"Default User“。

  1. 在测试运行vbs脚本时,我们发现"Default user“没有注册wscript.dll,我们也无法让它注册。然而,
  2. Cscript不需要注册,而且与桌面的交互也较少,因此可以停止脚本的事情也较少。我们还发现您需要VBS文件中请求的所有文件的完整路径(这可能是一个大问题,因为我们使用相对路径)。

因此,经过大量的修改,最终的ASP代码可以工作,等待VBS脚本完成它的工作,然后继续加载页面:

代码语言:javascript
复制
<%
set objshell=server.createobject("WScript.Shell")
objshell.run "cmd.exe /c ""cscript c:\test\test.vbs " + request("any_parameters") + " Another_hardcoded_parameter""",1,true
set objshell=nothing
response.redirect("/a_new_page_with_info_from_vbs_file.asp")
%>

使用windows集成身份验证或将有权访问这些文件的用户设置为网站的匿名用户。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17697924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档