状況:
PsExecの実行には、Windowsファイアウォールでは20秒、無効にすると1秒かかります
ファイアウォールに追加された例外:
に従ってポート135と445(両方のtcp)を開きましたhttp://jamesrayanderson.blogspot.co.uk/2010/04/psexec-and-ports.html
「ファイアウォールを介したアプリの許可」「リモートサービス管理」を選択
ネットワークがプライベートに設定されていることを確認します
これら2つがなければ、まったく接続されません。 Windows 10を実行しているターゲットマシン
20秒間待つと、「PsEXESVCを起動しています」と表示されます。
わかりましたので、少しの振り分けは、要求されている別のポートも開く必要があることを示しています。
これを最初に実行したときは49669で、2回目は49670でした。
なぜそれが受け入れられるのか、どの範囲を受け入れるのか、アイデアはありませんか?
どうやらこれは、「リモートサービス管理」を有効にするときのグループポリシークライアントの問題です。
修正は次のコマンドを実行することです:
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=yes
影響を受けるワークステーション、workstations.txtの1行に1つのコンピューター名を指定すると、次のようにPsExec(実行速度が遅い)を使用してリモートで一括でこれを行いました。
for /f %i in (workstations.txt) do @start /B psexec \\%i netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=yes
やっているpsexec @workstations.txt
(forループを使用する代わりに)は、コマンドをシリアルでゆっくりと20秒の遅延で実行します。適切な数のワークステーションがある場合、上記のコマンドはそれらをすべて並行して開始します。もちろん、コマンドをリモートで実行する方法は他にもありますが、これは私にはうまくいきました。
PSExecはRPCを使用し、これは ランダムに割り当てられたポート を使用します。最新のWindowsの場合、49152以上の範囲です。
Windowsファイアウォールを使用している場合、動的ポートを許可する組み込みの「リモートサービス管理」ルールがあります。また、必要に応じて、レジストリを微調整してカスタマイズすることもできます。
Windowsファイアウォールでは、リモートサービス管理はすでに定義されています。 PRIVATEの3つのルールを有効にすると、遅延は発生しません。