Использование переменной из 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.

Другие вопросы по тегам