VBScript の例hereに従って、Windows Service Hardening API を使用して、ホストとポートのホワイトリストを除くすべてのインバウンドおよびアウトバウンドの TCP および UDP 接続を拒否する Windows サービスのファイアウォール ルールを設定しようとしています。
NewOutboundRule.ApplicationName = "%systemDrive%\WINDOWS\system32\svchost.exe"
さて、このサービスは (継続的インテグレーションのビルドおよびテスト エージェントであるため) 新しいプロセスを生成する可能性があるため、上記のサンプル スクリプトのように設定するだけでは十分ではありません。サービスによって実行されるすべてのアプリケーションに適用するルールが必要です。
ApplicationName
ただし、オプションとされるプロパティがインターフェイスで指定されていない新しい受信規則を設定しようとするとINetFw
、新しい規則を追加する呼び出しが失敗します (wshRules.Add NewOutboundRule
上記のスクリプトの行で)。を指定したかのように、他のすべては正しく、ApplicationName
呼び出しは成功します。
のすべての可能な値に適用されるルールを作成する方法ApplicationName
、またはこれを行う別の方法はありますか?