hilfe mit registry und runas

  • hallo,

    jetzt habe ich die ersten 3 Seiten von Google das Englische Tutorial, das Deutsche und verschiedenste Foren durch, verschiedene Sachen durchprobiert, aber klappt einfach nicht und ich könnte Heulen. (schon seit 2 Tagen am rumprobieren)

    2 supersimple Sachen und es klappt ums verrecken nicht wie es soll ;( ich frage mich echt ob ich nicht Bäcker werden soll langsam...

    1 Script liegt in c:\sack\testscript.exe

    Spoiler anzeigen

    RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName", "REG_SZ", "123")

    wenn ich die 1. exe mit rechtsklick "öffnen als administrator"-blubb ausführe tadaaa der Registrywert wird zu 123

    2 Script soll die testscript.exe Ausführen und es will ums verrecken nicht funktionieren (runas, runaswait, prozess ID wird erstellt wenn ich es dementsprechend in eine Variable packe und ausgeben lasse)

    Spoiler anzeigen

    RunAs("USERNAMEmitADMINrechten", @ComputerName, "DasPassendePasswort",0,"c:\\sack\\testscript.exe")

    sollte ja eigentlich so funktionieren das das 2te programm das erste mit Adminrechten aufruft und der Registrywert gesetzt wird.
    aber es will nicht funktionieren. :S ;( bin kurz vorm Herzkasper und Tastatur hat schon bissspuren

    in ner Admin-CMD und dem runas befehl kann ich die 1. exe auch triggern aber der Schlüssel wird nicht gesetzt. :pinch:
    Nur mit Rechtsklick und meinem Adminaccountdaten gehts :cursing: :rofl: :wacko:

    ich bin für jegliche hilfe dankbar

  • RunAs("USERNAMEmitADMINrechten", @ComputerName, "DasPassendePasswort",0,"c:\\sack\\testscript.exe")

    funktioniert nicht weil du bei der Pfad angabe 2 Backslashs gemacht hast versuchs mal so:

    RunAs("USERNAMEmitADMINrechten", @ComputerName, "DasPassendePasswort",0,"c:\sack\testscript.exe")

  • bin grade nochmal aufgestanden.

    daran liegt es auch net... die verison ohne die 2 backslashes funkt auch net... (grade nochmal getestet)

    selbst wenn ich die 2te exe mit adminrechten starte passiert nix

    die erste rechtsgeklickt als admin ausführen (gleichen logindaten wie mein adminacc) schreibt den wert.

    hätt ich n strick würd ich schon baumeln... :wacko:

  • Kannst ja auch mal das porbieren.


    [autoit]

    RunAs($admin, $domain, $password, 0, @ComSpec & " /c " & 'reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /t REG_SZ /d "123" /f')

    [/autoit]


    LG

    Schnuecks

  • hmm danke für die vielen Vorschläge!

    es handelt sich im übrigen um ein windows 7 system (prof.)

    ich habe es nun nochmal getestet.

    es g e h t nicht . :( ich werd noch wahnsinnig...

    bin heute dahintergestiegen das es explizit an den berechtigungen liegt.

    ok also nach einem erfolglosen tag auf der arbeit, sitz ich jetzt wieder mal zuhause (auch win 7 prof) und versuch es mit dem letzten vorschlag.

    extra NEUEN admin angelegt.
    name - sinnigerweise "admin"
    passwort... "admin"
    Domäne - keine Domäne zuhause?! hier pc namen eingetragen?! "Zock-PC"

    damit den letzten codeschnipsel getestet... keine chance da rührt sich nix in der Registry.

    Code
    #RequireAdmin
    
    
    $admin = "admin"
    $domain = @ComputerName
    $password = "admin"
    
    
    RunAs($admin, $domain, $password, 0, @ComSpec & " /c " & 'reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "DefaultUserName" /t REG_SZ /d "1sdfgsdfg23" /f')

    sogar das vorgestellte #require admin und die bestätigung vorm ausführen bringt keinen erfolg.
    der Registry wert ändert sich nicht. hab parallel die registry offen und kann doch unter admin/admin den wert munter verändern... MANUELL.. :cursing: *NARF*

    also das erste Script oben (exe) ändert mir wie gehabt bei Aufruf mit rechtslick Admin fein den Registry Wert.

    Nur wenn ich ich die erste Datei per Autoit RunAs triggern möchte und ihm explizit die Daten von nem Admin Account hinterherwerfe geht es nicht (mit Zeigefinger an der Lippe sabbernd den Kopf auf die Tastatur hämmer)

    Rufe ich RunAs falsch auf?
    Wie kann ich mir ne fehlerausgabe bauen, die mich weiterbringt.

    Mir scheint ich habe trotz Angabe der Admin Daten immer noch keine Berechtigung. Liegt das an Win 7 ? relative Mondfeuchte kanns nicht sein, auf der Arbeit spackt win 7 genauso rum.
    Win Xp hab ich noch nicht getestet.

    am liebsten würde ich den Schinken aus dem 3ten Stock beschleunigen bei 9,81 m die Sekunde ... hilft mir aber auch net weiter

    ps : verscheidene flags hab ich durch - nüscht

  • hmmmm bin wohl auf dem richtigen weg.

    1. exe

    Code
    RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName", "REG_SZ", "asdfasdf123")

    2.exe

    Code
    RunAsWait("admin", @ComputerName, "admin",2,"v:\neuerordner\registryTEST.exe")

    die erste exe rechtsklick als admin ausführen -> reg wert geändert

    regwert zurückgesetzt

    die 2te exe ohne rechtsklick -> nix,
    mit rechtsklick admin -> ändert wert.

    aber das genau soll ja nicht sein ich muss von einem user unter dem das laufen soll mit absolut bescheidenen rechten einen wert ändern lassen per 2ter datei welche ja eigentlich die admin rechte auf die 1ste übertragen sollte und ausführt.

    *hanfseil flecht* liegt ja auch net an 64 bit auf der arbeit hab ich ein 32 bit win 7, zuhause 64 bit. beide zeigen das gleiche verhalten.

    ps : funktioniert nur mit flag 2 sonst nicht. 0,1,3 geht net, bekomme dieses verhalten nur hin wenn ich flag auf 2 gesetzt hab.

    ------------------------------------------------------------------------------------------------------------------------------------------

    pps: ok habs mal ein wenig umgedichtet also in der registryTEST.exe die er triggern soll steht folgendes:

    Code
    MsgBox(0, "", "REGWERT SETZEN GESTARTET",1)
    RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName", "REG_SZ", "asdfasdf123")

    und die datei die registryTEST.exe aufrufen soll :

    jetzt das, was ich nicht verstehe:
    doppelklick auf die datei -> registryTEST.exe wird ausgeführt "Admin-Rechte nicht erkannt" -> regwert aber NICHT gesetzt.

    rechtsklick als admin ausühren -> registryTEST.exe wird ausgeführt "Admin-Rechte erkannt" -> regwert wird gesetzt.

    latein -> ende ;(

    Einmal editiert, zuletzt von bonehead88 (14. September 2010 um 21:47)

  • Hallo bonehead88,

    Zitat von Hilfe zu runas

    Es ist wichtig, ein Arbeitsverzeichnis anzugeben, für den der Benutzer Zugriffsrechte hat, in dessen Kontext der Prozess ausgeführt wird, anderenfalls schlägt der Aufruf der Funktion RunAs() fehl.

    ps : funktioniert nur mit flag 2 sonst nicht. 0,1,3 geht net, bekomme dieses verhalten nur hin wenn ich flag auf 2 gesetzt hab.


    3 gibt es gar nicht aber 4 hast du anscheinend noch nicht getestet. Des weiteren solltest du nachschauen, ob der Regkey bei dem User ohne Adminrechte eingetragen wird

    mfg autoBert

  • hallo ^^
    hab flag 4 grade probiert nur mit flag 2 ein teilerfolg.
    aber rechtsklick ausführen als admin da kann ich die registry gleich per hand editieren... soll ja automatisch laufen.

    user admin ist mitglied der grp administratoren - v: ist kein netzlaufwerk und die administratoren haben vollzugriff.

    nochmal nen normalen benutzer angelegt grp benutzer

    profil geladen die exe gestartet - keine adminrechte, -> die registryTEST.exe wird zwar gestartet (seh ich ja anhand der msgbox) aber der wert wird nicht gesetzt.

    workingdir hab ich jetzt so gesetzt :

    Code
    If Not IsAdmin() Then
    	MsgBox(0, "", "Admin-Rechte nicht erkannt.",1)
    	Sleep(2000)
    	RunAsWait("admin", @ComputerName, "admin",2,"registryTEST.exe", "v:\neuerordner")
    	EndIf

    Einmal editiert, zuletzt von bonehead88 (14. September 2010 um 22:46)