#author("2019-03-24T09:37:47+00:00","default:haikikyou","haikikyou")
#author("2019-03-24T09:45:55+00:00","default:haikikyou","haikikyou")
[[PowerShell]]

PowerShellを使えば、FireWallルールもコマンドレットで簡単に定義することができる。FireWallは、XX-NetFireWallXXで定義されるコマンドレット群を使用する。


* FireWallルールの追加 [#f280124b]

以下は、ローカルポート5432へのアクセスをブロックするルールの追加例。
以下は、ローカルポート5432へのアクセスをブロックするルールの追加例である。

#geshi(powershell){{{
PS C:\> New-NetFirewallRule -Name myrule -DisplayName myrule -Enabled True -Action Block -LocalPort 5432 -Protocol TCP


Name                  : myrule
DisplayName           : myrule
Description           : 
DisplayGroup          : 
Group                 : 
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Block
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 : 
PrimaryStatus         : OK
Status                : 規則は、ストアから正常に解析されました。 (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local
}}}

定義したルールを見る場合は、Get-NetFireWallRuleで可能だ。
定義したルールを見る場合は、Get-NetFireWallRuleで可能。

#geshi(powershell){{{
PS C:\> Get-NetFirewallRule -Name myrule


Name                  : myrule
DisplayName           : myrule
Description           : 
DisplayGroup          : 
Group                 : 
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Block
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 : 
PrimaryStatus         : OK
Status                : 規則は、ストアから正常に解析されました。 (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local
}}}

* FireWallルールの削除 [#m401b6cf]

Remove-NetFireWallRuleで可能である。
Remove-NetFireWallRuleで可能。
#geshi(powershell){{{
PS C:\> Remove-NetFirewallRule -Name myrule

PS C:\> Get-NetFirewallRule -Name myrule
Get-NetFirewallRule : プロパティ 'InstanceID' が 'myrule' の MSFT_NetFirewallRule オブジェクトが見つかりません。プロパティの値を確認してから再試行してください。
発生場所 行:1 文字:1
+ Get-NetFirewallRule -Name myrule
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (myrule:String) [Get-NetFirewallRule], CimJobException
    + FullyQualifiedErrorId : CmdletizationQuery_NotFound_InstanceID,Get-NetFirewallRule
}}}

* 参考リンク [#fe2add1c]

- https://docs.microsoft.com/en-us/powershell/module/netsecurity/New-NetFirewallRule?view=win10-ps



トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP