ユーザーが(とりわけ)Windowsファイアウォールを管理できるようにするインターフェイスを作成しています。Windowsに付属のGUIは次のようになります
私のGUIはJavaで書かれており、netsh advfirewall firewall
コマンドを使用して現在の設定を読み取り、変更を保存します。
一部のアイテムは、ファイアウォール内の単一のレコードです。ただし、「Windowsリモート管理」アイテムは「グループ化された」アイテムの1つです。これは複数のアイテムの組み合わせです。これが組み合わせのアイテムの1つです。
Rule Name: Windows Remote Management - Compatibility
Mode (HTTP-In)
----------------------------------------------------------------------
Enabled: No
Direction: In
Profiles: Private,Public
Grouping: Windows Remote Management
LocalIP: Any
RemoteIP: LocalSubnet
Protocol: TCP
LocalPort: 80
RemotePort: Any
Edge traversal: No
Action: Allow
この場合、グループ全体が無効になりますが、タイプがpublicまたはprivate、あるいはその両方で有効にできます。(ドメインは言うまでもありません)
Windows GUIを使用してこのグループを有効にする場合、1つのタイプのみを有効にすると、グループ内のすべてのアイテムを複製する必要があります。無効タイプ用に1つ、有効タイプ用に1つ。
2番目のコピーを作成しようとすると、問題が発生します。このnetsh advfirewall firewall add rule
コマンドでは、新しいアイテムにグループ化を設定できません。つまり、2番目のコピーを作成できないということです。つまり、アイテムがWindowsによって既に複製されていない限り、両方のタイプ(パブリックとプライベート)を一緒に有効または無効にすることしかできません。これは私が望んでいることではありません。
この2番目のコピーを作成するにはどうすればよいですか?Javaまたはコマンドラインでそれを行う方法について何かアイデアはありますか?netshエクスポートでバイトファイルが作成されることがわかりました。レジストリバイトファイルのようです。を使用してファイアウォールを編集する方法はありreg query
ますか?ファイアウォール設定はレジストリのどこに保存されますか?私は自分自身を書くことを避けたいと思ってい.exe
ます。