Ich möchte nur, dass die UAC-Eingabeaufforderung nach der net.exe [.] Gefragt wird. Ist dies möglich?
Nach meinem besten Wissen ist die Antwort wahrscheinlich "Nein".
Die Benutzerkontensteuerung wird angezeigt, nircmd
sodass sie net start
mit den entsprechenden erhöhten Berechtigungen ausgeführt werden kann (die von Windows benötigt werden). Diese Erhebung muss vor dem net start
Ausführen erfolgen. Nach meiner Erfahrung gilt dies im Allgemeinen für viele Programme oder Skripte von Drittanbietern, die eine ähnliche Funktion ausführen.
Elevate ist eine Ausnahme (dh es wird Net Command
in der Benutzerkontensteuerung angezeigt ), unterdrückt jedoch das Konsolenfenster nicht wie dies der nircmd
Fall ist.
Danach möchte ich nicht, dass das Konsolenfenster angezeigt wird.
Obwohl bei anderen Lösungen (z. B. elevate.exe
einem .vbs
Skript) möglicherweise ein Konsolenfenster angezeigt wird, wird nach dem Ausführen kein neues Konsolenfenster angezeigt nircmd elevatecmd execmd net start example_service
.
Das Konsolenfenster unterdrücken
Während es wahrscheinlich nicht möglich ist, net.exe
in der Benutzerkontensteuerung angezeigt zu werden, können Sie das Konsolenfenster für die Batchdatei unterdrücken (was sich ehrlich anhört, ist Ihr wahres Ziel, wenn ich die Dinge nicht zu sehr falsch interpretiere):
Erstellen Sie eine
.bat
Datei zBstart_service.bat
mit dem Folgenden:C:\path\to\nircmd.exe elevatecmd execmd net start example_service
Erstellen Sie eine neue Verknüpfung, um diese
.bat
Datei auszuführen . Machen Sie das Ziel ähnlich dem folgenden:C:\path\to\nircmd.exe execmd C:\path\to\start_service.bat
Wenn in diesem Beispiel diese Verknüpfung verwendet wird (nicht .bat
direkt die Datei), wird nur die Aufforderung zur Benutzerkontensteuerung angezeigt (es wird kein Konsolenfenster angezeigt).