Использование переменной из VBScript на веб-сайте ASP.Net
Я исследовал это большую часть дня и не могу найти ответ. Я относительно новичок в stackru. Существует ли определенный этикет для того, чтобы задавать ряд вопросов (за последние несколько дней я задал три)?
В любом случае,
Вот код в файле codebehind. Он выполняет скрипт systeminfo.vbs, и это работает нормально. Но в сценарии у меня есть некоторые переменные.
Dim WshShell = CreateObject("WScript.Shell")
WshShell.Run("wscript.exe c:\systeminfo.vbs")
VBScript
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. У моего клиента есть несколько VBScripts, которые они используют ежедневно, и мне нужно автоматизировать эти сценарии и создать отчет о том, провалился он или нет.
Спасибо вам за помощь.
1 ответ
Дэвид,
Будучи новичком в Stack Overflow, я был рад найти этот исчерпывающий FAQ для сайтов Stack Exchange. Смотрите 3-й вопрос "Есть ли ограничение на количество вопросов, которые я могу задать?" для ответа на ваш первый запрос.
Что касается сути вашего вопроса, я согласен с @Ramhound, что использование файла журнала для обмена информацией между вашим сценарием WSH/VBScript и вашей страницей ASP.NET является осуществимым подходом.
Что вам нужно, так это Scripting.FileSystemObject
, Вот исчерпывающая справка по WSH в виде загружаемого файла справки Windows.
Подсказка: как показано на странице загрузки внизу, чтобы разблокировать страницу справки, 1) Щелкните правой кнопкой мыши на script56.chm
, 2) Выберите Свойства и 3) Нажмите "Разблокировать".
Вы найдете вступление к FileSystemObject
под заголовком "Время выполнения сценария".
Еще одно предложение: поскольку вы будете запускать этот сценарий через ASP.NET в многопользовательской среде, вам может потребоваться создать файл журнала для каждого пользователя или для доступа к странице. Если это так, вам нужно сгенерировать временное имя файла для каждого файла журнала, чтобы избежать конфликтов имен с другими файлами журнала. Чтобы создать ваш временный файл, см. GetTempName
в ссылке WSH.