Ich frage mich, ob es möglich ist, eine Batchdatei automatisch als Administrator zu öffnen, wenn Sie auf die Batchdatei doppelklicken, da die Befehle mit Administratorrechten ausgeführt werden müssen.
Hinweis: Ich kenne bereits die Lösung für das Klicken mit der rechten Maustaste auf die Datei und das Klicken auf Run As Administrator
, dies ist jedoch keine automatische Lösung.
windows-7
batch-file
Antp
quelle
quelle
Antworten:
Ja, Sie können eine Batchdatei mit Administratorrechten ausführen. Leider können Sie dies nicht direkt aus der Batch-Datei heraus tun. Sie müssen zuerst eine Verknüpfung dieser Batchdatei erstellen und die Eigenschaften für diese Verknüpfung ändern, damit dies funktioniert.
Um eine Verknüpfung zu erstellen, gibt es viele Möglichkeiten. Die einfachste und schnellste Möglichkeit ist jedoch die Verwendung der Option Senden an im Kontextmenü.
Natürlich können Sie die Verknüpfung auch an einen beliebigen Ort senden. Gehen Sie folgendermaßen vor, um die Batchdatei für die Ausführung als Administrator zu erhöhen:
quelle
if "%~1" == "" start %USERPROFILE%\Desktop\Shortcut.lnk && GOTO :EOF
rechts unten einfügen@echo off
und den Verknüpfungslink zuprogram.bat a
anstatt nur zu erstellenprogram.bat
.Wie in einer Antwort von Ben Gripka auf eine andere Frage geschrieben:
quelle
Die akzeptierte Antwort funktioniert tatsächlich. In Windows 7 musste ich den UAC-Dialog jedoch jedes Mal aushalten, wenn auf die Verknüpfung geklickt wurde. Diese IMHO lenkt erheblich vom "automatisch" in dieser Frage ab!
Dann stellte ich fest, dass in meiner eigenen Situation die
.bat
betreffende Datei von Task Scheduler ausgeführt werden soll. In diesem Fall kann das Problem durch Aktivieren derRun with highest privileges
Option auf derGeneral
Registerkarte der Aufgabe behoben werden. Der.bat
wird dann als Administrator problemlos ausgeführt.PS: Ich wusste nicht, dass ich mit dieser Antwort keine Bilder hochladen konnte, weil ich gerade einen schönen kleinen Screenshot bei mir habe! Oder kann ich?
quelle
unter Windows 7
Erstellen Sie eine Verknüpfung zu dieser Batch-Datei
Klicken Sie mit der rechten Maustaste auf die Verknüpfungsdatei
Klicken Sie auf die Schaltfläche "Weiter" , um ein Kontrollkästchen für die Ausführung als Administrator zu finden
Überprüfen Sie den Screenshot unten
quelle
Sie können mein Skript Batch_Admin verwenden, um den Administrator automatisch für die Verwendung in jedem Typ von Batch-eigenem Skript, BAT oder CMD zu erhöhen. Diese Funktion gewährleistet die Arbeit in einer Standardumgebung, mit Standardwerkzeugen und auf die gleiche Weise in verschiedenen Windows-Systemen. Es werden mehrere standardmäßige und integrierte Windows-Befehle verwendet. Verwenden Sie keine anderen externen Skripte. Es kann verwendet werden, um ein beliebiges Programm als Administrator aufzurufen, nicht nur Scripts Batch. Es reicht aus, ein kleines Skript zu erstellen, das dann das Programm aufruft, das die Berechtigung Administartor benötigt. Platzieren Sie dies in einem beliebigen Suchpfadordner (von% PATH%).
Um es zu verwenden, fügen Sie einfach die folgende Zeile (genau wie) in das übergeordnete Stapelskript ein, das als Administrator ausgeführt werden soll. Dies geschieht am besten am oberen Rand unseres übergeordneten Skripts und es ist am besten, dass zuerst einige Unterskripte, die über den CALL aufgerufen werden, weiter unten ausführlich erklärt werden.
Dies kann in jedes untergeordnete Skript eingefügt werden, das mit der CALL-Syntax aufgerufen wird. Um eine Nachricht anzuzeigen, solange sie noch nicht über Administratorrechte verfügt, z. Setzen Sie vor dem Aufruf von Batch_Admin für 5 Sekunden die Variable "ShowAdminInfo" auf die Anzahl der Sekunden
So funktioniert es:
• Ruft UAC.ShellExecute über VBScript auf, um Benutzerberechtigungen abzurufen
• Batch führt das Skript oder BAT oder CMD aus
• Skriptanrufer können lange Namensräume in Anführungszeichen enthalten
• Geben Sie alle Parameter zurück, die das über die Befehlszeile übergebene Masterskript aufruft, als ob keine Übertragung des Aufrufs stattgefunden hätte, und beginnen Sie etwas von vorne, auch mit Sonderzeichen wie Ausrufezeichen (!) Und Prozentzeichen (%) sowie mit Klammern ()
• Hält einen Master-Skript-Speicherort, wenn der Aufruf in dem Verzeichnis erfolgte, in dem dieses Skript der Master ist
• Auxiliary zeigt eine Meldung an, wenn wir die Variable "ShowAdminInfo" vor uns setzen, z. für 5 Sekunden, die den sofortigen Übergang der Rechte des Administrators verhindern können, der zusätzliche Informationen und die Möglichkeit einer informierten Entscheidung gibt. Beispiele für die Einstellung, die festgelegt werden muss: SET ShowAdminInfo = 5 Da diese Variable nicht definiert ist, wird sie standardmäßig nicht angezeigt.
• Das Skript ruft auch den Systemsuchpfad% PATH% und eine Netzwerkressource auf, z. B .: \ Computer \ share \ test.bat
• Verhindert Missverständnisse beim Schreiben der erforderlichen Hilfsdateien, wenn das Skript fast gleichzeitig mehrere Batch_Admin aufruft. Es wird die Zufallszahl von 1 bis 100 verwendet
• Am besten verwenden Sie es jedoch im übergeordneten Skript. Der Übergang zu Administratorrechten setzt immer voraus, dass Sie das Skript in einem neuen Fenster in einer neuen Umgebung erneut vollständig ausführen, ohne auf die zuvor in unserem Skript festgelegten Variablen zurückzugreifen, und die Werte dieser Variablen wurden dann nicht an den Aufruf als Administrator übergeben . Nur das Skript wird erneut ausgeführt.
Unten ein vollständiges Skript Batch_Admin. Erweiterte Informationen dazu finden Sie auf meiner Seite.
Kopieren Sie den folgenden Text in den Editor und speichern Sie ihn auf der Festplatte als: Batch_Admin.bat
quelle
Alternativ können Sie eine zweite Batch-Datei erstellen, mit der Sie alles als Administrator ausführen können, während Sie das Administratorkennwort nur einmal eingeben. Das Kennwort wird in einem Authentifizierungstoken gespeichert und erfordert, dass ein echter Computer weiß, wie man es knackt.
quelle
Dies funktioniert auch SOURCE: https://social.technet.microsoft.com/Forums/windows/en-US/bc8a4561-d97e-4339-9b1c-9b90e54a7f92/request-elevation-inside-cmdbatch-file
quelle
Sie können ein Befehlszeilenprogramm verwenden
elevate
. (Download-Link - https://drive.google.com/open?id=0Bz7qe_olclTwVGZLUklFMHNxQ00 )quelle
Es ist ein Beispiel, um die Fledermaus als Administrator auszuführen. Für mich geht das.
Es geht so:
quelle