web-dev-qa-db-ja.com

PsExec Windowsファイアウォールが有効なときに接続に時間がかかる

状況:

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でした。

なぜそれが受け入れられるのか、どの範囲を受け入れるのか、アイデアはありませんか?

pSEXECが開く必要のあるポートの明確なリストはありますか? failure to move to a different port introducing delay with windows firewall enabled on windows 10 (all inbound "Remote..." firewall rules are enabled )

2
GreyCloud

どうやらこれは、「リモートサービス管理」を有効にするときのグループポリシークライアントの問題です。

修正は次のコマンドを実行することです:

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秒の遅延で実行します。適切な数のワークステーションがある場合、上記のコマンドはそれらをすべて並行して開始します。もちろん、コマンドをリモートで実行する方法は他にもありますが、これは私にはうまくいきました。

出典: https://harryjohnston.wordpress.com/2009/12/18/delays-when-connecting-to-windows-7-clients-for-remote-administration/

5
Jeff McJunkin

PSExecはRPCを使用し、これは ランダムに割り当てられたポート を使用します。最新のWindowsの場合、49152以上の範囲です。

Windowsファイアウォールを使用している場合、動的ポートを許可する組み込みの「リモートサービス管理」ルールがあります。また、必要に応じて、レジストリを微調整してカスタマイズすることもできます。

2
Mark Brackett

Windowsファイアウォールでは、リモートサービス管理はすでに定義されています。 PRIVATEの3つのルールを有効にすると、遅延は発生しません。

0
Henrik