AutoIt 3 RunAsSet Admin Script
Also ich sitz jetz seit etlichen Tagen an dieser Aufgabe und bekomms net hin.
Ich bin dabei ein Script zu schreiben, das nach eingabe des Administrator kennwortes ein anderes Script aufruft.
Leider funktioniert hier garnix mehr^^
Also wenn man das Script ausführt öffnet sich ein GUI mit einem Eingabefeld für das Passwort und 2 Buttons für Login und Exit.
Soweit funktioniert das auch.
Wenn ich jedoch das PW eingebe, kommt die Meldung, dass das andere Script nicht aufgerufen werden konnte weil ich nicht die nötige berechtigung habe.
Des weiteren sagt er mir das der Benutzername oder das Kennwort falsch sind und ich mich deshalb nicht mit diesen anmelden könne.
Hoffe mir kann einer helfen.
Hier der Inhalt des zweiten Scripts, die wiederum ein drittes Script aufruft:
Hier das dritte und letzte Script:
Vieleicht findet ja einer was interessantes was mit weiterhilft.
Ich bin dabei ein Script zu schreiben, das nach eingabe des Administrator kennwortes ein anderes Script aufruft.
Leider funktioniert hier garnix mehr^^
Also wenn man das Script ausführt öffnet sich ein GUI mit einem Eingabefeld für das Passwort und 2 Buttons für Login und Exit.
Soweit funktioniert das auch.
Wenn ich jedoch das PW eingebe, kommt die Meldung, dass das andere Script nicht aufgerufen werden konnte weil ich nicht die nötige berechtigung habe.
Des weiteren sagt er mir das der Benutzername oder das Kennwort falsch sind und ich mich deshalb nicht mit diesen anmelden könne.
Hoffe mir kann einer helfen.
#include <GUIConstants.au3>
GuiCreate("BGinfo Installation", 300, 200,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
GUISetBkColor (0xCCE5FF)
$Label_1 = GuiCtrlCreateLabel("Passwort", 20 , 30, 200, 20)
$passwort = GUICtrlCreateInput( "" , 20, 60, 200, 20)
$Button_1= GuiCtrlCreateButton("Login" , 20, 120, 60)
$endbutton = GuiCtrlCreateButton("Beenden", 10, 150, 120, 20)
$End = GuiCtrlRead($endbutton)
$Start = GuiCtrlRead($Button_1)
GUISetState()
$msg = 0
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $endbutton Or $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button_1
exitloop
EndSelect
WEnd
If $passwort = ("passwort") Then
EndIf
RunAsSet("administrator",@ComputerName, $passwort)
Run("C:\adm\Isadmin.exe")
RunAsSet()
Hier der Inhalt des zweiten Scripts, die wiederum ein drittes Script aufruft:
If IsAdmin() Then
Msgbox(0, "Status", "Admin Rights Detected")
RunWait("C:\adm\gui.exe")
Else
Msgbox(0, "Status", "Admin Rights Not Detected")
Endif
Hier das dritte und letzte Script:
$picdir = "C:\adm\Script\Bilder"
GuiCreate("BGinfo Installation", 490, 400,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
GUISetBkColor (0xCCE5FF)
$Pic_1 = GuiCtrlCreatePic($picdir & "\logo.JPG" ,0 ,0, 490, 32)
$Pic_2 = GuiCtrlCreatePic($picdir & "\jp2.JPG" ,0 , 32, 490, 75)
$Label_1 = GuiCtrlCreateLabel("Willkommen zum Installationprogramm für BGinfo", 0 , 110, 490, 30)
$Label_2 = GuiCtrlCreateLabel("Bitte drücken Sie zum Installieren auf den Button: Installieren", 0 , 125, 490, 30)
$Label_3 = GuiCtrlCreateLabel("Zum Beenden drücken Sie bitte den Knopf beenden!", 0,140,490,30)
$Button_1 = GuiCtrlCreateButton("Installieren", 340, 350, 130, 20)
$endbutton = GuiCtrlCreateButton("Beenden", 10, 350, 130, 20)
$localdir = "C:\BGinfo"
$serverdir = "\\130.30.2.21\apps\Tools\BGinfo"
$reg = $serverdir & "\BGinfoAutoRun.reg"
GuiSetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
If $msg <> 0 Then
$End = GuiCtrlRead($endbutton)
$Start = GuiCtrlRead($Button_1)
Select
Case $msg = $Button_1
MsgBox(0, "", "Die Installation wird gestartet. Bitte warten Sie einen Moment.")
DirCopy($serverdir & "\BGinfo", $localdir, 1) ;
If FileExists( "C:\BGinfo\BGinfo.exe") AND RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "BackGround" ) Then
MsgBox(0, "", "Installation erfolgreich")
ELSE
MsgBox(0, "" ,"Installation Fehlegeschlagen")
EndIf
MsgBox(0, "" , "Bitte starten Sie den Computer neu!")
Exit
Case $msg = $endbutton Or $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
EndIf
WEnd
Func Beenden()
Exit
EndFunc
Exit
Vieleicht findet ja einer was interessantes was mit weiterhilft.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 72002
Url: https://administrator.de/forum/autoit-3-runasset-admin-script-72002.html
Ausgedruckt am: 23.12.2024 um 18:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo BKAMK2,
deine while schleife im ersten Skript sieht für mich kommisch aus.
Hier eine Beispiel while schleife:
Die Zeile 12 in deinem Skript ist unnötig bzw. Fallsch. GUICtrlRead wird benützt um für Eingabenfelder (Input, Dropdown...)
Wenn du über eine GUI eine Eingabe per Input Feld einlesen willst musst du die daten erst mal an dein Skript übergeben. Z.B über einen Button. Die ausgeführte Aktion gehört in das jeweilige case rein.
Soviel auf die Schnelle.
Für noch mehr Informationen und ausführliche Hilfe würde ich mich an deiner Stelle an das AutoIT Forum wenden.
URL: http://www.autoit.de/
In diesem Forum findest du AutoIt Spezialisten, die gerne helfen. Das kann ich aus eigener Erfahrung bestätigen.
@edit: Lass dir das übergebene Passwort in einer MsgBox anzeigen, das hilft Dir vielleicht weiter.
Gruß
0cool
deine while schleife im ersten Skript sieht für mich kommisch aus.
Hier eine Beispiel while schleife:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button_1
Exit
Case $Button_2
Exit
Case $Button_3
ShellExecute(...)
EndSwitch
WEnd
Die Zeile 12 in deinem Skript ist unnötig bzw. Fallsch. GUICtrlRead wird benützt um für Eingabenfelder (Input, Dropdown...)
Wenn du über eine GUI eine Eingabe per Input Feld einlesen willst musst du die daten erst mal an dein Skript übergeben. Z.B über einen Button. Die ausgeführte Aktion gehört in das jeweilige case rein.
Soviel auf die Schnelle.
Für noch mehr Informationen und ausführliche Hilfe würde ich mich an deiner Stelle an das AutoIT Forum wenden.
URL: http://www.autoit.de/
In diesem Forum findest du AutoIt Spezialisten, die gerne helfen. Das kann ich aus eigener Erfahrung bestätigen.
@edit: Lass dir das übergebene Passwort in einer MsgBox anzeigen, das hilft Dir vielleicht weiter.
Gruß
0cool