Win Aufgabenplanung Trigger bei Anmeldung an ein Netzwerk (1 Viewer)

RicoHTPC

MP Donator
  • Premium Supporter
  • February 4, 2011
    1,441
    172
    Cuxhaven
    Home Country
    Germany Germany
    Hallo ich hab da mal wieder was....

    Kennt jemand den Trigger, den ich bei der Win Aufgabenplanung wählen muss, dass eine Aufgabe erst dann
    (aber eben auch nicht später) ausgeführt wird, wenn der Computer sich an ein Netzwerk angemeldet hat?
    Im Moment habe ich den Trigger Start gewählt und als Bedingung eingegebn, dass eine Netzwerkverbindung
    vorhanden sein muss. Klappt aber nicht, weil der Systemstart fertig ist bevor die Netzwerkverbindung steht.
    Also wird die Aufgabe nicht ausgeführt...

    Der Hintergrund ist, dass ich die WOL.exe starten will wenn sich der Rechner im Netzwerk eingeloggt hat...

    Gruß,

    Rico
     

    Luca Brasi

    MP Donator
  • Premium Supporter
  • November 14, 2007
    1,026
    119
    Home Country
    Germany Germany
    Du könntest die Aufgabe einfach auf dem Trigger verzögern. Die kleinste Vorgabe 15 Sekunden kannst im Fenster abändern...
    screen_mmigstation_2013-01-19_ 001.png

    Soll das auch ohne Anmeldung funktionieren? Wenn nicht kannst mal "Bei Anmeldung" probieren...

    Du kannst aber auch ne bat bei start ausführen lassen, die auf irgend ne andere adresse im netz pingt, die immer verfügbar ist (router zB).
    das packst in nen loop aus dem du raus springst, wenn der ping erfolgreich war. also normalerweise IF ERRORLEVEL=... goto wol. Die wol.exe sprichst also auch gleich aus der bat an.
    Musst aber mal im Netz schauen wie man nen erfolgreichen Ping zuverlässig ausliest. Ich hatte das mal probiert und dann gelassen, das variiert auch über verschiedene Win-Versionen...

    [Edit]
    Probier's mal hiermit:
    http://hannes-schurig.de/13/10/2011/erreichbarkeit-eines-clients-mit-batch-ping-testen/
    und falls das nicht sauber läuft:
    http://stackoverflow.com/questions/3050898/how-to-check-if-ping-responded-or-not-in-a-batch-file
     
    Last edited:

    RicoHTPC

    MP Donator
  • Premium Supporter
  • February 4, 2011
    1,441
    172
    Cuxhaven
    Home Country
    Germany Germany
    Mit einer Verzögerung rumzuprobieren hatte ich auch schon überlegt, aber eleganter wäre natürlich wenn es dafür einen Trigger gäbe,
    vor allem wo es ja haufenweise in der Aufgabenplanung gibt...
    Das mit der Batch und dem anpingen wäre mir zuviel gefrickel glaube ich und dafür habe ich auch zu wenig Ahnung davon.
    Alternativ habe ich auch noch gelesen, dass es ein Script für die Fritzbox gibt womit man feststellen kann ob Geräte im Wlan angemeldet
    sind. Das wäre ja eigentlich was ich suche, nur habe ich das nicht für Lan gefunden.
     

    Luca Brasi

    MP Donator
  • Premium Supporter
  • November 14, 2007
    1,026
    119
    Home Country
    Germany Germany
    ich find eigentlich beide Vorschläge recht praktikabel und auch elegant genug :) Auf der Aufgabe könntest außerdem noch mit "Wiederholen wenn fehlschlägt" arbeiten.
    direkt bei netzwerkanmeldung ist mir kein trigger bekannt. grundsätzlich kannst du ja auch jeden Eintrag im Eventlog triggern lassen, einer für "Netzwerk verfügbar" ist mir noch nicht untergekommen....
    ich kenn jetzt deine anforderungen ja nicht im ganzen, aber ich denk ein tool was deine anforderungen erfüllen würde, ist lightsout. im moment gibt es das aber nur fürs zusammenspiel mit nem whs. letztlich macht es in dem fall das, was die bat machen würde...
    Eine Version für Win Client zu Win Client ist in entwicklung... Das prog kostet bissle was, is aber wenn man nen whs hat ein muss...
     

    madvario

    Portal Pro
    March 6, 2009
    320
    20
    Northern Germany
    Home Country
    Germany Germany
    mach es doch so:


    @set count=0
    @:loop
    @ping -n 1 -w 5 [IP des Router] && goto true
    @wait.exe 2000
    @set /a COUNT=%COUNT%+1
    @if (%COUNT%) == (3) goto false
    @goto loop

    @:true
    @wol.exe [Mac-Adresse ohne Leerzeichen]
    @exit

    @:false
    @echo hat nicht geklappt
    @pause
    @exit





    das kleine Programm wait.exe findest du hier: http://www.petersen.de/content/contenido-4.6.4/cms/front_content.php?idart=163

    wol.exe gibt es hier: http://www.heise.de/download/wol.exe.html

    beide programme sollen im gleichen Ordner liegen, wie die batch selber.

    Du kannst natürlich auch nach dem wol den aufgeweckten Rechner wie vorher den Router anpingen und danach Netzlaufwerke verbinden.
     
    Last edited:

    RicoHTPC

    MP Donator
  • Premium Supporter
  • February 4, 2011
    1,441
    172
    Cuxhaven
    Home Country
    Germany Germany
    OK, also mal für Dummies: Ich müsste das o.a. in eine Batch schreiben und dann beide Programme (WOL.exe nutze ich ja schon) und die Batch
    in einen Ordner packen, ja? Dann könnte man ja da hinein noch einfügen, dass mp nach dem erfolgreichen Wecken des Servers (und einer
    eventuellen kleinen Wartezeit) gestartet wird, richtig? Womit dann alle Dateien optimaler Weise im mp Ordner liegen sollten.

    Der Grund weshalb ich das veranstalte ist folgender: Der Server ist ohne Benutzung im Standby und wird dann eben von mp beim Start des Client
    geweckt. Wenn das mp das übernimmt bremst das zum einen aber den Start von mp selbst wiederum aus, denn es dauert dann deutlich länger als
    wenn der Server vorher gestartet wird und dann schon online ist wenn mp dann startet.
    Außerdem habe ich das Gefühl, dass wenn mp den WOL des Servers übernimmt, dass diesem das dann manchmal alles bissl schnell geht und
    er sich dann "verschluckt" - jedenfalls kommt es manchmal vor, dass im TV Guide dann nichts steht, bzw. "hier steht dann Text". (mp startet bei
    mir direkt in den TV Guide). Und um das zu umgehen, möchte ich eben den Server gestartet haben bevor der Client mit mp dazu kommt.
    Richtig cool wäre, wenn der Server schon in der Windows-Start Routine des Clienten geweckt würde, noch bevor der Desktop zu sehen ist.
    Geht ja aber nicht, weil die Netzwerkverbindung ja dann erst irgendwann hergestellt wird...
     

    RicoHTPC

    MP Donator
  • Premium Supporter
  • February 4, 2011
    1,441
    172
    Cuxhaven
    Home Country
    Germany Germany
    Ich habe jetzt mal versucht das wie oben beschrieben zu machen, klappt aber nicht.
    Zum einen kommt ca. 50% aller Fälle eine Fehlermeldung "AppCrash" wenn ich die Batch ausführe und die anderen 50% passiert gar nichts.
    Da ist dann das leere Command Fenster zu sehen.
    Warum muss denn dort überhaupt der Router angepingt werden? Der Router ist doch in meinem Fall in meiner Fritzbox mit drin, richtig?
    Und die ist doch ohnehin die ganze Zeit online....
     

    Luca Brasi

    MP Donator
  • Premium Supporter
  • November 14, 2007
    1,026
    119
    Home Country
    Germany Germany
    ich test mal kurz die bat, meld mich gleich...

    ...
    Edit:
    (das folgende ist editiert, um riocs erfahrungen aus post 15 zu berücksichtigen)

    die bat von madvarion funktioniert bei mir so wie sie soll... wenn du die bat und die exes in c:\prgramme... ablegst must du sie als admin (rechtklick/als admin....) ausführen, hast du das probiert? (in der aufgabe nachher "mit höchsten privilegien ausführen" anklicken)

    In die bat kannst nur mal zum testen noch ne PAUSE einbauen um zu sehen ob es klappt...
    Code:
    @echo off
    set count=0
    :loop
    ping -n 1 -w 5 ROUTER-IP && goto true
    timeout/t 3
    set /a COUNT=%COUNT%+1
    if (%COUNT%) == (5) goto false
    goto loop
     
    :true
    echo Die Netzwerkverbindung steht, jetzt kommt der WOL
    wol.exe [Mac-Adresse ohne Leerzeichen]
    pause
    exit
     
    :false
    echo hat nicht geklappt
    pause
    exit

    Den Router pingst du an, weil du ja einen erfolgreiche Rückmeldung haben willst, wenn die Netzwerkverbindung steht, er wird eben genau deshalb gewählt, weil er immer online ist.

    Das mit Mediaportal starten kannst du sehr gut so machen... du kannst auch noch nen weiteren Loop einbauen, der solange wartet, bis der TV-Server wirklich da ist.

    Würde dann so aussehen:
    Code:
    @echo off
    set count1=0
    set count2=0
    set maxping=5
    :loop1
    ping -n 1 -w 5 ROUTER-IP && goto true1
    timeout/t 3
    set /a COUNT1=%COUNT1%+1
    if (%COUNT1%) == (%maxping%) goto false1
    goto loop1
     
    :true1
    echo Die Netzwerkverbindung steht, jetzt kommt der WOL
    wol.exe [Mac-Adresse ohne Leerzeichen]
    ::pause
     
    :loop2
    ping -n 1 -w 5 TV-SERVER-IP && goto true2
    timeout/t 3
    set /a COUNT2=%COUNT2%+1
    if (%COUNT2%) == (%maxping%) goto false2
    goto loop2
     
    :true2
    echo Die Netzwerkverbindung zum TV-Server steht, starte gleich MP
    ::pause
    echo Um dem Server ein bisschen Zeit zu lassen bis er oben ist, kommt jetzt ein timeout. Das kann solange alles funktioniert, reduziert oder ganz weggelassen werden.
    timeout/t 5
    "C:\Program Files (x86)\Team MediaPortal\MediaPortal\MediaPortal.exe"
    goto success
     
    :false1
    echo Die Netzwerkverbindung kam nicht zustande
    pause
    exit
     
    :false2
    echo Der TV-Server wurde nicht geweckt
    pause
    exit
     
    :success
    echo Alles ok
    ::pause

    Das ganze "Bei Anmeldung" oder über den Autostart ausführen lassen. Zum testen des batch bei
    Code:
    ::pause
    die :: rausnehmen.
     
    Last edited:

    HTPCSourcer

    Retired Team Member
  • Premium Supporter
  • May 16, 2008
    11,418
    2,335
    Home Country
    Germany Germany
    In der Aufgabenplanung gibt es unter Network eine Option “Network connected”. Könnte sich lohnen, mal dort einen Blick zu riskieren. Sicher einfacher als mit Batch-Dateien zu jonglieren und stattdessen einfach den WOL-Befehl zum Network-Trigger einzugeben. Vielleicht klappt es ja.

    Gruß, HTPC-Sourcer
     

    Luca Brasi

    MP Donator
  • Premium Supporter
  • November 14, 2007
    1,026
    119
    Home Country
    Germany Germany
    ja genau, hatte ricohtpc oben auch schon geschrieben. ich denk das problem dabei wäre, dass er dann ja bei fehlgeschlagen wiederholen lassen müsste. der kleinste zeitabstand für die wiederholung ist 1 minute, was das ganze sehr stark verzögern würde... da ist die bat einiges flexibler.
     

    Users who are viewing this thread

    Top Bottom