Ich hatte seinerzeit hier bereits nach einer Möglichkeit gefragt, mittels AutoIt ein Programm zu starten, das auf einem Server einen Task startet: [ gelöst ] AutoIt - Neuling benötigt Hilfe mit Batch
Die Syntax schaut folgendermaßen aus und funktioniert als Admin fehlerfrei:
#include <GUIConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("ZEG-Neustart", 226, 63, 193, 125)
$Label1 = GUICtrlCreateLabel("Wollen Sie den Dienst neu starten?", 18, 8, 196, 17)
$Button1 = GUICtrlCreateButton("Ja", 20, 32, 75, 25, 0)
$Button2 = GUICtrlCreateButton("Nein", 110, 32, 75, 25, 0)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$iResponse = MsgBox(36, "Bestätigung", "Sind Sie sicher?")
If $iResponse = 7 Then
MsgBox(64, "Abbruch", "Der Vorgang wurde vom Benutzer abgebrochen.", 2)
Exit
ElseIf $iResponse = 6 Then
$iResult = ShellExecuteWait("PsExec.exe", "\\servername\ -u domain\Administrator -p password -accepteula schtasks /run /TN dienst-restart", "", "", @SW_HIDE)
If $iResult <> 0 Then
MsgBox(16, "Fehler!", "Keine verbindung zum Server")
Else
$iResponse_Y = MsgBox(64, "Erfolgreich", "Der Dienst wurde neu gestartet")
If $iResponse_Y = 1 Then Exit
EndIf
EndIf
Case $Button2
$iResponse2 = MsgBox(64, "Abbruch", "Der Vorgang wurde vom Benutzer abgebrochen.")
If $iResponse2 = 1 Then
Exit
EndIf
EndSwitch
WEnd
Alles anzeigen
Führe ich die Exe allerdings als User ohne Adminrechte aus, scheitert die Authentifizierung am Server, es muss ein "Ausführen als..." her. Nur, wie bzw. wo binde ich diese Option ein, PsExec muss als Admin gestartet werden? Hier fand ich eine Anregung, wie diese Option syntaktisch umgesetzt wird, allerdings führen meine Versuche stets zu Parsing- und anderen Fehlern: [ gelöst ] "RunAs" und ausführen als Administrator funktioniert nicht
Gibt es für meine Frage eine Lösung? Ich hatte in die Zeile mit dem Aufruf von PsExec folgendes eingetragen: