[решено] удаленная остановка сервисов, прибивание процессов в одном файле
...Приветствую всех!
Проблема есть, ваша помощь требуется... Проблема такая - Пишу батник - удаленная остановка сервисов, прибивание процессов в одном файле... Мне нужно что бы РЕЗУЛЬТАТЫ ОТРАБОТАННЫХ КОММАНД НЕ ОТОБРАЖАЛИСЬ В ОКНЕ... HTML код:
@Echo Off По сути все хорошо. только если этот батник не находит процесса "notepad.exe" он начинает материться типа ERROR и там коды всякие, чего вообще на экран выводить не нужно! То есть если нет такого процесса, и ладно - пошел дальше выполнять комманды - вот суть - БЕЗ ВЫВОДА В ОКНЕ ВСЯКИХ ОШИБОК!!! Заранее благодарю... |
registeruser1, вместо ">nul" поставить ">nul 2>nul" (добавить подавление ошибок)
|
Цитата:
Спасибо ОГРОМНОЕ... Может подскажешь еще мне, как вывести на удаленной машине список не всех, а определенных процессов? Вот код, но он выводит все запущенные прочессы и не на удаленной машине, а на локальной - @Echo off Title ВЫВОД ДЕРЕВА ПРОЦЕССОВ ПРИ ПОМОЩИ BAT ФАЙЛА :LOOP CLS Echo. Echo L - Load tree process Echo D - Delete process Echo Q - Exit Echo. Set var= Set /P var="Load command: " If /I "%var%"=="L" TaskList|More If /I "%var%"=="Q" Exit /B If /I "%var%"=="D" Call :KILL GoTo LOOP :KILL Echo. Set var= Set /P var="Load PID (number) process:" Set /A var=%var%+0 If %var% EQU 0 Exit /B TaskKill /PID %var% Pause >Nul Exit /B |
registeruser1, "определенных" по какому условию?
|
Цитата:
Соответственно при старте самого сервиса винда запускает сам exe файл. Эти exe-шники имеют числовое имя, типа 45-78-52-65-42-71.exe А закономерность этих файлов то что это мас-адреса, и начинаются они все с 00-80-9F-xx-xx-xx.exe Вот, наверное по этому условию... Я написал батник удаленного управления сервисами этой удаленной машины (что бы не заходить на нее), вот там нужно еще дописать эту фичу, что бы знать что запущенно а что нет и вообще запущенн ли сервис (типа проверки выполненного действия). Спасибо... |
Цитата:
Код:
TaskList|FindStr /BIRC:"00-80-9F-[0-9][0-9]-[0-9][0-9]-[0-9][0-9].exe" |
...Спасибо, клево!
Скажи, а как это все на удаленном компе можно смотреть-то? Где имя компа удаленного прописывать-то? Сетка доменная, права есть... Благодарю... |
Цитата:
Код:
TaskList /S CompName |
...Делаю так -
HTML код:
tasklist -s COMP_NAME |FindStr /BIRC:"00-80-9F-xx-xx-xx.exe" Я так понимаю что эта команда должна найти на удаленном компе перечисленные процессы и ТОЛЬКО ИХ вывести на монитор... Обычной коммандой - HTML код:
tasklist -s COMP_NAME ...извиняюсь если замучил ("как летун мы не очень", но очень хочется )) |
Цитата:
amel27 привел правильную запись с регулярными выражениями для, заданных Вами, условий задачи. Кстати Вы не уточнили, что "xx" это шестнадцатеричные числа и они кроме цифр могут иметь буквы "ABCDEF", если речь идет о MAC адресах. |
Цитата:
Код:
tasklist -s COMP_NAME| FindStr /BIRC:"00-80-9F-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]\.exe" Код:
tasklist -s COMP_NAME| FindStr /BIRC:"00-80-9F-..-..-..\.exe" Цитата:
|
Да, это МАС.
...Тут наверное надо как-то по вот этим 00-80-9F цифрам отбор от всех остальных процессов делать, то есть по маске выходит... У всех этих процессов эти цифры одинаковые (все МАС у меня, их 12, начинаются с них). Получается если команда находит по маске процессы начинающиеся с 00-80-9F - она выводит их ВСЕ КОТОРЫЕ У КОТОРЫХ ЭТИ ЗНАЧЕНИЯ СОВПАДАЮТ... Вот так наверное... Другими словами - Есть несколько ЗАПУЩЕННЫХ процессов на удаленной машине - 00-80-9F-54-78-51.exe 00-80-9F-45-82-35.exe 00-80-9F-25-46-81.exe 00-80-9F-41-33-29.exe Я удаленно их прибиваю командой - HTML код:
wmic /node:"COMP_NAME" process where Name="00-80-9F-45-82-35" call terminate на экран. Таким образом если процесс был успешно убит, то после проверки ЭТОЙ командой (ПО МАСКЕ 00-80-9F) она выдаст на экран только эти 3 АКТИВНЫХ процесса в место четырех которые были - 00-80-9F-54-78-51.exe 00-80-9F-25-46-81.exe 00-80-9F-41-33-29.exe Это для того что бы удостоверится что процесс на самомделе выгружен и не выполняется и для обзора оставшихся активных процессов... Все это в одном батнике нужно... Ну вот, я думаю что все по полкам разложил, больше уже не знаю как объяснить... Заранее спасибо всем откликнувшимся... |
Цитата:
Но почему-то он отображает только один процесс, а их там (я посмотрел) на данный момент висит 4... И почему-то "пресс ани кей" с верху а не с низу - HTML код:
@Echo off |
registeruser1, примерный порядок отладки кода:
1. вывод списка процессов в файл (который при желании можно выложить тут): Код:
tasklist -s COMP_NAME >tasklist.log Код:
<tasklist.log FindStr /BIRC:"00-80-9F-..-..-..\.exe" |
Время: 23:07. |
Время: 23:07.
© OSzone.net 2001-