NB : MSInfo не устанавливает уровень ошибки.
Ваша командная строка MSINFO32 не заключает в кавычки сохраненное имя файла.Поэтому, если он содержит пробелы, он не будет работать.
По совершенно неизвестной причине вы звоните в CMD, даже если не хотите, чтобы он что-либо делал.
Вы используете неподдерживаемый способчтобы поднять, это работает, только если конфигурация ассоциации файлов exe не была изменена.Вы используете манифест для поднятия.См. Запуск пакетного скрипта от имени администратора во время сборки Maven
Также смотрите wmi, как должна делать программа.Вы можете поэкспериментировать с инструментом командной строки wmic.Программы для пользователей, а не другие программы.
Это ищет сети Wi-Fi
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From WiFi_AvailableNetwork")
'msgbox colitems
For Each objItem in colItems
msgbox objItem.name & " " & objItem.Description
Next
Этот список услуг,
Set objWMIService = GetObject("winmgmts:\\127.0.0.1\root\cimv2")
Set config = objWMIService.ExecQuery("Select * From Win32_Service")
For Each thing in Config
Msgbox thing.Caption
Next
Мониторы
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
msgbox objItem.Model & " " & objItem.Manufacturer & " " & objItem.SerialNumber
Next
Ожидается, когда произойдут энергетические события, и либо убивает, либо запускает калькулятор.
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("SELECT * FROM Win32_PowerManagementEvent")
Do
Set strLatestEvent = colMonitoredEvents.NextEvent
If strLatestEvent.EventType = 4 Then
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
For Each objItem in colItems
If objItem.name = "Calculator.exe" then objItem.terminate
Next
ElseIf strLatestEvent.EventType = 7 Then
wscript.sleep 2000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "calc.exe", 1, false
End If
Loop