1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Lashandan

Beiträge von Lashandan

  • Start, Logon, Logoff und Shutdown

    • Lashandan
    • 23. Februar 2018 um 14:22
    Zitat von alpines

    Genau, das Programm muss am Laufen bleiben, damit das Event beim LogOff / Shutdown ausgelöst werden kann.

    Und die Funktion steht dann auch ganz am Anfang oder innerhalb einer While-Schleife?

  • Start, Logon, Logoff und Shutdown

    • Lashandan
    • 23. Februar 2018 um 14:18

    Hey alpines,

    vielen Dank für die tolle Erklärung der Funktion, genau sowas brauche ich ;)

    Bedeutet das aber im gleichen Fall auch, dass das Programm beim Start bzw. Logon mit startet und quasi im Hintergrund aktiv bleibt?

  • Start, Logon, Logoff und Shutdown

    • Lashandan
    • 23. Februar 2018 um 13:37

    Hey BugFix, vielen Dank für deine schnelle Antwort und auch schon ersten Lösungsansatz.

    Allerdings verstehe ich die Funktion "OnAutoItExitRegister" nicht so ganz.

    Wie habe ich den in welchem Kontext zu verwenden?

    Vielleicht nochmal kurz die Ist-Situation.

    Im Moment, läuft das Programm nicht dauerhaft im Hintergrund.

    Es wird durch die 4 Events per CommandLine aktiviert, schreibt in die Log.txt und schließt sich dann wieder.

    Mit der Funktion die du vorschlägst, müsste doch das Programm im Autostart verankert sein richtig?

    Finde die Idee schon sehr gut, würde aber gern vorher noch weiter sammeln bzw. darüber schreiben.

  • Start, Logon, Logoff und Shutdown

    • Lashandan
    • 23. Februar 2018 um 09:20

    Hallo liebe Community,

    ich möchte für eine Vielzahl an Produktionsrechnern die o.g. Events loggen.

    Etwas ausführlicher: ich betreue Rund 500 Rechner und möchte aussagekräftig sein über die genannten Events.

    Wann startet ein Rechner, wer loggt sich wann ein (Benutzername + Timestamp), wann loggt sich der Benutzer aus und wann wird der Rechner runtergefahren bzw. neu gestartet.

    Ich habe schon sehr viel probiert und auch schon einige Ergebnisse erhalten.

    Aber leider nicht so zuverlässig wie ich es mir vorstelle.

    Dazu habe ich ein kleines Programm geschrieben, was auf die 4 Events hört und per Script angesprochen wird.

    Dann setzt das Programm einen eigenen Timestamp und schreibt die Daten temporär in eine log.txt

    Weiterhin wird geprüft ob der Rechner in der Lage ist Daten zu versenden (also ob er online ist) - ist dies der Fall, wird das Logfile zeilenweise ausgelesen und sendet die Daten per HTTP request an einen Host.

    Also, die Hürde mit dem Erfassen und Versenden der Daten ist schon mal geschafft.

    Es geht mir primär darum, zuverlässig die 4 Events zu erfassen.

    Derzeit läuft es so ab, dass ich 4 Scripte in folgende Ordner gelegt habe:

    1. C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup

    2. C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown

    3. C:\Windows\System32\GroupPolicy\User\Scripts\Logon

    4. C:\Windows\System32\GroupPolicy\User\Scripts\Logoff

    Wenn ich es richtig verstanden habe, schaut das Betriebssystem bei eben diesen 4 Events ob etwas vorhanden ist und führt diese dann aus.

    Natürlich habe ich auch über gpedit.msc die Daten hinterlegt - in meinem Fall per Registryeintrag.

    ____________________

    Mein Problem ist aber, dass manche Rechner weder Start noch Shutdown erfassen und manche wiederum alle 4 Events sauber loggen. In einigen Fällen wird nur Logon erfasst. Bei manchen kommt auch einfach gar nichts an.

    Fehler im Programm würde ich fast gänzlich ausschließen, da ich die absolut sichere Variante gewählt habe:

    Erst alles lokal erfassen (log.txt) und später dann versenden (sobald online).

    Es gibt auch keine Rechteprobleme, da das Programm und die Skripte im Adminmodus ausgeführt werden.

    Habt ihr vielleicht eine Idee oder Ansätze, wie ich diese 4 Events sauberer und auch zuverlässiger loggen kann?

    Das Programm ist knapp 1MB groß und kann von mir aus ab Start permanent laufen und auch gern auf irgendwelche "Events" horchen und dann reagieren...aber dafür brauche ich eure Hilfe.

    Ich freue mich auf eure Beiträge.

  • Update Funktion

    • Lashandan
    • 1. Februar 2018 um 11:12

    Hi Leute,

    vielen Dank für die zahlreichen Antworten.

    olfibits beim Kompilieren konsequent an die Versionsnummer zu denken ist meiner Meinung nach selbstverständlich.

    Grade dann, wenn man nicht nur für sich selbst an kleinen Tools arbeitet, sondern diese an andere ausliefert und ggf. Support bietet.

    Espyre deine Ausführung habe ich verstanden, muss mir aber genauer anschauen, ob das was für mein Vorhaben ist.

    chesstiger das ist mit Abstand die pragmatischste Variante :P und ist für mein Vorhaben innerhalb des Netzwerks auch echt geeignet. Allerdings hätte ich wohl dazu schreiben sollen, dass ich künftig schon vor habe, das ganze auch weiter auszugeben und dann mit einem richtigen Update zu versehen. Aber die Idee ist natürlich super!

    Kanashius toller Code :love: den schau ich mir gleich noch etwas genauer an und teste es. Du hast genau erfasst was ich möchte :):thumbup:

    Melde mich wieder, sobald Fragen aufkommen oder ich das ganze zum Erfolg führen konnte.

  • Update Funktion

    • Lashandan
    • 31. Januar 2018 um 11:04

    Hallo in die Runde,

    da dies mein erster Beitrag hier im Forum ist, möchte ich mich ganz kurz vorstellen.

    Ich habe AutoIt erst vor ein paar Monaten entdeckt und befasse mich nun täglich damit und baue es auch in meinen Arbeitsalltag ein. Ob einfache Loginroutinen oder Abfragen, ich bin sehr fleißig mir alles anzueignen was diese wundervolle Sprache hergibt.

    Auch frage ich mich fast täglich, wie umfangreich die Welt von AutoIt noch wird - denn ich entdecke wirklich jeden Tag neue Funktionen und damit kommen weitere Ideen auf.
    Kurzum: Ich bin begeistert und absoluter Fan.

    Zu meinem Anliegen:

    Ich arbeite in einem Unternehmen mit sehr vielen Rechnern und Arbeitsplätzen.

    Weiterhin habe ich ein Tool gebaut mit dem man verschiedene Rechner schnell und einfach abfragen kann. (Status, Version, Ip, usw.)

    Dieses Tool wird von ausgewählten Mitarbeitern genutzt.

    Sobald ich eine neue Version erstelle, soll der Mitarbeiter auch automatisch die aktuellste Version erhalten bzw. über ein Update informiert werden.

    Folgendes habe ich bereits im Netz gefunden:

    Code
    Func UpdateCheck($UpdatedVersionPath)
    FileDelete(@ScriptDir & "\OLD.exe")
    $CurrentVersion = FileGetVersion(@ScriptFullPath)
    $LastVersion = FileGetVersion($UpdatedVersionPath & @ScriptName)
    If $CurrentVersion < $LastVersion Then
      TrayTip("Updater", "Updating. . .", "", 2)
      FileCopy($UpdatedVersionPath & @ScriptName, @ScriptDir & "\NEW.exe")
      FileMove(@ScriptFullPath, @ScriptDir & "\OLD.exe")
      FileMove(@ScriptDir & "\NEW.exe", @ScriptFullPath)
      Run(@ScriptName)
      Exit
    EndIf
    EndFunc   ;==>UpdateCheck
    Alles anzeigen

    der Punkt FileDelete, sollte an der Stelle wahrscheinlich ausgelassen werden.

    Mir erschließt sich allerdings noch nicht so ganz, wie das ganze funktionieren soll.

    Die Macros habe ich alle soweit verstanden.

    Was ich nicht verstehe, warum $UpdateVersionPath nicht deklariert wurde.

    Denn so, kann die Funktion doch gar nicht laufen?

    Für meine Zwecke, hätte ich das gern so, dass ich einen Pfad im Netzwerk angebe auf den alle ausgewählten Nutzer Zugriffsrechte haben und automatisch die neuste Version erhalten.

    Könnt ihr mir dabei bitte helfen?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™