Любой язык - Удаленное завершение процесса на сервере пользователем AD
-
brainhook
Любой язык - Удаленное завершение процесса на сервере пользователем AD
Доброго времени суток.
Есть задача завершать зависший процесс на терминальном сервере пользователем домена. То есть у обычного пользователя (по правам) зависает например WORD.EXE на удаленном сервере. Одно время частенько зависал. Пока процесс не грохнешь работать нормально не получается. Одно время я это делал сам имея права администратора домена. Потом надоело и я решил дать каждому пользователю по pskill и bat-ник к нему, чтобы они сами свои зависшие процессы грохали. Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей, а если запускать от имени простого пользователя домена, то ему не хватает каких-то прав. Вот, собственно, и вопрос: какие ему нужны права, чтобы убивать свои же процессы на удаленном сервере, но не трогать соседей (как я понимаю, по задумке разделения прав он и не должен трогать чужие условно говоря word.exe).
Как вы уже поняли, я пытался решать проблему pskill, но если у кого-то есть предложение другим способом это делать, то мне не принципиально, главное, чтобы работало.
Есть задача завершать зависший процесс на терминальном сервере пользователем домена. То есть у обычного пользователя (по правам) зависает например WORD.EXE на удаленном сервере. Одно время частенько зависал. Пока процесс не грохнешь работать нормально не получается. Одно время я это делал сам имея права администратора домена. Потом надоело и я решил дать каждому пользователю по pskill и bat-ник к нему, чтобы они сами свои зависшие процессы грохали. Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей, а если запускать от имени простого пользователя домена, то ему не хватает каких-то прав. Вот, собственно, и вопрос: какие ему нужны права, чтобы убивать свои же процессы на удаленном сервере, но не трогать соседей (как я понимаю, по задумке разделения прав он и не должен трогать чужие условно говоря word.exe).
Как вы уже поняли, я пытался решать проблему pskill, но если у кого-то есть предложение другим способом это делать, то мне не принципиально, главное, чтобы работало.
-
DarckSol
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
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*) убьет соответствующий процесс
+++++++++++++++++++++++++++++++
Думаю так можно попробовать
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*) убьет соответствующий процесс
+++++++++++++++++++++++++++++++
Думаю так можно попробовать
-
brainhook
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Цитата:
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».
Вот что за люди? У меня есть конкретная проблема, я её сформулировал на мой взгляд достаточно четко, но всё равно нашелся кто-то, кто придрался к моей небольшой ремарке и предлагает решать не ту проблему, с которой я пришел на форум, а ту которую он считает нужным решать. По поводу зависаний я зашел в тупик уже давно. Проблемы скорее всего из-за того, что word или excel вызывается из проприоретарной CRM и начинает сразу после вызова жрать 100% CPU на одном ядре. Никак воспроизвести проблему под моим надзором не удается, я узнаю о ней постфактум. Всё что нагуглил по поводу подобных проблем с офисом не помогает. Обновил и пропатчил его уже со всех сторон. Проблема возникает вообще без каких-либо закономерностей. Сервер может простаивать в данный момент. Может CRM как-то некорректно формирует документ в каких-то условиях. Но поскольку она проприоретарная, то для меня это просто "черный ящик", техподдержка помогает только за очень большие деньги. Проще написать скрипт, который убивает зависший word. Всё закрыли эту тему.
По поводу taskkill. С ней та же проблема, что и с pskill: из-под админа работает, но из-под пользователя - нет. Конкретно taskkil пишет "Ошибка. Вход в систему не произведен". Логин и пароль пользователя, на котором тестировал естественно правильно написан. Поэтому вопрос: какие права или политки надо использовать для работы консольной утилиты по сети?
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».
Вот что за люди? У меня есть конкретная проблема, я её сформулировал на мой взгляд достаточно четко, но всё равно нашелся кто-то, кто придрался к моей небольшой ремарке и предлагает решать не ту проблему, с которой я пришел на форум, а ту которую он считает нужным решать. По поводу зависаний я зашел в тупик уже давно. Проблемы скорее всего из-за того, что word или excel вызывается из проприоретарной CRM и начинает сразу после вызова жрать 100% CPU на одном ядре. Никак воспроизвести проблему под моим надзором не удается, я узнаю о ней постфактум. Всё что нагуглил по поводу подобных проблем с офисом не помогает. Обновил и пропатчил его уже со всех сторон. Проблема возникает вообще без каких-либо закономерностей. Сервер может простаивать в данный момент. Может CRM как-то некорректно формирует документ в каких-то условиях. Но поскольку она проприоретарная, то для меня это просто "черный ящик", техподдержка помогает только за очень большие деньги. Проще написать скрипт, который убивает зависший word. Всё закрыли эту тему.
По поводу taskkill. С ней та же проблема, что и с pskill: из-под админа работает, но из-под пользователя - нет. Конкретно taskkil пишет "Ошибка. Вход в систему не произведен". Логин и пароль пользователя, на котором тестировал естественно правильно написан. Поэтому вопрос: какие права или политки надо использовать для работы консольной утилиты по сети?
-
Fantastish
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Цитата Fantastish:
а что так сильно виснет терминал, может стоит добавить памяти + проц, рассмотреть возможность использовать ssd
Цитата:
У меня есть машина, но она плохо едет, может масло поменять или новый движок посмотреть?
Дайте конфиг сервера, показатель в максимальную нагрузку под пользователем, логи журналов, что тормозит, где отклик затянут...., ну и в конце концов, что там делают, на этом сервера? Терминальник под какие нужды?
SSD, да, он быстрый, но и без него можно добиться хороших скоростей.
а что так сильно виснет терминал, может стоит добавить памяти + проц, рассмотреть возможность использовать ssd
Любой язык - Удаленное завершение процесса на сервере пользователем AD
Цитата:
У меня есть машина, но она плохо едет, может масло поменять или новый движок посмотреть?
Дайте конфиг сервера, показатель в максимальную нагрузку под пользователем, логи журналов, что тормозит, где отклик затянут...., ну и в конце концов, что там делают, на этом сервера? Терминальник под какие нужды?
SSD, да, он быстрый, но и без него можно добиться хороших скоростей.
-
Fantastish
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
NAS/SAS 10Raid и норм 
+ выделить еще 1 виртуальный проц

+ выделить еще 1 виртуальный проц
-
Fantastish
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Цитата brainhook:
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей,
Что мешает указывать при этом контекст конкретного пользователя? Оп-ля — во втором же сообщении
.
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей,
Любой язык - Удаленное завершение процесса на сервере пользователем AD
Что мешает указывать при этом контекст конкретного пользователя? Оп-ля — во втором же сообщении
.-
Fantastish
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Так вопрос задали, а ответ видимо не читают.
-
DarckSol
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Так вопрос задали, а ответ видимо не читают.
-
DarckSol
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
DarckSol, спасибо за скрипт, но проблема не столько в самом скрипте (с синтаксисом pskill я разобрался более-менее), а в том, что обычному пользователю отказано в доступе при его выполнении. И я не совсем понимаю какими политиками это регламентируется, т.е. как ему дать возможность удаленного выполнения pskill. Если я правильно понял, то контекст решает только проблему
Цитата:
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей,
а мне не так важна правильная работа под админом, как работа из-под пользователя домена.
И к сожалению, пока даже не смогу проверить предложенное решение, т.к. не охота экспериментировать пока на сервере сидят пользователи. Ближе к ночи продолжу эксперименты.
Все остальные рекомендации и сообщения не по теме, там проблема слишком сложная чтобы ее даже просто на пальцах объяснить. Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ.
Цитата:
Но оказалось, что если админ удаленно убивает процесс с именем word.exe то естественно завершаются все процессы с этим именем у других пользователей,
а мне не так важна правильная работа под админом, как работа из-под пользователя домена.
И к сожалению, пока даже не смогу проверить предложенное решение, т.к. не охота экспериментировать пока на сервере сидят пользователи. Ближе к ночи продолжу эксперименты.
Все остальные рекомендации и сообщения не по теме, там проблема слишком сложная чтобы ее даже просто на пальцах объяснить. Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ.
-
Fantastish
Re: Любой язык - Удаленное завершение процесса на сервере пользователем AD
Цитата brainhook:
Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ.
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».
Идеальное решение данной проблемы - дать возможность пользователям убивать свои зависшие экземпляры программ.
Любой язык - Удаленное завершение процесса на сервере пользователем AD
Идеальное решение проблемы — не пытаться чесать за правым ухом задней левой ногой, а разобраться в причинах якобы «зависаний».