Что нового

[Процессы] Запрет всех процессов, кроме разрешённых

h2lion

Новичок
Сообщения
10
Репутация
0
Версия AutoIt:
3.3.0.0
Описание:
Идея такова: Есть необходимость, создать скрипт, который через интервал времени будет, проверять процессы, и закрывать все кроме разрешённых, а список разрешённых при этом будет храниться например в текстовом файле.

Примечания:
Хотелось бы не получить готовую программу, а создать её самому, но есть много вопросов, первый, как заставить скрипт, брать список разрешённых процессов из файла, и каким образом построить условие?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,717
Это не очень хорошая идея, т.к. многие "хорошие" процессы могут что-нибудь записывать на диск или в реестр в это время. Велика вероятность, что через некоторое время ОС начнет глючить, а то и того хуже...
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Yashied сказал(а):
Это не очень хорошая идея, т.к. многие "хорошие" процессы могут что-нибудь записывать на диск или в реестр в это время. Велика вероятность, что через некоторое время ОС начнет глючить, а то и того хуже...
Согласен, лучше создать список запрещенных процессов :smile: и убивать их если они есть.

Темы по этому поводу:
1. Изменения массива скрипта через внешний файл txt, ini и т.д.
2. [Помогите с кодом]Блокировщик процессов.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,717
Более того, список разрешенных процессов сделать почти нереально, т.к. Windows в ходе своей работы может создавать кучу разнообразных нужных процессов (например любой апплет контрольной панели). И все их учесть невозможно.

А брать названия процессов из файла, это проще простого. Делается одной лишь функцией _FileReadToArray(). Если файл имеет следующий вид (каждая строка есть отдельный процесс):

Код:
AutoIt.exe
Firefox.exe
Calc.exe

То код AutoIt будет выглядеть так:

Код:
#Include <Array.au3>
#Include <File.au3>

Global $List

_FileReadToArray(@ScriptDir & '\Processes.txt', $List)
_ArrayDisplay($List)


Здесь функция ArrayDisplay() нужна только для посмотреть.
 
Автор
H

h2lion

Новичок
Сообщения
10
Репутация
0
Дело в том, что учесть все "запрещенные" процессы на 170 машинах, очень трудно, наставить то они могут все что хотят... но работать должно лишь то, что "надо".
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,717
А не проще будет ограничить права на уровне Windows (запрет на установку программ, ограничение на Internet и т.д.)?
 
Автор
H

h2lion

Новичок
Сообщения
10
Репутация
0
Есть "корявые" налоговые проги, требующие административных привилегий. Поэтому изменять права пользователя отказались, есть ещё групповые политики, политика использования программ, но я предполагал что разворот защиты с АутоИт будет быстрее, а отлавливание ошибок проще. Плюс допустим для поддержки проще заменить 1 файл с процессами, чем перенастраивать политики. А сам файл можно кодировать например x64base и научить программу декодировать список, в удобный вид.
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Я думаю, что всё можно будет осуществить, если научить Autoit отличать системные процессы от юзерских!
Пните если не так :smile:
 
Автор
H

h2lion

Новичок
Сообщения
10
Репутация
0
А это идея.... пользователь system разрешён, + список Юзерских разрешённых... это правда хорошо будет...
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
h2lion сказал(а):
А это идея.... пользователь system разрешён, + список Юзерских разрешённых... это правда хорошо будет...
+ список разрешенных пользовательских, а то как то жестко получается :smile:

сори, читать надо внимательнее :-[
 
Верх