|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Завершение процессов кроме, определенных |
|
VBS/WSH/JS - Завершение процессов кроме, определенных
|
![]() Старожил Сообщения: 284 |
Подскажите как написать скрипт,который будет закрывать все процессы кроме мною указанных.
например: которые должны работать svchost.exe services.exe ctfmon.exe explorer.exe и тд А все остальные закрыть! |
|
Отправлено: 12:33, 28-03-2012 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать вот похожее
http://forum.oszone.net/showthread.php?t=208639 |
Отправлено: 13:02, 28-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать O L E G, вот кстати, усовершенствованный вариант скрипта по ссылке ferget, но без WMIC:
@Echo Off :: Завершает не указанные в "белом списке" процессы :: Anonymous, 2011 SetLocal EnableDelayedExpansion EnableExtensions :: Файл со списком разрешённых процессов Set WhitelistFile=%~sdp0whitelist.txt :: Получение PID своего процесса Set WinTitle=%Random%%Random% Title %WinTitle% For /F "tokens=2 skip=2 delims=," %%P In ('tasklist /FI "WINDOWTITLE eq %WinTitle%" /FO CSV') Do (Set MyPID=%%~P) Title %~n0 :: Чтение файла со списком разрешённых процессов If Exist "%WhitelistFile%" ( For /F "tokens=*" %%w In (%WhitelistFile%) Do (Set WhiteList=%%w:!WhiteList!) ) Else ( Set WhiteList=explorer.exe:csrss.exe:ctfmon.exe:lsass.exe:services.exe:smss.exe:svchost.exe:tasklist.exe:taskmgr.exe:winlogon.exe:wmiprvse.exe: ) :: Получение списка процессов (без дублей) For /F "tokens=1 skip=5 delims=," %%p In ('tasklist /FO CSV') Do (Echo :!ProcList!|Find /I ":%%~p:">nul||Set ProcList=%%~p:!ProcList!) :: Сравнение списков :Compare For /F "tokens=1,* delims=:" %%C In ("!ProcList!") Do ( If Not "%%C"=="" ( Echo :!WhiteList!|Find /I ":%%C:">nul||Call :Kill "%%C" Set ProcList=%%D GoTo Compare ) ) Exit :: Завершение процессов :Kill If "%~1"=="cmd.exe" ( TaskKill /F /FI "PID ne %MyPID%" /FI "IMAGENAME eq cmd.exe" ) Else ( TaskKill /F /IM "%~1" ) Exit /B |
Отправлено: 13:32, 28-03-2012 | #3 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Покажите пожалуйста оптимальный вариант "белого списка" для Windows XP.
|
Последний раз редактировалось sov44, 28-03-2012 в 17:35. Отправлено: 17:18, 28-03-2012 | #4 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать sov44,
Вот мой, ничего лишнего. Но помните, что набор зависит от установленных у вас служб, работающих в фоновом режиме программ, и т.д. - это сугубо персональное дело. |
|
Последний раз редактировалось Anonymоus, 28-03-2012 в 19:11. Отправлено: 18:56, 28-03-2012 | #5 |
![]() Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать извените ребят но мне надо что бы через VBS файл запускался а не через командную строку, перепишите плиз
|
------- Отправлено: 12:07, 29-03-2012 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Примерно так:
Перед запуском убедитесь, что Вы сохранили все данные: поскольку Вы перечислили не все необходимые для нормальной работы процессы, а я не стал расшифровывать Ваше «и тд», результатом снятия одной из системных служб станет немедленная перезагрузка ОС. |
Последний раз редактировалось Iska, 30-03-2012 в 13:05. Причина: Убрано забытое имя объекта «objSWbemObjectEx» внутри блока «With…End With» Отправлено: 12:40, 30-03-2012 | #7 |
![]() Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Проверил скрипт работает но вылает такая ошибка
сторка 28 символ 4 ошибка: Сбой при удаленном вызове процедуры источник: SWbemOmjectEx конечно можно фильтр ошибок поставить, но ошибка эта важная? |
------- Отправлено: 12:58, 30-03-2012 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать O L E G, приношу Вам свои извинения. У меня эти строки были закомментированы, поскольку я делал только вывод имени процесса для завершения.
Я поправил код в своём предыдущем посте. Пробуйте. |
Отправлено: 13:05, 30-03-2012 | #9 |
![]() Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Iska, Да ладно можно без извенений,вы же мне не обязаны)) я понимаю
перепроверил такая же ошибка по этому адрессу |
------- Отправлено: 13:17, 30-03-2012 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Завершение не своих процессов на C# | ldcount | Программирование и базы данных | 4 | 29-07-2013 14:19 | |
CMD/BAT - Завершение процессов, не указанных в списке | Anonymоus | Скриптовые языки администрирования Windows | 4 | 05-08-2011 10:33 | |
Разное - Завершение нескольких процессов из CMD или программы | antikiller_bm | Microsoft Windows 2000/XP | 3 | 24-05-2009 23:39 | |
Заблокировать трафик, кроме определенных IP | noleiemit | Microsoft Windows NT/2000/2003 | 17 | 19-01-2009 21:51 | |
Разное - Неожиданное завершение службы Запуск серверных процессов DCOM | koresaram | Microsoft Windows 2000/XP | 3 | 25-07-2007 12:20 |
|