RunAsSet gibt es nicht mehr???

  • hi,

    viele meiner scripte nutzen den RunAsSet aufruf um die dinger mit admin-rechten zu starten.

    jetzt musste ich festellen, dass es die function nicht mehr gibt, und wohl durch RunAs ersetzt wurde.

    kann das sein???

    RunAsSet konnte ich am anfang des scriptes plazieren und mit RunAsSet() beenden, jetzt muss ich wohl

    jeden einzelnen befehl im script mit RunAs aufrufen???


    oder gibt es jetzt einen ersatz fuer RunAsSet und RunAsSet() der ganz anders heisst?


    so long


    sam

    • Offizieller Beitrag

    Hallo,

    Du siehst das vollkommen richtig das RunAsSet weggefallen ist und dafür jetzt RunAs und RunAsWait existiert! Es ist aber kein großer Verlust da sich RunAsSet eh nur auf die Befehle Run und RunWait ausgewirkt haben.

  • Hallo,

    ich habe RunAsSet immer im Zusammenhang mit RunWait verwendet, um DOS-Befehle als ein bestimmter Nutzer abzusetzen.

    [autoit]

    RunWait(@ComSpec & " /c " & "commandName")

    [/autoit]


    RunAsWait gibt mir laut Hilfe die Möglichkeit nicht mehr. Wie kann ich stattdessen vorgehen?

    lmgpower

  • Äh, kannst du mir verraten, was der Unterschied zwischen

    [autoit]

    RunAsWait("USERNAME", "DOMAIN", "PASS", 4, "DEIN KOMMANDO")

    [/autoit]

    und dem ist? (außer, das es 2 Befehle sind?

    [autoit]

    RunAsSet("USERNAME", "DOMAIN", "PASS", 4)
    RunWait("DEIN KOMMANDO")

    [/autoit]
  • Das Problem besteht dann wohl in der Hilfe

    [autoit]

    RunAsWait ( "username", "domain", "password", logon_flag, "filename" [, "workingdir" [, show_flag [, opt_flag ]]] )

    [/autoit]


    Da steht nichts von "commandName". Wenn du aber sagst, dass ich statt

    [autoit]

    "filename"

    [/autoit]

    auch

    [autoit]

    @ComSpec & " /c " & "commandName"

    [/autoit]

    nutzen kann, dann hat mir das schon geholfen.

  • Hallo,

    Du siehst das vollkommen richtig das RunAsSet weggefallen ist und dafür jetzt RunAs und RunAsWait existiert! Es ist aber kein großer Verlust da sich RunAsSet eh nur auf die Befehle Run und RunWait ausgewirkt haben.

    Das kann ich so nicht unterschreiben.
    Ich nutze in einem Script zb: folgendes um eine INI anzupassen die für den user nicht zugreifbar ist:

    [autoit]

    RunAsSet("installer", @ComputerName, $installer)
    IniWrite ( $pbkfile, $Dialup, "PreviewUserPw", "1" )
    RunAsSet()

    [/autoit]

    Aber wie soll ich das jetzt machen?

    Jemand einen Tip?

  • Das kann ich so nicht unterschreiben.
    Ich nutze in einem Script zb: folgendes um eine INI anzupassen die für den user nicht zugreifbar ist:

    [autoit]

    RunAsSet("installer", @ComputerName, $installer)
    IniWrite ( $pbkfile, $Dialup, "PreviewUserPw", "1" )
    RunAsSet()

    [/autoit]

    Aber wie soll ich das jetzt machen?

    Jemand einen Tip?


    Das hat noch nie funktioniert... RunAsSet hat sich nur auf Run-Funktionen ausgewirkt.

  • mikexmagic
    kann es sein, das du alte theards ausgräbst um posts zu bekommen?^^

    und könnte es sein das du geantwortet hast um nen post zu bekommen
    und könnte es sein dass ich geantwortet habe weil ich unbedingt nen post mehr wollte :D

    is doch schwachsinn

    er hat sein problem wahrscheinlich gegoogld und kam hierher. gut das es leute gibt die die SuFu auch nutzen ;)
    90% der threads mit einem problem gabs wahrscheinlich schonmal

  • Hey Leute,

    schön dass ihr euch um meine Postanzahl gedanken macht ... :rofl:

    Aber mal im ernst, ich nutze tatsächlich in einem Script den RunAsSet um in eine INI zu schreiben. Bzw ist das die PBK-Datei für die DFÜ-Einträge unter AllUsers. Dort hat der 'normale User' aber keine Schreibrechte. So wie oben angegeben kann ich den Eintrag aber ändern. Ohne RunAsSet aber nicht... Probiert es aus...

    Jetzt steh ich da mit meinem Talent und muss die INI (PBK in Form einer INI) irgendwie mit einem RunAs ändern.

    Und dafür suche ich jetzt Tips oder Ideen...

    Gruß
    der Punkteposter....

    Nachtrag:
    also ich habe mir jetzt geholfen indem ich den INIWrite-Befehl in eine extra Script gepackt habe. Das sieht dann so aus:

    [autoit]

    If $CmdLine[0]<4 Then
    msgbox(0,"use","use: iniwrite.exe <ini file> <section> <value name> <new value>" & @lf & "eg: iniwrite.exe ""C:\boot.ini"" ""boot loader"" ""timeout"" ""5""")
    Exit
    else
    $inifile=$CmdLine[1]
    $section=$CmdLine[2]
    $valuename=$CmdLine[3]
    $value=$CmdLine[4]
    Endif

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

    IniWrite ( $inifile, $section, $valuename, $value)

    [/autoit]

    und im Hauptscript lass ich dann per RunAsWait die neue exe ausführen:

    [autoit]

    RunAsWait("installer", @ComputerName, $installer,0,@Tempdir & "\IniWrite.exe """ & $pbkfile & """ """ & $Dialup & """ """ & "PreviewUserPw"" ""1""","C:\Windows",@SW_HIDE)

    [/autoit]

    Klar, man könnte jetzt das ganze noch professioneller machen mit Errorabfrage und so. Aber für meine Zwecke reicht es jetzt erst mal. quick and dirty....

    Wenn aber jemand eine schönere Lösung hat eine INI per Commandozeile zu ändern... immer her damit!

    Gruß Mike

    2 Mal editiert, zuletzt von mikexmagic (4. Februar 2010 um 11:48)