たとえばWindowsServer 2008 R2に含まれている最新バージョンのWindowsファイアウォールでは、着信接続をブロックし、このルールを一連のユーザーにのみ適用できます(ルールプロパティの[ユーザー]タブ)。
アウトバウンド接続ルールでこれが不可能なのはなぜですか。また、どのように実現できますか。特定のユーザーと他のユーザーのすべてのインターネットアクセスをブロックするソフトウェアソリューションが必要です。これをWindowsファイアウォールで実現したいと考えています。
これは、利用可能な機能ではありません。このようなことをしたい場合は、MicrosoftTMGをアウトバウンドプロキシとして使用することを検討してください。インターネットリソースへのユーザー/グループベースのアクセスを行うことができます。
これは実行可能です、私はちょうど私の子供のコンピュータのためにそれをしました。タスクスケジューラで以下のエントリを作成するだけです。リモートデスクトップからの複数のセッションなどを考慮していないため、これは非常に安全ではないことに注意してください。そうは言っても、このトピックを表示する多くの人々に役立つことを願っています。また、登録ユーザーのファイアウォールがオフになるまでの手順2の30秒の遅延に注意してください。それをどうにかしてもっと速くできるかどうかはわかりませんが、私のコンピューターには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
幸運を!