Я пытаюсь запустить следующий фрагмент кода как часть инструмента для сбора и регистрации некоторых соответствующих системных диагностик. Цель этого фрагмента кода-собрать результат выполнения команды:
vssadmin list writers
фрагмент кода выглядит следующим образом:
' Set WshShell = CreateObject("WScript.Shell")
' WScript.Echo sCurPath & "vsswritercheck.bat"
' Set WshShellExec = WshShell.Exec("elevate.cmd cmd.exe /c " & sCurPath & "vsswritercheck.bat")
Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "cmd.exe", sCurPath & "vsswritercheck.bat", , "runas", 1
vsswriter = VSSWriterCheck
Select Case oShell.Status
Case WshFinished
strOutput = oShell.StdOut.ReadAll
Case WshFailed
strOutput = oShell.StdErr.ReadAll
End Select
WScript.Echo strOutPut
vsswriter = strOutPut
С первым фрагментом кода (закомментированным) я могу запустить команду и захватить stdout из пакетного файла. Во втором коде я не могу захватить stdout.
мне нужно иметь возможность запускать партии сценарий с повышенными разрешениями, поэтому я ищу компромисс между функциональностью двух.
Я не могу запустить весь вызывающий скрипт в повышенном режиме из-за ограничений других функций.
Я ищу любые идеи о том, как добавить этот вывод в свой журнал, поскольку у меня заканчиваются параметры, которые находятся в области базовых сценариев.