Войти

Показать полную графическую версию : Удаленное завершение процесса на сервере пользователем AD


brainhook
28-12-2015, 14:05
Доброго времени суток.

Есть задача завершать зависший процесс на терминальном сервере пользователем домена. То есть у обычного пользователя (по правам) зависает например WORD.EXE на удаленном сервере. Одно время частенько зависал. Пока процесс не грохнешь работать нормально не получается. Одно время я это делал сам имея права администратора домена. Потом надоело и я решил дать каждому пользователю по pskill и bat-ник к нему, чтобы они сами свои зависшие процессы грохали. Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей, а если запускать от имени простого пользователя домена, то ему не хватает каких-то прав. Вот, собственно, и вопрос: какие ему нужны права, чтобы убивать свои же процессы на удаленном сервере, но не трогать соседей (как я понимаю, по задумке разделения прав он и не должен трогать чужие условно говоря word.exe).
Как вы уже поняли, я пытался решать проблему pskill, но если у кого-то есть предложение другим способом это делать, то мне не принципиально, главное, чтобы работало.

DarckSol
28-12-2015, 14:28
1) TASKKILL /F /IM notepad.exe /IM mspaint.exe /IM lsass.exe /IM etc...
2) TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
3) TASKKILL /S SERVER /U Mydomain\User /P UserPass /FI "IMAGENAME eq word*"
+++++++++++++++++++bat+++++++++++++
@echo off
set passwd="Ваш пароль: "
TASKKILL /S SERVER /U Mydomain\%username% /P %passwd% /FI "IMAGENAME eq word*"
pause
exit
+++++++++++++++++++++++++++++++
V_2
@echo off
TASKKILL /S 192.168.0.243 /U MyDomain\user /FI "USERNAME eq word*"
exit /b
-------------------------------------------------------
TASKKILL /S 192.168.0.243 /U MyDomain\user /FI "USERNAME ne NT*" /IM * - завершить все процессы, выполняющиеся в контекстах учетных записей, не начинающихся со строки NT на компьютере с IP-адресом 192.168.0.243. При подключении к удаленной системе используется имя пользователя user в домене Mydomain. Пароль не задан и будет запрошен при выполнении команды.
+++++++++++++++++++++++++++++++
TASKKILL /S SERVER /U Mydomain\User /P UserPass /FI "IMAGENAME eq note*" - завершить все процессы, имя исполняемого файла которых начинается со строки note на удаленном компьютере с именем SERVER.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
ПС: IMAGENAME eq, ne
ne - НЕ РАВНО ЗНАЧЕНИЮ (IMAGENAME ne WORD*) убьет процессы НЕ начинающиеся с этой фрасы
eq - РАВНОЕ ЗНАЧЕНИЮ (IMAGENAME eq WORD*) убьет соответствующий процесс
+++++++++++++++++++++++++++++++
Думаю так можно попробовать

Fantastish
28-12-2015, 14:33
1) TASKKILL /F /IM notepad.exe /T - Лучше так (сделать батник и положить им на рабочий стол, так решилась у меня проблема)
а что так сильно виснет терминал, может стоит добавить памяти + проц, рассмотреть возможность использовать ssd =)?

DarckSol
28-12-2015, 14:51
а что так сильно виснет терминал, может стоит добавить памяти + проц, рассмотреть возможность использовать ssd »

У меня есть машина, но она плохо едет, может масло поменять или новый движок посмотреть?


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

Fantastish
28-12-2015, 15:00
NAS/SAS 10Raid и норм =)
+ выделить еще 1 виртуальный проц

Iska
28-12-2015, 16:11
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей, »
Что мешает указывать при этом контекст конкретного пользователя? Оп-ля — во втором же сообщении :).

DarckSol
28-12-2015, 16:30
Так вопрос задали, а ответ видимо не читают.

brainhook
28-12-2015, 16:55
DarckSol, спасибо за скрипт, но проблема не столько в самом скрипте (с синтаксисом pskill я разобрался более-менее), а в том, что обычному пользователю отказано в доступе при его выполнении. И я не совсем понимаю какими политиками это регламентируется, т.е. как ему дать возможность удаленного выполнения pskill. Если я правильно понял, то контекст решает только проблему
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей,
а мне не так важна правильная работа под админом, как работа из-под пользователя домена.

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

Все остальные рекомендации и сообщения не по теме, там проблема слишком сложная чтобы ее даже просто на пальцах объяснить. Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ.

Fantastish
28-12-2015, 17:33
хз TASKKILL работает из под пользователя и убивает тока у пользователя процесс

Iska
29-12-2015, 03:39
Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ. »
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».

brainhook
29-12-2015, 12:20
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».

Вот что за люди? У меня есть конкретная проблема, я её сформулировал на мой взгляд достаточно четко, но всё равно нашелся кто-то, кто придрался к моей небольшой ремарке и предлагает решать не ту проблему, с которой я пришел на форум, а ту которую он считает нужным решать. По поводу зависаний я зашел в тупик уже давно. Проблемы скорее всего из-за того, что word или excel вызывается из проприоретарной CRM и начинает сразу после вызова жрать 100% CPU на одном ядре. Никак воспроизвести проблему под моим надзором не удается, я узнаю о ней постфактум. Всё что нагуглил по поводу подобных проблем с офисом не помогает. Обновил и пропатчил его уже со всех сторон. Проблема возникает вообще без каких-либо закономерностей. Сервер может простаивать в данный момент. Может CRM как-то некорректно формирует документ в каких-то условиях. Но поскольку она проприоретарная, то для меня это просто "черный ящик", техподдержка помогает только за очень большие деньги. Проще написать скрипт, который убивает зависший word. Всё закрыли эту тему.

По поводу taskkill. С ней та же проблема, что и с pskill: из-под админа работает, но из-под пользователя - нет. Конкретно taskkil пишет "Ошибка. Вход в систему не произведен". Логин и пароль пользователя, на котором тестировал естественно правильно написан. Поэтому вопрос: какие права или политки надо использовать для работы консольной утилиты по сети?

Iska
29-12-2015, 12:22
Вот что за люди? У меня есть конкретная проблема, я её сформулировал на мой взгляд достаточно четко, но всё равно нашелся кто-то, кто придрался к моей небольшой ремарке и предлагает решать не ту проблему, с которой я пришел на форум, а ту которую он считает нужным решать. »
brainhook, да бога ради, решайте.

Fantastish
29-12-2015, 13:36
Конкретно taskkil пишет "Ошибка. Вход в систему не произведен". »
тогда не по exe убивать процесс, а по PID, попробуйте
з.ы. погодите вы удаленно это делаете или прям в рдп сессии у пользователя для теста?

brainhook
29-12-2015, 13:55
тогда не по exe убивать процесс, а по PID, попробуйте
з.ы. погодите вы удаленно это делаете или прям в рдп сессии у пользователя для теста?

надо по .exe, PID же меняется каждый раз, а мне нужен один скрипт на все случаи.

делать хочу удаленно, т.е. пользователь на своем компьютере запускает скрипт, который убивает процесс на удаленном сервере. И да, к этому серверу есть доступ по RDP для этого пользователя. Проверял работу скрипта, когда пользователь залогинен по RDP и его экземпляр CRM запущен на сервере.

Fantastish
29-12-2015, 14:12
ну размести ярлык на рабочем столе у пользователя, а лучше cmd и запусти прям в сеансе у пользователя, где убивается приложение
просто как то жирно получается, чтобы пользователь на локальной машине запускал скрипт и он убивал процесс свой же
Я возможно вижу решение на основе PS тока и то не факт




© OSzone.net 2001-2012