0

我一天中的大部分时间都在研究这个问题,但找不到答案。我对stackoverflow比较陌生。问一些问题(我最近几天问了三个)有一定的礼仪吗?

无论如何,

这是代码隐藏文件中的代码。它执行一个脚本 systeminfo.vbs,并且工作正常。但是在脚本中我分配了一些变量。

Dim WshShell = CreateObject("WScript.Shell")
        WshShell.Run("wscript.exe c:\systeminfo.vbs")

脚本

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colSettings 
dim osName 
osName = objOperatingSystem.Name
Wscript.Echo "OS Name: " & objOperatingSystem.Name
dim osVer
osVer = objOperatingSystem.Version
Wscript.Echo "Version: " & objOperatingSystem.Version
Wscript.Echo "Service Pack: " & _
    objOperatingSystem.ServicePackMajorVersion _
        & "." & objOperatingSystem.ServicePackMinorVersion
Wscript.Echo "OS Name: " & objOperatingSystem.SizeStoredInPagingFiles
Next

我想使用 osName 和 osVer 并将值放入 ASP 端的标签中。我知道 osName 和 osVer 是简单的例子,但我只需要弄清楚将变量从 VBScript 放入 ASP 的概念。我的客户每天使用多个 VBScript,我需要自动化这些脚本并生成报告,说明它是否失败。

感谢您的帮助。

4

1 回答 1

1

大卫,

作为一个 Stack Overflow 的新手,我很高兴能找到Stack Exchange 网站的这个非常全面的常见问题解答。请参阅第 3 个问题“我可以提出的问题数量是否有限制?” 来回答您的第一次询问。

关于您问题的核心,我同意@Ramhound 的观点,即使用日志文件在 WSH/VBScript 脚本和 ASP.NET 页面之间交换信息是一种可行的方法。

你需要的是Scripting.FileSystemObject. 这是一个全面的WSH 参考,作为可下载的 Windows 帮助文件。

提示:根据下载页面底部的建议,要取消阻止帮助页面,1) 右键单击script56.chm​​ ,2) 选择属性,然后 3) 单击“取消阻止”。

您将FileSystemObject在“脚本运行时”标题下找到介绍。

另一个建议:由于您将在多用户环境中通过 ASP.NET 运行此脚本,您可能会发现您需要为每个用户或每个页面访问创建一个日志文件。如果是这种情况,您需要为每个日志文件生成一个临时文件名,以避免与其他日志文件发生名称冲突。要生成临时文件,请参阅GetTempNameWSH 参考。

于 2012-07-07T00:55:07.710 回答