Programmstart mit anderen Benutzerdaten per AutoIT

Im Rahmen von Projekten oder auch im Alltag gibt es Situationen, wo es Sinn machen kann, dass ein Anwender mit anderen Benutzerdaten eine Authentifizierung machen kann. In diesem kleinen Beispiel wird der „Druckdienst“ gestoppt und das System nach spätestens 60 Sekunden durchgestartet werden.

#include <MsgBoxConstants.au3>
#include <Process.au3>
 
RunAsWait( "user_stopservice", "domain.local", "securePassword", 0, @ComSpec & " /c " & 'net stop spooler', "", @SW_HIDE)
MsgBox($MB_SYSTEMMODAL, "Neustart erforderlich", "Ein Neustart wird in 60 Sekunden durchgeführt.", 60)
shutdown(6)

Somit kann man für kleine Themen einen Anwender mit erweiterten Berechtigungen ausstatten ohne im gleichen Atemzug ihm weitreichende Berechtigungen im System zu vergeben. Dieser Ansatz kann zum Beispiel auch für Installationen von Software oder andere Routinen verwendet werden.
Durch den Befehl „RunAsWait“ wird auf die Ausführung des Skriptes gewartet, was einen sicheren Übergang bei mehreren Zeilen Programmaufrufen gewährleistet.