Windows waitfor.exe Signalisierungsprotokoll erforderlich

578
fsteff

Windows verfügt über den Befehl waitFor.exe, der in batch und powershell verwendet werden kann (und in jeder anderen Sprache, in der eine ausführbare Datei aufgerufen werden kann), mit der Sie auf einem System ein Signal senden oder darauf warten können, wodurch die Ausführung der Synchronisation über ein Netzwerk hinweg möglich ist es funktioniert auch auf einem einzigen Computer.

Es ist sehr brauchbar, wird aber mangels guter Dokumentation meistens dazu missbraucht, eine Pause in Batch-Dateien mit Hilfe der Timeout-Option einzufügen.

Die einzige Dokumentation, die ich finden kann, ist folgende: https://technet.microsoft.com/de-de/library/cc731613(v=ws.11).aspx, die eine sehr grundlegende Verwendung des spezifischen waitFor.exe- Befehls ermöglicht in Windows - aber es gibt keine Informationen darüber, wie es tatsächlich implementiert wird, oder wie ich dafür sorgen kann, dass es funktioniert (== wird nicht von einer Firewall blockiert) in einem bestimmten Netzwerk.

Ich möchte in der Lage sein, das Senden und Empfangen dieser Signale in meinen eigenen Code einzubetten, kann aber nichts dazu finden - nicht einmal das einfachste Protokoll und Paketformat scheint verfügbar zu sein.

Meine Fragen,

  1. Welches Netzwerkprotokoll wird dafür verwendet? (Wie bei @Seth erwähnt, handelt es sich wahrscheinlich um RPC - aber wie wird es implementiert?)
  2. Was ist das Paketformat?
  3. Welche Netzwerkports sind erforderlich, um diese Signale weiterzuleiten?

Mit anderen Worten, ich muss alles wissen, um dies in meinen eigenen Programmen zu implementieren.

Vielen Dank für Ihre Zeit!

2
Wie in den Beispielen gezeigt, scheint das Signal eine einfache Zeichenfolge zu sein, die Sie wahrscheinlich mit jeder beliebigen Zeichenfolge senden können. Normalerweise ist Windows für solche Funktionen auf RPC-Aufrufe angewiesen. Seth vor 6 Jahren 0
@Eryksun [2014 SO Kommentar] (https://stackoverflow.com/questions/45675500) gefunden: waitfor.exe basiert auf [mailslots] (https://msdn.microsoft.com/de-de/library/aa365576) ). `waitfor someevent` erstellt ein Mail-Slot mit dem Namen \\. \ mailslot \ WAITFOR.EXE \ someevent`. Das Senden des Signals über `waitfor / si someevent` öffnet ein Handle für` \\ * \ mailslot \ WAITFOR.EXE \ someevent`, wobei "*" der UNC-Provider die Nachricht an jeden Computer in der Domäne senden soll. `waitfor / s% COMPUTERNAME% / si someevent` speziell` öffnet \\ [Computername] \ mailslot \ WAITFOR.EXE \ someevent`, anstatt das Signal zu senden. fsteff vor 6 Jahren 0

0 Antworten auf die Frage