セットアッププログラムでnetsh advfirewall firewallコマンドを使用して、Windowsファイアウォールルールを追加しているところです。私のコードは、システムがWindowsファイアウォールを無効にしている場合、エラーメッセージを与えています。
netsh advfirewall firewall add** コマンドを実行する前に、ウィンドウのファイアウォール状態をチェックする必要があります。
ファイアウォールが有効かどうかは、ウィンドウズのレジストリ値 "EnableFirewall"を使って確認しています。
HKEY_LOCAL_MACHINE/SYSTEM CurrentControlSetServices﹑SharedAccessParameters﹑FirewallPolicy﹑StandardProfile
これが正しい方法かどうかわかりません。ドメインファイアウォールプロファイル(?)もあるようです。
よろしくお願いします。
Invoke-Command -ComputerName <servername> -Credential <username> -ScriptBlock {[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine",$env:COMPUTERNAME).OpenRemoteBaseKey("LocalMachine",$env:Computername); -ScriptBlock (-ComputerName <servername> -Credential <username>).OpenSubKey("SystemCurrentControlSetServicesSharedAccessParametersNTheFirewallPolicyNTheStandardProfile").GetValue("EnableFirewall")}
を使用してください。
1` は有効であることを意味します。
私はこれをするのは初めてですが、どのように私は詳細を取得するためにREGクエリを使用していました。
コマンドラインに次のように入力し、Enterキーを押してください。
reg query \\IP_Address\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile
私の作品では、以下のコマンドも使っていました。
reg query \\ip_address\path