Имя: Пароль:
1C
1С v8
Ошибка при использовании WMI. Требуется завершать ОЛЕ-экземпляры 1Сv8.exe
0 Ахмадинежад
 
25.12.12
12:57
<code>
Шел        =    Новый COMОбъект("Shell.Explorer");
   ФСО            =    Новый COMОбъект("Scripting.FileSystemObject");
   Программа    =    ФСО.GetFile(Шел.fullname()).Name;
   Сеть        =    Новый COMОбъект("WScript.Network");
   Пользователь=    ВРег(Сеть.UserName);
   Компьютер=".";
   
   Локатор        =    Новый COMОбъект("wbemscripting.swbemlocator");
   Сервис        =    Локатор.ConnectServer(Компьютер,"root\cimv2","","","","",128);
   СкриптВБС    =    Новый COMОбъект("MSScriptControl.ScriptControl");
   СкриптВБС.language="vbscript";
   Скрипт        =    Новый COMОбъект("MSScriptControl.ScriptControl");
   Скрипт.language="javascript";
   Скрипт.AddObject("Процессы",Сервис.ExecQuery("select * from win32_process where name='"+Программа+"' and commandline like '%-Embedding%'"));
   //Процессы    =    Скрипт.Eval("new Enumerator(Процессы)");
   oP=Сервис.ExecQuery("select * from win32_process where name='"+Программа+"' and commandline like '%-Embedding%'");
   Для каждого p из oP цикл
       Процесс    =    p;
       СкриптВБС.AddObject("p_"+Процесс.ProcessId,Процесс);
       СкриптВБС.Eval("p_"+УбратьПробелы(Строка(Процесс.ProcessId))+".getOwner(user,domain)");//***888***
       Если Пользователь    =    Врег(СкриптВБС.Eval("user")) Тогда
           Сообщить("Убиваем ОЛЕ "+Процесс.ProcessId);
           Процесс.Terminate();
       КонецЕсли;
   КонецЦикла;
</code>

Ошибку выдаёт на строке //***888***

Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: 'p_1144'

Строка, переданная в качестве параметра методу Eval имеет значение: "p_1144.getOwner(user,domain)"
Процесс с PID-ом 1144 в диспетчере задач виден.
________________________
Вопрос: что ему, собсно, надо ?
1 Ахмадинежад
 
25.12.12
13:04
ого как быстро падает
2 Лефмихалыч
 
25.12.12
13:13
(0) а что мешает завершать олю так же, как стартовали?
3 Ахмадинежад
 
25.12.12
13:20
(2)БазаОле.ЗавершитьРаботуСистемы(Ложь) имеете ввиду ?
Не помогает.
БазаОле = Неопределено также не помогает.
С комконнектором легче, но мне нужна именно Оле
4 Лефмихалыч
 
25.12.12
13:48
(3) во-первых, откуда уверенность, что не помогает? во-вторых, почему нужна именно оле?
5 Ахмадинежад
 
25.12.12
14:10
(4) увереннсть из практики применения, нужна именно ОЛЕ.
6 Ахмадинежад
 
25.12.12
16:50
догорЫ
7 Ахмадинежад
 
25.12.12
23:26
я грыбу
8 zladenuw
 
26.12.12
00:11
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс