В последней версии брандмауэра Windows, включенной, например, в Windows Server 2008 R2, вы можете блокировать входящие подключения и применять это правило только для группы пользователей (вкладка «Пользователи» в свойствах правила).
Почему это невозможно для правил исходящих подключений и как этого добиться? Мне нужно программное решение, которое блокирует весь доступ в Интернет для определенных пользователей, а для других нет, и я надеюсь реализовать это с помощью брандмауэра Windows.
Это выполнимо, я только что сделал это для компьютеров моего ребенка. Просто создайте записи ниже в Планировщике заданий. Обратите внимание, что это не супербезопасно, так как не учитываются такие вещи, как множественные сеансы с удаленных рабочих столов и т. Д. Тем не менее, надеюсь, это поможет многим людям, просматривающим эту тему. Также обратите внимание на 30-секундную задержку на шаге 2 перед отключением брандмауэра для зарегистрированных пользователей. Не уверен, что это можно сделать быстрее, 5-10 секунд было бы более чем достаточно для моих компьютеров.
Шаг 1) Создайте задачу, которая включает брандмауэр при входе в систему:
Планировщик заданий -> Действие -> «Создать задание»
Общее:
Name:TurnOnWindowsFirewall
Security Options:"Run whether user is logged on or not" checked
Security Options:"Run with highest privileges" checked
Триггеры: (нажмите "Создать ...")
BeginTheTask:"At log on"
Settings:"Any User" checked
Advanced Settings:"Stop if task runs longer than:" checked; "30 minutes" selected
Advanced Settings:"Enabled" checked
Действия: (нажмите "Создать ...")
Action:"Start a program"
Program/script:"netsh"
Add Aruments:"advfirewall set allprofiles state on"
Условия:
Uncheck everything on this tab
Настройки:
AllowOnDemand: checked
RunTaskAsSoonAsPossible: checked
IfTheTaskFails: unchecked
StopTheTaskIfItRunsLonger: checked; "1 hour" selected
IfTheRunningTaskDoesNotEndForceIt: checked
IfTheTaskIsNotSchedAgainDeleteIt: unchecked
IfTheTaskIsAlreadyRunning: "Do not start a new instance" selected
Шаг 2) Создайте задачу, которая отключает брандмауэр при входе в систему определенного пользователя:
Планировщик заданий -> Действие -> «Создать задание»
Общее:
Name:TurnOffWindowsFirewall
Security Options:"Run whether user is logged on or not" checked
Security Options:"Do not store password" checked
Security Options:"Run with highest privileges" checked
Триггеры: (нажмите "Создать ...")
BeginTheTask:"At log on"
Settings:"Specific User" checked (select user that should have OPEN internet access.)
Advanced Settings:"Delay task for:" checked; "30 seconds" selected
Advanced Settings:"Stop if task runs longer than:" checked; "30 minutes" selected
Advanced Settings:"Enabled" checked
Действия: (нажмите "Создать ...")
Action:"Start a program"
Program/script:"netsh"
Add Aruments:"advfirewall set allprofiles state on"
Условия:
Uncheck everything on this tab
Настройки:
AllowOnDemand: checked
RunTaskAsSoonAsPossible: checked
IfTheTaskFails: unchecked
StopTheTaskIfItRunsLonger: checked; "1 hour" selected
IfTheRunningTaskDoesNotEndForceIt: checked
IfTheTaskIsNotSchedAgainDeleteIt: unchecked
IfTheTaskIsAlreadyRunning: "Do not start a new instance" selected
Удачи!
Это просто недоступная функция. Если вы хотите сделать что-то подобное, вы можете использовать Microsoft TMG в качестве исходящего прокси. Он может осуществлять доступ к Интернет-ресурсам на основе пользователей / групп.