无法获取请求。查询字符串以在VBScript中传递变量

无法获取请求。查询字符串以在VBScript中传递变量,vbscript,asp-classic,Vbscript,Asp Classic,我试图将url中的一个值传递给vbscript,而vbscript将使用它在客户端启动一个可执行文件,这就是为什么我使用带有该值的vbscript作为该可执行文件的参数。e、 g: 启动此exe的语法为 \\HQFileServer\Share Launch.exe 1 computername \\ServerName 因此,我将计算机名作为名称传递: http://localhost/launchclient.asp?Name=Laptop1 launchclient.asp包含: &l

我试图将url中的一个值传递给vbscript,而vbscript将使用它在客户端启动一个可执行文件,这就是为什么我使用带有该值的vbscript作为该可执行文件的参数。e、 g:

启动此exe的语法为

\\HQFileServer\Share Launch.exe 1 computername \\ServerName
因此,我将计算机名作为名称传递:

http://localhost/launchclient.asp?Name=Laptop1
launchclient.asp包含:

<script language="vbScript">
set oWshShell = CreateObject("WScript.Shell")
Name = Request.QueryString("Name")
oWshShell.run "\\HQFileServer\Share\Launch.exe " & Name & " \\SCCM2012WAN",1,True
</script>
当我意识到,由于某种原因,querystring没有传递到脚本中时,我试图通过一次删除一行来调试它。。 当我省略Request.QueryStringName并只键入一个值时,它会工作

你知道为什么吗

我试图寻找答案,但无法找到答案…

更新 好吧,我想我明白你看完后现在想做什么了

要将服务器端值传递给客户端代码块,只需在客户端代码块中使用ASP代码块,如下所示

<script language="vbScript">
set oWshShell = CreateObject("WScript.Shell")
oWshShell.run "\\HQFileServer\Share\Launch.exe ""<%= Request.QueryString("Name") %>"" \\SCCM2012WAN",1,True
</script>
使用ASP代码块

<%
set oWshShell = CreateObject("WScript.Shell")
Name = Request.QueryString("Name")
oWshShell.run "\\HQFileServer\Share\Launch.exe " & Name & " \\SCCM2012WAN",1,True
%>
为了避免与客户端脚本标记混淆,我个人建议使用ASP代码块语法

有用的链接 到
试着想想,此时代码被解释为客户端脚本而不是服务器端,事实上,只需在最后用替换标记,这样服务器就知道ASP应该处理它。感谢您的响应:。我已经测试了代码块,但最终Launch.exe在服务器上运行,而不是在客户端运行。@FunkyFish现在我迷路了,你想实现什么?我在回答中确实说过,代码将由服务器处理,如果您不想删除runat=server,请删除等。在我看来,您是在尝试将两者混合使用。@funkyish Right,我想我明白您的意图。如果希望launch.exe在客户端运行,但传递服务器端代码,只需使用类似于以下内容的ASP代码块:oWshShell.run\\HQFileServer\Share\launch.exe\\SCCM2012WAN,1,True同时-我设法使用以下命令传递值:“oWshShell.run\\HQFileServer\Share\Launch.exe&&\\SCCM2012WAN”-但是:当我的值是字符串时,它仅作为int传递。我曾尝试将我的值声明为字符串,但无法使其工作。可能是sytax错误?Lankymart-SHARP!!成功了:非常感谢你!!
<%
set oWshShell = CreateObject("WScript.Shell")
Name = Request.QueryString("Name")
oWshShell.run "\\HQFileServer\Share\Launch.exe " & Name & " \\SCCM2012WAN",1,True
%>