Script auf einem ENTFERNTEN Server ausführen

  • Hallo Freunde :o)

    an einer Stelle komme ich leider nicht weiter, hoffe auf Eure professionelle Unterstützung! :o)

    folgende Problemstellung:

    Rechner X legt in einen lokalen Ordner Dateien an. Sobald dieser Job fertig ist, soll ein anderer (entfernter) Rechner (Y) einen eigenen Job starten, um die Dateien vom Rechner X zu kopieren.

    Die Frage ist: wie kann ich vom Rechner X dem Rechner Y mitteilen, dass Y den KopierJob (copyFromX.au3) starten kann ?(
    Wenn ich auf dem Rechner X Befehl run("\\server\copyFromX.au3") ausführe versucht der Rechner X selbstverständlich diesen Job bei sich lokal auszuführen.
    Dieser Job muss aber auf dem Rechner Y gestartet werden.

    Freue mich auf Eure Rückmeldung(en)

    Danke im Voraus!

    • Offizieller Beitrag

    Das kann man so lösen, dass Rechner X, sobald er mit seiner Arbeit fertig ist, eine temporäre Datei anlegt (z.B. Fertig.txt ohne Inhalt). Rechner Y testet dann in einer Schleife ob diese Datei existiert. Wenn ja, kann Y mit dem kopieren anfangen. Wenn Y mit dem kopieren fertig ist, dann löscht Y die Datei und so weiß auch X, dass die Aufgabe erledigt ist.

  • das würde bedeuten, dass der Rechner Y ständig in der Schleife ist, da man nicht weiss, wann genau die Dateien auf dem Rechner X abgelegt werden...

    An diese Lösung habe ich auch gedacht, habe aber gehofft, dass es eine "saubere" Lösung gibt, so ähnlich wie bei Interrupts.

    ;(

    Danke Dir!

  • Hallo!

    Falls du kein Problem damit hast Fremdtools zu verwenden, dann hol dir die PStools von Microsoft ehemals sysinternals.
    http://technet.microsoft.com/de-de/sysinternals/bb896649.aspx
    In diesen gibt es eine psexec.exe mit der kannst dann dein Script auf dem Fremdrechner starten, sofern du Zugriffsrechte auf diesem besitzt.

    [autoit]


    $commandline = @ComSpec & " /A /C " & @ScriptDir & "\pstools\psexec.exe \\" & $remotepcnameoderIP & " c:\programme\copyFromX.exe"
    RunWait($commandline, "")

    [/autoit]

    If not :?: then ?( else :thumbup:

  • Aber Achtung,
    bei den neuen Versionen der PSTools muß ein Lizensvertrag bestätigt werden sonst geht da nix mit entferntem Rechenr.
    Es gab aber glaube ich schon ne Lösung, einfach mal PSEXEC in der Suche verwenden.

    MfG
    Der_Doc