|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Завершение всех процессов с одинаковым именем, если их больше 2 |
|
|
Любой язык - [решено] Завершение всех процессов с одинаковым именем, если их больше 2
|
Старожил Сообщения: 346 |
Профиль | Отправить PM | Цитировать Всем здравствуйте!
Подскажите или поделитесь скриптом, который может решить данную задачу. Завершать все процессы с одинаковым именем, от конкретного пользователя, если таких процессов больше 3-х. делал просто батник через команду таскил, но там нет функции выборки по кол-ву процессов или я ее просто не знаю. он грохает все или же один раб процесс от конкретного пользователя. |
|
Отправлено: 07:46, 04-12-2019 |
fascinating rhythm Сообщения: 6610
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось DJ Mogarych, 04-12-2019 в 11:29. Отправлено: 09:03, 04-12-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать DJ Mogarych, подумайте, что будет, если процессы запущены пользователями user1, user2, user3
|
Отправлено: 11:04, 04-12-2019 | #3 |
fascinating rhythm Сообщения: 6610
|
Профиль | Отправить PM | Цитировать Исправил.
|
------- Отправлено: 11:29, 04-12-2019 | #4 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать ок, спасибо, попробую!
|
|
Отправлено: 08:40, 10-12-2019 | #5 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать не работает скрипт, процессы не убивает(
может через батник подобное можно сотворить ? |
Отправлено: 11:12, 24-01-2020 | #6 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать santey007, возможно, вы указываете пользователя не в той форме
вы точно не путаете условия больше и больше_или_равно? - у вас разные условия в заголовке и в тексте полный пример Только от имени пользователя и часть ОС запущена ;-) |
Последний раз редактировалось Busla, 24-01-2020 в 13:27. Отправлено: 13:09, 24-01-2020 | #7 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать santey007,
может через VBS можно сотворить ?
UserName = "ThisUser" 'Имя конкретного пользователя NProcMax = 3 'Максимальное количество одноименных процессов. Если больше - будут удалены все sQuery = "Select *From Win32_Process" Set Processes = GetObject("winMgmts:").ExecQuery(sQuery) NProc = Processes.Count ReDim AllProc(NProc, 2) MProc = 0 For Each Process In Processes If Process.GetOwner(User) = 0 Then If LCase(User) = LCase(UserName) Then MProc = MProc + 1 AllProc(MProc, 1) = Process.Name + "*" + User AllProc(MProc, 2) = 0 End If End If Next i = 1 Do i0 = i AllProc(i0, 2) = 1 If i = MProc Then Exit Do For j = i + 1 To NProc If AllProc(i, 1) = AllProc(j, 1) Then i = i + 1 s = AllProc(i, 1) AllProc(i, 1) = AllProc(j, 1) AllProc(j, 1) = s AllProc(i0, 2) = AllProc(i0, 2) + 1 End If Next i = i + 1 If i > MProc Then Exit Do Loop For i = 1 To MProc NDelProc = AllProc(i, 2) - NProcMax If NDelProc > 0 Then Program = Mid(AllProc(i, 1), 1, InStr(1, AllProc(i, 1), "*") - 1) sQuery = "Select *From Win32_Process Where Name=" + """" + Program + """" Set Processes = GetObject("winMgmts:").ExecQuery(sQuery) For Each Process In Processes If Process.GetOwner(User) = 0 Then If LCase(User) = LCase(UserName) Then Process.Terminate ' If NDelProc > 0 Then ' Process.Terminate ' NDelProc = NDelProc - 1 ' End If 'End If End If Next End If Next |
------- Отправлено: 19:09, 24-01-2020 | #8 |
Новый участник Сообщения: 48
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:11, 25-01-2020 | #9 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать немного уточню:
есть конкретное имя процесса, которое плодится и запускается от определенного пользователя и если этот процесс запускает уже более 3-х экземпляров (имя одинаковое, разные ИД), то надо завершать все эти процессы с определенным именем от определенного пользователя. |
Отправлено: 21:55, 25-01-2020 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление старых файлов/папок если их кол-во больше n | greenOwl | Скриптовые языки администрирования Windows | 35 | 14-01-2023 08:34 | |
Доступ - Сетевой доступ с одинаковым именем пользователя | AlexeyA | Microsoft Windows 10 | 6 | 01-09-2016 19:15 | |
CMD/BAT - [решено] Удаление старых файлов по дате и имени, если их больше n | NinjaScript | Скриптовые языки администрирования Windows | 2 | 04-03-2015 14:27 | |
Прочее - [решено] 2 ПК с одинаковым именем | krokradio | Сетевые технологии | 2 | 04-02-2014 15:05 | |
CMD/BAT - [решено] Удаление всех файлов с одним именем на всех дисках | ZARG-X | Скриптовые языки администрирования Windows | 3 | 08-03-2010 11:53 |
|