• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Cannot Create Automation Object

M

motogarri

Всем привет. Знаю, что ком-объекты зло, но сейчас нет выбора.
Проблема такая:
Нужно запускать агент RunOnServer, который используя "WScript.Shell" дёргает экзешник и получает от него ответ. Агент один раз отрабатывает успешно, а при повторном запуске, Cannot Create Automation Object на строке:
Set WshShell = CreateObject("WScript.Shell")
Минут через 20-30 снова может один раз отработать.

При этом, агент по расписанию работает отлично, на винде сервера скрипт VBS тоже пашет.
RunOnServer запускаю с полными правами.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
Нужно запускать агент RunOnServer, который используя "WScript.Shell"
месье знает толк в извращениях...
может задачу обрисовать - что надо чтобы делалось (что делает это супер-пупер скрипт)
 
M

motogarri

не могу) Запускается экзешник через командную строку с параметрами. Потом результат забирается из того же cmd
Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec(comand)
Set TextStream = WshExec.StdOut

другого интерфейса общения с экзешником нет. Но и не в этом вопрос. Что мешает создавать ком объекты агентом RunOnServer? Это каcается любых объектов. К примеру этот код ведет себя точно так же:
Set objSysInfo = CreateObject("WinNTSystemInfo") 'Cannot Create Automation Object
Print "objSysInfo.UserName = " + objSysInfo.UserName
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
216
Что мешает создавать ком объекты агентом RunOnServer?
выгрузка агента происходит не моментально
можно конечно попробовать агент из агента запускать (некая пускалка), но я бы, лично, вовсе ушел от такой формы общения с exe
тем паче в агентах
запускаем cmd /c (здесь уже рассказывал - как, чтобы длинные пути проходили), мониторим вывод (кот. перенаправляем в файл)
 
M

motogarri

Изначально так и делали. Надеялись, через WScript Проще будет ...
 
M

motogarri

не хочется промежуточные файлы городить
 
M

motogarri

В итоге сделали джавой. Наверное так и правильно. Ни ком-объектов, ни промежуточных файлов. Запускается через cmd экзешник, получается результат.
JavaScript:
        String[] command ={"cmd.exe", "/C", "C:\\Myapp.exe arguments"};
        ProcessBuilder builder = new ProcessBuilder(command);
        builder.redirectErrorStream(true);
        Process p = builder.start();
        BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));

        StringBuffer response = new StringBuffer();
        String inputLine;
        while ((inputLine = r.readLine()) != null) {
            response.append(inputLine);
        }
        String result = response.toString();
 
  • Нравится
Реакции: garrick и lmike
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!