15

セットアップ プログラムでnetsh advfirewall firewallコマンドを使用して Windows ファイアウォール規則を追加しています。システムで Windows ファイアウォールが無効になっている場合、コードでエラー メッセージが表示されます。

したがって、コマンドnetsh advfirewall firewall add を実行する前に、ウィンドウのファイアウォールの状態を確認する必要があります。つまり、ファイアウォールが無効になっている場合、ルールを追加する必要はありません。

ウィンドウのレジストリ値「 EnableFirewall 」を使用して、ファイアウォールが有効になっているかどうかを確認しています。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile

これが正しい方法かどうかはわかりません。ドメイン ファイアウォール プロファイル (?) も存在する可能性があります。

前もって感謝します。

4

8 に答える 8

13

別のオプションは、netshそれ自体を使用して、ファイアウォールが有効になっているかどうかを確認することです。コマンドを実行しnetsh advfirewall show private|public|domainます。状態のオン/オフを提供します。

于 2012-09-12T11:41:08.887 に答える
4

Invoke-Command -ComputerName <servername> -Credential <username> -ScriptBlock {[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine",$env:COMPUTERNAME).OpenSubKey("System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile").GetValue("EnableFirewall")}

1有効であることを意味します。

于 2014-01-22T21:04:22.580 に答える
1

ファイアウォールの GPO ポリシーも確認してください。これらはレジストリには保存されませんが、別のストアに保存されます。次の質問も参照してください: Powershell 出力と GUI の間で Windows ファイアウォールの状態が異なる

于 2018-02-28T12:25:41.090 に答える
0

私はこれに慣れていませんが、regクエリを使用して詳細を取得したことはありません。

これをコマンドラインに入力してEnterキーを押します。

reg query \\IP_Address\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile

私は自分の作品でそれを使用していましたが、以下のコマンドも使用していました。

reg query \\ip_address\path
于 2013-11-19T06:33:30.460 に答える