|
wmi, попытка остановить службу
| ☑ |
0
vitek89
19.02.13
✎
20:11
|
Пытаюсь работать с wmi из 1с 8.2, конкретно, остановить службу. Код:
WinMGMT = ПолучитьCOMОбъект("winmgmts:\\" + Computer + "\root\cimv2");
Win32_Service = WinMGMT.ExecQuery("SELECT * FROM Win32_Service");
Для Каждого Service ИЗ Win32_Service Цикл
Если Service.ProcessID = pid Тогда
Service.StopService();
Прервать;
КонецЕсли;
КонецЦикла;
Параметры computer и pid передаются. Если код расположен в модуле объекта обработки с управляемой формой, на сервере, то остановки службы не происходит, хотя все проходит, все значения передаются и корректно происходит возврат из процедуры.
В модуле обычной формы, когда все на клиенте, все срабатывает. Код тот же самый. Комп - локальный, на нем крутится sql сервер 2008 r2, база серверная, на нем же лежит. Подскажите, в чем может быть дело.
|
|
1
vitek89
19.02.13
✎
20:30
|
Зачем это все надо?) Есть сервак, на котором работает наша 1ска, на котором мне хотелось бы рестартовать некоторые службы, пароль мне он него никто не дает, а у пользователя usr1cv82 есть хорошие права. Его пароль я тоже не знаю. Может, я сильно перемудрил, подскажите, как еще можно сделать
|
|
2
hhhh
19.02.13
✎
21:42
|
(1) обычно у usr1cv82 мало прав. А у вас хорошие. Откуда?
|
|
3
Лефмихалыч
19.02.13
✎
22:39
|
(0) ну, во-первых,
Win32_Service = WinMGMT.ExecQuery("SELECT * FROM Win32_Service WHERE ProcessID = "+Формат(pid, "ЧГ0"));
во-вторых, откуда ты взял, что у usr1cv8 есть права хоть какие-то?
|
|
4
Лефмихалыч
19.02.13
✎
22:41
|
и службы по имени ищут, а не по ПИДу, который от раза к разу меняется
И, кстати, рестартить манагер лицензий хаспа я бы зело не рекомендовал, если я правильно телпирую
|
|
5
vitek89
20.02.13
✎
09:09
|
ААААА черт, реально обычный пользователь, я что-то решил, что он должен быть админом...
|
|