Als Entwickler muss ich häufig eine Eingabeaufforderung für verschiedene Zwecke öffnen. Zum Beispiel verwende ich iisreset
, um meinen lokalen Webserver neu zu starten.
Normalerweise öffne ich das Befehlsfenster auf zwei Arten:
- Drücken Sie Win, geben Sie „cmd“ ein und drücken SieEnter
- ShiftKlicken Sie im Explorer mit der rechten Maustaste auf einen Ordner und wählen Sie "Befehlsfenster hier öffnen".
Wenn ich das Befehlsfenster jedoch auf eine dieser Arten öffne, habe ich nicht die vollen Administratorrechte, auf die ich mich berechtigt fühle.
Um nur Administratoranwendungen auszuführen, muss ich die Befehlszeile auf diese relativ mühsame Weise öffnen:
- Drücken Sie Win, geben Sie "cmd" ein
- Warten Sie, bis das Menü gefüllt ist
- Heben Sie die Hand von der Tastatur und legen Sie sie auf die Maus
- Klicken Sie mit der rechten Maustaste auf den Menüpunkt "cmd.exe"
- Wählen Sie "Als Administrator ausführen"
Dies ist aus mehreren Gründen nicht akzeptabel:
- Das Fenster wird immer in C: \ windows \ system32 geöffnet und nicht in meinem
Users
Verzeichnis (wie in genehmigter Technik 1) oder in dem Ordner, in dem ich mich befinden möchte (wie in genehmigter Technik 2). Deshalb muss ich oft die Verzeichnisse wechseln, um dorthin zu gelangen, wo ich hin möchte. - Dieser Vorgang ist einige Millisekunden langsamer als eine meiner bevorzugten Methoden. Es wird mehrmals am Tag aufgeführt, jeden Tag für den Rest meiner Karriere. Das summiert sich auf ungefähr zehn Tage verlorener Zeit, die ich mit Klicken und Warten und dem Wechseln des Verzeichnisses verbracht habe.
- Als Programmierer verursacht mir die Ausführung einer sinnlosen Roboteraufgabe große emotionale Schmerzen.
- Als Programmierer ist das Anheben meiner Hand eine anstrengende Aufgabe, die mir große körperliche Schmerzen bereitet.
Aus diesem Grund suche ich nach einer einmaligen Lösung, mit der genehmigte Techniken 1 und 2 Administratorbefehle öffnen können.
In vielen Programmen können Sie die Standardberechtigungsstufe dauerhaft über das Menü "Eigenschaften" ändern. Die Eingabeaufforderung ist nicht eines dieser Programme.
Wie kann ich festlegen, dass das Befehlsfenster standardmäßig als Administrator ausgeführt wird (auch wenn die Kontextmenüoption "Befehlsfenster hier öffnen" verwendet wird)?
Antworten:
Um den ersten Teil Ihrer Frage zu beantworten, können Sie, wenn Sie die Windows-Taste drücken und "CMD" eingeben, Ctrl+ Shift+ drücken Enter, um als Administrator zu öffnen.
Fügen Sie zur Beantwortung des zweiten Teils Ihrer Frage Folgendes in den Editor ein und speichern Sie es mit der Erweiterung ".reg":
Führen Sie dann die Datei aus. Es führt die Änderungen in der Registrierung zusammen und fügt die Option zu Ihren Kontextmenüs hinzu. (Keine Umschalttaste erforderlich.)
quelle
Die Registerkarte " Kompatibilität" ist für alle ausführbaren Dateien von Windows vollständig deaktiviert :
Um Administratorrechte für Windows ausführbare Dateien eingestellt haben , müssen Sie eine Verknüpfung erstellen und verwenden Verknüpfung Registerkarte →
Advanced
(die Eingabeaufforderung Punkt im Startmenü ist bereits eine Verknüpfung):Das ist normal und sinnvoll, da Sie beim Öffnen einer Admin-Eingabeaufforderung wahrscheinlich einige Systemaktionen ausführen, für die Sie Administratorrechte benötigen, anstatt Benutzeraktionen, für die Sie ohnehin bereits Berechtigungen haben.
Sie können das Standardverzeichnis global festlegen, indem Sie den
Autorun
Registrierungseintrag hinzufügen / bearbeiten (es muss nicht einmal eine erweiterbare Zeichenfolge sein, um Umgebungsvariablen zu verwenden):Jedes Mal, wenn Sie eine Eingabeaufforderung mit einer beliebigen Methode öffnen , wechselt das Verzeichnis (technisch gesehen ) automatisch in Ihr Benutzerprofilverzeichnis.
Noch besser ist, dass Sie weitere Befehle hinzufügen können, die automatisch ausgeführt werden, wenn Sie eine Eingabeaufforderung mit dem
&
Operator öffnen (zcd /d %userprofile% & cls & dir
. B. ). Darüber hinaus können Sie denselben Wert in demselben Schlüssel unter derHKLM
Verzweigung festlegen, um ihn für alle Benutzer festzulegen.Beachten Sie, dass Sie die UAC-Eingabeaufforderung weiterhin akzeptieren müssen. Leider gibt es (derzeit?) Keine Möglichkeit, eine UAC-Whitelist mit vertrauenswürdigen Programmen zu erstellen, sodass die Eingabeaufforderung als Administrator ausgeführt werden kann, ohne dass die Eingabeaufforderung akzeptiert werden muss. Dies lässt Ihnen (ein) paar Möglichkeiten.
useraccountcontrolsettings.exe
).Im ersten Fall vermeiden Sie die Benutzerkontensteuerung insgesamt, während Sie in den letzten beiden Fällen Ihre Anmeldeinformationen nur einmal eingeben, wenn Sie die Verknüpfung erstellen.
quelle
cd /d "%userprofile%"
Wenn dieser Wert festgelegt ist, wird nicht nur beim Öffnen eines neuen Konsolenfensters eine automatische Ausführung ausgeführt, sondern auch jedes Mal, wenn ein neuer Ausführungsthread aufgerufen wird. Dies kann beispielsweise beifor /f
Schleifen zu Problemen führen . Versuchen Sie dies an einer Eingabeaufforderung von cmd:cd "\Program Files"
thenfor /f "delims=" %I in ('cmd /c cd') do @echo %I
. Sie werden sehen, dass diefor /f
Schleife denkt, dass das aktuelle Arbeitsverzeichnis $ home und nicht Program Files ist. Es ist sicherer, diecmd
Verknüpfung zu ändern und das Ziel als festzulegen"%comspec%" /k cd /d "%userprofile%"
.%comspec% /c cd /d "%USERPROFILE%" & %comspec%
Die Lösung, die ich verwende, besteht darin, die Eingabeaufforderung zu öffnen, indem ich das Startmenü öffne, 'cmd' eingebe und Ctrl+ Shift+ drücke Enter. Dadurch wird das ausgewählte Programm als Administrator gestartet.
quelle
Um die automatische Ausführung
CMD
als Administrator jedes Mal ist es einfach geklickt wird (ohne mit der rechten Maustaste oder zusätzliche Verknüpfungen erstellen), gibt es eine einfache Lösung für dieses:Navigieren Sie im Registrierungseditor zu:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
Layers
Ordner gibt , müssen Sie einen erstellen und benennen:Klicken Sie mit der rechten Maustaste auf den
AppCompatFlags
Ordner, und wählen Sie New→KeyKlicken Sie mit der rechten Maustaste
Layers
und wählen Sie New→ String Value. Setzen Sie den Namen Ihres neuen Zeichenfolgenwerts auf den vollständigen Pfad zurCMD.EXE
Eingabeaufforderung (ieC:\Windows\System32\cmd.exe
).Doppelklicken Sie auf den neuen Zeichenfolgenwert, um ihn zu ändern, und setzen Sie die "Wertdaten" auf
RUNASADMIN
.Ich hatte den gleichen Ärger, und das hat bei mir funktioniert.
quelle
Wenn Sie möchten, dass CMD.exe immer als Administrator ausgeführt wird, fügen Sie einfach den folgenden Registrierungscode zu Ihrer Registrierung hinzu:
quelle
Es gab ein paar Tools, die ich verwendet habe und die andere Problemumgehungen waren (zusätzlich zu dem, was Jesse erwähnt hat).
Damals , als Vista zum ersten Mal erschien, kam Microsoft mit einem „heraus heben “ Powertoy , die sehr nützlich und hat seine Aufgabe erfüllt war und, wie ich glaube (nicht getestet) funktioniert für Windows 7. Sie ihn auf Ihrer Pfadumgebung Tropfen und man konnte laufen "elevate iisreset" von einer normalen Eingabeaufforderung aus (oder sogar "elevate cmd" vom Start / Ausführen aus oder eine Verknüpfung erstellen)
quelle
Der einfachste Weg, um den Kummer der Benutzerkontensteuerung usw. zu umgehen, besteht darin, einen Task-Zeitplan-Eintrag einzurichten, um cmd.exe mit den höchsten Berechtigungen auszuführen. Erstellen Sie kein Auslöseereignis dafür und stellen Sie sicher, dass das Kontrollkästchen Task bei Bedarf ausführen zulassen auf der Registerkarte Einstellungen aktiviert ist. Stellen Sie auch auf der Registerkarte "Einstellungen" sicher, dass in der Dropdown-Liste "Wenn der Task bereits ausgeführt wird, gilt die folgende Regel" die Option "Keine neue Instanz starten" ausgewählt ist.
Erstellen Sie dann eine Verknüpfung zu diesem Thema auf Ihrem Desktop, und führen Sie sie von dort aus aus, oder verwenden Sie eine Tastenkombination, oder stecken Sie die Verknüpfung in die Taskleiste.
Ich habe es auf meinem Windows 7-System gemacht und es funktioniert einwandfrei.
quelle
Kopieren Sie cmd.exe, fügen Sie sie ein und benennen Sie sie in \ system32 \ folder in "cmda.exe" um (337 KB sind noch keine große Sache ...). Die Option "Als Administrator ausführen" in den Eigenschaften von cmda.exe ist nicht mehr abgeblendet, und Sie können festlegen, dass sie immer als Administrator ausgeführt wird. Sie haben jetzt zwei Eingabeaufforderungen: Die erste ist regulär, die zweite hat ein (a) dmin-Privileg. Es ist so einfach, "cmda" in die WinSuchleiste einzugeben, wie Sie es mit " cmd" tun!
Stellen Sie für das Kontextmenü cmd in mit Administratorrechten sicher, dass Sie bereits cmda.exe installiert haben, fügen Sie diese in die neue .reg-Datei ein und starten Sie sie
Im Kontextmenü sehen Sie zwei gleiche Zeilen (Shift); Eine nicht erhöhte Eingabeaufforderung und eine andere mit dem Zusatz "(Administrator)".
Das ist es...
quelle
Erstellen Sie eine Verknüpfung zu cmd.exe, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften aus. Wählen Sie auf der Registerkarte Verknüpfung die Option Erweitert aus und aktivieren Sie Als Administrator ausführen.
quelle
Ich denke, die einfachste Möglichkeit, cmd immer als Administrator auszuführen, besteht darin, die .reg-Datei mit dem folgenden Code zu erstellen:
Füge das in den Editor oder so ein und speichere es als .reg Datei. Hinweis: Dadurch wird die Eingabeaufforderung für alle Benutzer als Administrator ausgeführt. Um immer nur auf Ihrem Benutzer als Administrator auszuführen, ändern Sie einfach HKEY_LOCAL_MACHINE in HKEY_CURRENT_USER
quelle
Vielen Dank an Jesse Brohinsky
Eine verbesserte Version. Dazu gehört auch das Hintergrundverzeichnis, mit dem Sie cmd auch aus dem Ordner heraus öffnen können. Außerdem können Sie das Kommando Promt als Nicht-Administrator öffnen.
Sie können auch AdminApprovalMode deaktivieren. Auf diese Weise müssen Sie nicht als Administrator ausgeführt werden, wenn Sie Administrator sind. http://helpdeskgeek.com/windows-7/turn-off-admin-approval-mode-in-windows-7/
quelle
Die einzige andere als die von Dracs erwähnte Möglichkeit besteht darin, die Benutzerkontensteuerung vollständig zu deaktivieren
quelle
Folgendes funktioniert für mich
Sie werden die gleiche uac-Eingabeaufforderung erhalten, die Runas Admin bestätigt. Ich habe sie vor einiger Zeit bei StackExchange gefunden
quelle