Hallo zusammen,
ich habe ein etwas spezielles RunAs Problem.
Ausgangslage
Ich möchte als Benutzer mit AutoIt einen geplanter Task erstellen. Das klappt auch, allerdings nur, wenn der Benutzer lokaler Admin ist. Gut, das scheint von M$ so zu sein.
Also habe ich ein zweites Script gemacht, welches mit
#RequireAdmin
[/autoit]Administratoren Rechte beantragt.
Danach wird der Benutzer, um welchen es geht, zu den lokalen Administratoren hinzugefügt. (Auch das klappt)
Nun wird mit RunAsWait das Ursprüngliche Script aufgerufen, in der Hoffnung, dass es nun unter diesem Benutzer läuft. (Dies muss es, weil sonst der Benutzer diesen Task gar nicht sehen oder ausführen kann.
Doch das Script bei RunAsWait wird immer als Administrator ausgeführt!
Script1
[autoit]#RequireAdmin
Opt("MustDeclareVars", 1)
FileInstall("U:\2_Projekte\AutoIt\CreateTask\Task.exe", @TempDir & "\Task.exe", 1)
Dim $Username = InputBox("Enter the Username", "Please enter the Username which want's to start this program finally:" & @LF & "(User with no Admin-rights!)", @UserName)
Dim $Password = InputBox("Please enter the password", 'Please enter the password for this user "' & $Username & '"', "", "*")
Run(@ComSpec & " /c " & "Net Localgroup Administrators " & @LogonDomain & "\" & $Username & " /Add", "", @SW_HIDE)
Run(@ComSpec & " /c " & "Net Localgroup Administratoren " & @LogonDomain & "\" & $Username & " /Add", "", @SW_HIDE)
RunAsWait($Username, @LogonDomain, $Password, 2, @TempDir & "\Task.exe", @TempDir)
[/autoit][autoit][/autoit][autoit]Run(@ComSpec & " /c " & "Net Localgroup Administrators " & @LogonDomain & "\" & $Username & " /Delete", "", @SW_HIDE)
Run(@ComSpec & " /c " & "Net Localgroup Administratoren " & @LogonDomain & "\" & $Username & " /Delete", "", @SW_HIDE)
Script Task.exe
[autoit]MsgBox(0, "", @UserName)
;Other things to do....
Return 1
Die Scripte sind natürlich gekürzt auf das wesentliche Problem!
Kann mir jemand helfen? Im Task.exe kommt als @UserName immer der Admin!
Das Hinzufügen und Entfernen zu den Gruppen funktioniert einwandfrei!
Gruss Veronesi