【发布时间】:2023-01-29 21:35:28
【问题描述】:
我想知道从 ASP Classic / VBScript 页面中运行节点脚本的正确方法是什么。
我试过打开一个记事本文件没有用:
<%
CreateObject("Wscript.Shell").Run "C:\Windows\System32\notepad.exe"
%>
我真正想做的是:
<%
Response.Expires=-1
session.LCID=1046
Dim user, numNF, programArgs, programPath
numNF = Request.Form("numNF")
user = Request.Form("user")
programPath = "C:\aloha\nodeProgram.js"
programArgs = numNF & " " & user
Dim oShell
Set oShell = Wscript.CreateObject("WScript.Shell")
oShell.Run("""C:\Program Files\nodejs\node.exe"" ""C:\aloha\nodeProgram.js"" ""numNF"" ""user""", 0, True)
Set oShell = Nothing
%>
什么都不管用!
【问题讨论】:
-
请记住:此脚本在 Web 服务器上运行,而不是在最终用户的计算机上运行,并且在用户运行网络服务的上下文中.如果您检查服务器上的任务管理器,记事本应用程序可能实际上正在运行在您看不到的虚拟专用桌面上,因为它属于网络服务(或类似)帐户。
-
@JoelCoehoorn 感谢您的支持,我正在使用 IIS 作为 Web 服务器。根据您的说法,我既无法访问 Web 服务器上的节点位置,也无法在 IIS 管理器上显示我的 .js 文件。我应该如何继续才能从 Web 服务器运行节点脚本?
标签: vbscript asp-classic backend