web-dev-qa-db-ja.com

Windowsファイアウォールルールを作成して切り替えます

単一のバッチ、PowerShellまたはAHKスクリプトを使用して、どうすればよいですか?

  1. (存在しない場合)プログラムをブロックするWindowsファイアウォールルールを作成します。そして
  2. 現在の状態に応じて、ルールを無効または有効にしますか?
2
user2319146

PowerShellの使用(> =バージョン4.0)

詳細については、次のリンクをお読みください。
New-NetFirewallRule
PowershellでWindowsファイアウォールを管理する

独自の新しいルールを生成するためのテンプレート(パラメーターを適応させる):

#Requires -Version 4.0
New-NetFirewallRule -DisplayName BlockYourProgram `
    -Program "C:\Path\To\YourProgram.exe" `
    -Action Block `
    -Profile Domain, Private `
    -Description "Demonstration" `
    -Protocol TCP `
    -Direction Outbound

ルールを有効/無効にするには

Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled True
Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled False

ルールを切り替えるには

if ((Get-NetFirewallRule -DisplayName BlockYourProgram).Enabled){
     Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled False
} Else {
     Set-NetFirewallRule -DisplayName BlockYourProgram -Enabled True
}
2
LotPings