Skript als anderer Benutzer starten

  • Hallo,

    Das ist meine zweite Anfrage hier, bin also immer noch ein absoluter Neuling :rolleyes:

    Ich habe ein AutoIt-Skript erstellt, um die Installation von VeraCrypt zu automatisieren und habe dieses dann mit Aut2Exe kovertiert (s. Anhang). Wenn ich die so erstellte EXE interaktiv starte, dann klappt das auch.
    Das Problem ist, dass meine Benutzer im AD keine Rechte haben, ich dieses Skript/EXE also mit einer Softwareverteilung ausrolle und da geht das eben nicht ?( .

    Ich gehe mal davon aus, dass es daran liegt, dass der Prozess in einem System-Kontext gestartet wird und das Skript das VeraCrypt-Fenster gar nicht finden kann, um die entsprechenden Befehle auszuführen. Was ich auch schon versucht habe: dem Aufruf der EXE einen bestimmten Benutzer mitzugeben oder auch in das AutoIt-Skript den Aufruf als "runas" zu starten -alles ohne Erfolg! ||

    Hat irgendjemand eine Idee, wie ich so was realisieren kann bzw. ob es irgendwo ein Forum, eine Hilfe gibt, wo es genau darum geht: AutoIt-Skripte mit interaktivem Desktop per Softwareverteilung auszuführen? (Bei Tante Google habe ich nichts gefunden!)

    Ich hoffe, ich habe ungefähr klargemacht, was das Problem ist und bedanke mich schon mal für das Feedback!

    Tom

  • Ruf dein Script via Startscript auf, dann sollte es gehen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hallo Tom,
    zu dem Problem habe ich im Internet vor einiger Zeit eine UDF SystemElevate.au3 gefunden. Die UDF erlaubt es aus dem System Kontext heraus die Session ID des angemeldeten Benutzers auszulesen und Kommandos unter dieser Session ID zu starten. Dein Script müsste dann so aussehen

    Das setzt natürlich voraus, dass auch ein User angemeldet ist und entsprechende Rechte hat um das Setup zu starten. Ich habe es allerdings noch nie mit Control Steuerung ausprobiert.
    Ich hoffe es hilft dir weiter.

  • Hallo,

    Danke für das Feedback! :thumbup:

    Leider bekomme ich das immer noch nicht hin ;( .
    Schon beim Debuggen bekomme ich "merkwürdige" Resultate ...

    Ich habe mal folgendes versucht (alternativ auch mit "RunProcessAsUser"!):

    run('cmd.exe /c echo 1 > C:\temp\who.log')
    run('cmd.exe /c whoami.exe >> C:\temp\who.log')

    #include "SystemElevate.au3"
    _RunWaitProcessAsUser('cmd.exe /c echo 2 >> C:\temp\who.log')
    _RunWaitProcessAsUser('cmd.exe /c whoami.exe >> C:\temp\who.log')

    _ImpersonateUserStart()
    _RunWaitProcessAsUser('cmd.exe /c echo 3 >> C:\temp\who.log')
    _RunWaitProcessAsUser('cmd.exe /c whoami.exe >> C:\temp\who.log')

    _ImpersonateUserEnd()
    _RunWaitProcessAsUser('cmd.exe /c echo 4 >> C:\temp\who.log')
    _RunWaitProcessAsUser('cmd.exe /c whoami.exe >> C:\temp\who.log')

    run('cmd.exe /c echo 5 >> C:\temp\who.log')
    run('cmd.exe /c whoami.exe >> C:\temp\who.log')

    Wenn ich das kompiliere und mit der Softwareverteilung starte bekomme ich nur folgendes in die LOG-Datei:
    1
    nt authority\system
    nt authority\system

    ... d.h. die Befehle nach dem Include laufen wohl gar nicht ab ?( .

    Ich werde mir das nochmal in Ruhe anschauen und mich ggf. hier nochmal melden -danke nochmal!!!

    Tom

  • Hallo,

    Noch zwei Bemerkungen:

    • Die hier vorgestellten "systemelevate.au3" sind NICHT identisch! D.h. die von edmann angehängte Version läuft "standalone", die von Racer verlinkte benötig noch die "_Services_Mini.au3" ...
      Welche ist aktueller, welche läuft tatsächlich???
    • Ich habe jetzt nochmal ein Debug-Skript geschrieben und dabei bemerkt, dass zumindest die "standalone"-Version NICHT so funktioniert wie erwartet. D.h. Befehle innerhalb des ImpersonateUser-Bereichs werden überhaupt nicht ausgeführt

    Ergo: Ich habe das Projekt jetzt erst mal aus Eis gelegt, nachdem ich wirklich einige Stunden da reingesteckt habe ?( .

    Ich überlege mir jetzt irgendwas anderes für die Softwareverteilung bzw. hoffe darauf, dass es irgendwann mal einen "Silent"-Schalter für die Installation von VeraCrypt geben wird ...

    Nochmal vielen Dank an alle! :klatschen:

    Tom