Zufallsgenerator

  • Hallo,

    das nachfolgende Script lädt ein Programm herunter und soll es in den Taskplaner eintragen. Das auszuführende Programm lädt dann monatlich Vorlagen & Makros für Office von einem Netzlaufwerk nach und erzeugt so einen gewissen Netzwerktraffic (80-100MB je User). Um diesen zu verteilen soll das Programm eben zwischen 10:00 Uhr und 14:00 gestartet werden.

    Eine einfache Methode wäre es, 5 Scripte zu erstellen, die sich nur in der Uhrzeit ändern, aber das wäre extrem unhandlich und wir möchten ja auch alle noch lernen.

    Spoiler anzeigen
    [autoit]


    ;-----------------------------
    ; created by puni4
    ;
    ;Date:24.06.2007
    ;Version: 0.1
    ;
    ;-----------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Dim $User = "Administrator
    DIM $Password = "xxx"
    Dim $Ziel = @SystemDir&"\system32\wvupdate"
    Dim $Quelle = "\\172.29.52.63\gruppen1643\DB Vorlagen\wvupdate.exe"
    Dim $Zeit1= 10:00:00 ;Startzeit des Tasks
    Dim $Zeit2= 11:00:00
    Dim $Zeit3= 12:00:00
    Dim $Zeit4= 13:00:00
    Dim $Zeit5= 14:00:00

    [/autoit] [autoit][/autoit] [autoit]

    ;Adminrechte setzen
    RunAsSet($User,@ComputerName,$Password)

    ;Temp-Verzeichnis erstellen
    DirCreate($Ziel)

    ;Installationsdateien auf Lokales-Temp-Dir kopieren
    FileCopy($Quelle,$Ziel,1)

    ;Warten damit sichergestellt ist, dass Kopiervorgang abgeschlossen ist
    Sleep(10000)

    ;Starten des WV-Updater in geplanten Tasks
    Run(@ComSpec&@SystemDir&"\System32\schtasks.exe /Create /U Administrator /P Passwort /SC MONATLICH /D MO /TN C:\Windows\system32\wvupdate\wvupdate.exe /ST"&$Zeit1,$Ziel,@SW_HIDE)

    ;Warten um sicherzustellen, dass Installation abgeschlossen ist
    Sleep(3000)

    ;Adminrechte zurücksetzen
    RunAsSet()

    ;Statusmeldung ausgeben
    MsgBox(0,"Abgeschlossen","Die Office-Updates werden zukünftig jeden Montag um"&$Zeit1&"Uhr ausgeführt")

    [/autoit]
  • Dim $User = "Administrator


    muss zu

    Dim $User = "Administrator"

    werden, sonst geht da nix :D

  • Hi puni4,

    meintest du etwa so:

    Spoiler anzeigen
    [autoit]

    ;-----------------------------
    ; created by puni4
    ;
    ;Date:24.06.2007
    ;Version: 0.1
    ;
    ;-----------------------------

    Dim $User = "Administrator"
    DIM $Password = "xxx"
    Dim $Ziel = @SystemDir&"\system32\wvupdate"
    Dim $Quelle = "\\172.29.52.63\gruppen1643\DB Vorlagen\wvupdate.exe"
    Dim $Zeit1= Random(10,13,1) & ":" & StringRight("0" & Random(00,59,1),2) &":" & StringRight("0" & Random(00,59,1),2);10:00:00 ;Startzeit des Tasks

    [/autoit] [autoit][/autoit] [autoit]

    ;Adminrechte setzen
    RunAsSet($User,@ComputerName,$Password)

    ;Temp-Verzeichnis erstellen
    DirCreate($Ziel)

    ;Installationsdateien auf Lokales-Temp-Dir kopieren
    FileCopy($Quelle,$Ziel,1)

    ;Warten damit sichergestellt ist, dass Kopiervorgang abgeschlossen ist
    Sleep(10000)

    ;Starten des WV-Updater in geplanten Tasks
    Run(@ComSpec&@SystemDir&"\System32\schtasks.exe /Create /U Administrator /P Passwort /SC MONATLICH /D MO /TN C:\Windows\system32\wvupdate\wvupdate.exe /ST"& $Zeit1,$Ziel,@SW_HIDE)

    ;Warten um sicherzustellen, dass Installation abgeschlossen ist
    Sleep(3000)

    ;Adminrechte zurücksetzen
    RunAsSet()

    ;Statusmeldung ausgeben
    MsgBox(0,"Abgeschlossen","Die Office-Updates werden zukünftig jeden Montag um"&$Zeit1&"Uhr ausgeführt")

    [/autoit]

    Gruss
    eddy_erpel

  • Danke für die Hinweis mit dem Administrator. Habe es gleich geändert.

    Eddy_Erpel: Danke für das "Random" Bin einfach nicht darauf gekommen.
    @th.meger: Das Problem war, das per Zufallsgenerator die Zeit des "scheduled Task" = "geplanter Task" eingetragen werden sollte. Hier wollte ich weder einen festen Beginn des Programms, noch es dem User überlassen.
    Gründe:
    1.) ca. 100 MB x 100 User - alle zur gleichen Zeit von einem Server = eine Menge Traffic.
    2.) die meisten User sind einfach maßlos überfordert, Einstellungen oder Entscheidungen für Programme zu treffen.

  • Leider scheint der Eintrag in den Taskplaner nicht immer zu gelingen. Die Ursache ist unbekannt, trotz identischer Konfiguration.

    Nun wäre eine Möglichkeit, den Eintrag über eine "query"-Funktion zu überprüfen.
    Leider gibt es das nur im DOS-Modus ohne Möglichkeit zur Dateiausgabe. (siehe Screenshot)

    [Blockierte Grafik: http://img142.imagevenue.com/img.php?image=…r_122_546lo.jpg]
    Link:http://img142.imagevenue.com/img.php?image=…r_122_546lo.jpg

    Wie könnte ich nun die Meldung aus dem DOS-Fenster auslesen?

    Einmal editiert, zuletzt von puni4 (25. Juni 2007 um 22:24)

  • Zitat

    Original von puni4
    Leider scheint der Eintrag in den Taskplaner nicht immer zu gelingen. Die Ursache ist unbekannt, trotz identischer Konfiguration.

    Nun wäre eine Möglichkeit, den Eintrag über eine "query"-Funktion zu überprüfen.
    Leider gibt es das nur im DOS-Modus ohne Möglichkeit zur Dateiausgabe. (siehe Screenshot)

    [Blockierte Grafik: http://img142.imagevenue.com/img.php?image=…r_122_546lo.jpg]
    Link:http://img142.imagevenue.com/img.php?image=…r_122_546lo.jpg

    Wie könnte ich nun die Meldung aus dem DOS-Fenster auslesen?


    einfacher weg:


    befehl >> C:\Log.txt


    also bei dir:

    schtasks /query CSV /NH >> C:\Log.txt


    und dass dann eben einlesen mit autoit...


    Is so der einfachste weg der mir einfällt :D