Admin Rechte

  • Hallo,
    ich habe ein Programm zur Überwachung des PCs geschrieben.

    Opt("TrayIconHide", 1)
    #RequireAdmin
    $BOX="Benutzer: " & @UserName
    $FILE=FILEOPEN("C:/Überwachung.txt",1)
    FILEWRITE($FILE,$BOX&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WHILE 1
    FILEOPEN("C:/Überwachung.txt",1)
    $TITLE=WINGETTITLE("[active]")
    FILEWRITE($FILE,$TITLE&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WINCLOSE($FILE)
    SLEEP(5000)
    WEND

    Das läuft auch. Ich möchte aber, dass er bei jedem PC Start automatisch startet. Also verschiebe ich das Programm in den Autostartordner. nd nun zu meinem Problem: Bei jedem Systemstart fordert das Programm Admin Rechte. Wenn ich dem Programm diese -rechte nicht gebe, funktioniert es nicht. Deshalb kann ich

    #RequireAdmin

    nicht einfach weglassen. Aber was bringt eine Überwachungssoftware, die man kinderleicht aushebeln kann, indem man auf NEIN drückt? Nichts.
    Kann mir jemand helfen, mein Problem zu lösen? ?(

    Danke im Vorraus

    3 Mal editiert, zuletzt von meinnameisthase (6. Mai 2011 um 15:57)

  • Du könntest die

    [autoit]

    RunAs()

    [/autoit]

    Funktion nutzen, als SYSTEM User ausführen, oder über eine Batchdatei mit RunAs starten.

  • Eigentlich kannst du diese Zeile doch weglassen, das Textdokument ist doch schon geöffnet.

    Spoiler anzeigen
    [autoit]

    Opt("TrayIconHide", 1)
    #RequireAdmin
    $BOX="Benutzer: " & @UserName
    $FILE=FILEOPEN("C:/Überwachung.txt",1)
    FILEWRITE($FILE,$BOX&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WHILE 1
    FILEOPEN("C:/Überwachung.txt",1) ;DIESE ZEILE
    $TITLE=WINGETTITLE("[active]")
    FILEWRITE($FILE,$TITLE&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WINCLOSE($FILE)
    SLEEP(5000)
    WEND

    [/autoit]

    DFPWare

  • Wenn ich dem Programm diese -rechte nicht gebe, funktioniert es nicht.


    Das einzige was in Deinem Script die Adminrechte benötigt, ist der Pfad in dem Du die "Überwachung.txt" anlegst.

    Im Root-Pfad "C:\" darf halt im Normalfall ein User nicht schreiben.

    Wenn Du das Logfile in einem Ordner anlegst wo ein User auch schreiben darf. sollte das Script auch ohne #RequireAdmin laufen.
    Gestarte per Registry/Run sieht es der User dann auch schwer, außer er kontrolliert die Prozesse.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Vielen Dank, mein Problem ist nun gelöst :P . Alles läuft ohne Probleme und ohne Adminrechte!
    So sieht das Script jetzt aus:

    [autoit]

    Opt("TrayIconHide", 1)
    $BOX="Benutzer: " & @UserName
    $FILE=FILEOPEN("C:\Users\" & @UserName & "\Documents\Überwachung.txt",1)
    FILEWRITE($FILE,$BOX&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WHILE 1
    $TITLE=WINGETTITLE("[active]")
    FILEWRITE($FILE,$TITLE&" "&@MDAY&"."&@MON&"."&@YEAR)
    FILEWRITE($FILE," "&@HOUR&":"&@MIN&":"&@SEC)
    FILEWRITE($FILE,@CRLF)
    WINCLOSE($FILE)
    SLEEP(5000)
    WEND

    [/autoit]

    :thumbup: