Gute Antwort. Ich habe hinzugefügt und bearbeitet, damit es in einer Befehlszeile ausgeführt wird!
Preet Sangha
1
Ich habe damit eine Batch-Datei erstellt und sie als admincmd.bat in meinem Windows-Ordner gespeichert. Ich muss also nur "admincmd" eingeben und die Eingabetaste drücken. Daraufhin wird eine Admin-cmd geöffnet. (Ich habe der Batch-Datei auch eine weitere Zeile hinzugefügt mit " exit "so schließt es das nicht admin cmd Fenster)
Tony Brix
Warum platzieren Sie nicht das cmd (und alle Parameter) am Ende. Der Befehl ist vom Standpunkt der Lesbarkeit aus ungerade.
Eric Fossum
38
Laut Dokumentation ist das Windows-Sicherheitsmodell ...
gewährt nicht immer Administratorrechte. Selbst Administratoren werden unter Standardberechtigungen ausgeführt, wenn sie nicht administrative Aufgaben ausführen, für die keine erhöhten Berechtigungen erforderlich sind.
Sie haben die Option Diese Aufgabe mit Administratorrechten erstellen im Dialogfeld Neue Aufgabe erstellen ( Task-Manager> Datei> Neue Aufgabe ausführen ), es gibt jedoch keine integrierte Möglichkeit, Berechtigungen über die Befehlszeile effektiv zu erhöhen.
Es gibt jedoch einige Tools von Drittanbietern (die intern auf Windows-APIs basieren), mit denen Sie die Berechtigungen über die Befehlszeile erhöhen können:
Danke, nircmdc elevate route delete 0.0.0.0 mask 0..0.0 192.168.1.1endlich funktioniert. Die anderen runas /user:...Möglichkeiten führten zur Eingabe eines Kennworts, obwohl Sie bereits Administrator waren (Batch-Modus beendet).
Marcos
Vielen Dank fürnircmdc elevate cmd
Tim
4
Erstellen Sie nach der Installation eine Datei in Ihrem Pfad mit folgendem Inhalt nircmd, damit es wie Linux funktioniert : . Dann können Sie zum Beispiel tunsudosudo.batnircmd elevate %*sudo net stop W3SVC
Kip
1
Ich denke, Windosu ist bei weitem die einfachste und eleganteste Art, dies zu tun, besonders wenn Sie ein Entwickler sind ... danke Mann. Ich fühle mich wie auf nix System: D
Emmanuel Mahuni
geliebt windosu:)
Finlay Roelofs
32
Ich habe nicht genug Ruf, um der Top-Antwort einen Kommentar hinzuzufügen, aber mit der Macht der Aliase können Sie davonkommen, indem Sie einfach Folgendes eingeben:
powershell "start cmd -v runAs"
Dies ist nur eine kürzere Version von user3018703 ausgezeichnete Lösung:
Einfach, wie ich es getan habe, nachdem ich hier andere Antworten ausprobiert hatte
Methode 1: OHNE ein Programm eines Drittanbieters (ich habe dies verwendet)
Erstellen Sie eine Datei mit dem Namen sudo.bat(Sie können sie durch einen sudobeliebigen Namen ersetzen ) mit folgendem Inhalt
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
Wechseln Sie sudo.batin einen Ordner in Ihrem PATH; Wenn Sie nicht wissen, was das bedeutet, verschieben Sie diese Dateien einfach inc:\windows\
Funktioniert jetzt sudoim Dialogfeld "Ausführen" ( win+r) oder in der Adressleiste des Explorers (dies ist der beste Teil :))
Erstellen Sie eine Datei mit dem Namen sudo.bat(Sie können sie durch einen sudobeliebigen Namen ersetzen ) mit folgendem Inhalt
nircmdc elevate cmd /k "cd /d %cd%"
Bewegung nircmdc.exe und sudo.batin einen Ordner in Ihrem PATH; Wenn Sie nicht wissen, was das bedeutet, verschieben Sie diese Dateien einfach inc:\windows\
Funktioniert jetzt sudoim Dialogfeld "Ausführen" ( win+r) oder in der Adressleiste des Explorers (dies ist der beste Teil :))
Während beide Lösungen arbeiten, leider werden sie in der Folge UAC - Dialog auf (z-Ordnung-weise) zeigt sich aber nicht immer konzentriert . (Getestet auf Win10x64 v1607 build14393.447.)
Ogmios
@ Ogmios das ist ziemlich seltsam. Funktioniert der Dialog ordnungsgemäß, wenn er nicht so initiiert wird? Ich habe dies sehr glücklich ohne solche Probleme verwendet. Vielleicht liegt es an einer anderen Konfiguration, die Sie geändert haben?
Dheeraj Bhaskar
Ja, der UAC-Dialog funktioniert in allen anderen Situationen wie erwartet (wie ich festgestellt habe). Dies ist die einzige Ausnahme. Natürlich habe ich mein System auf andere Weise geändert, aber ich habe nichts gefunden, was einen versteckten Effekt auf diesen Dialog haben könnte.
Ogmios
@ Ogmios Entschuldigung, Kumpel, ich kann mir nichts anderes vorstellen, was Sie tun können, um dies zu beheben. Sie sollten wahrscheinlich die anderen Lösungen ausprobieren, um festzustellen, ob sie für Sie besser sind. Prost
Dheeraj Bhaskar
Powershell ist zwar kein Drittanbieter, aber kein Aktienprogramm, und Sie schreiben sozusagen ein Drittanbieterprogramm, um das Ziel zu erreichen.
Undrline
13
Ich benutze ständig nirsoft-Programme (zB nircmdc) und sysinternals (zB psexec). Sie sind sehr hilfreich.
Wenn Sie jedoch kein Programm eines Drittanbieters verwenden möchten oder können, finden Sie hier einen anderen Weg: reines Windows.
Kurze Antwort : Sie können im erhöhten Zustand eine geplante Aufgabe mit erhöhten Berechtigungen erstellen, die Sie später aufrufen können, wenn Sie nicht erhöht sind.
Mittellange Antwort : Während erhöht, erstellen Sie eine Aufgabe mit (aber ich bevorzuge die Taskplaner-GUI):
Im Folgenden wird als Batch-Datei eine Eingabeaufforderung mit erhöhten Rechten geöffnet, wobei der Pfad auf dasselbe Verzeichnis festgelegt ist wie das Verzeichnis, von dem aus die Batch-Datei aufgerufen wurde
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
Damit dies funktioniert, müssen Sie die Eigenschaften von psexec.exe bearbeiten und auf der Registerkarte Kompatibilität "Als Administrator ausführen" aktivieren. Andernfalls wird die Fehlermeldung angezeigt: PSEXESVC nicht installiert. Psexec verursacht jedoch Probleme mit der Tabulatortaste in der cmd.exe. Die Registerkarte kann nicht zum Vervollständigen von Ordnernamen verwendet werden.
Peter Quiring
Sie sind sich nicht sicher, in welcher Umgebung Sie es versucht haben, aber ich musste die Einstellung "Als Administrator ausführen" nicht ändern (versuchen Sie, die Datei cmd.exe auf einem Remotecomputer von Ihrem aus auszuführen?). Auch keine Probleme mit der Tabulatortaste, ich kann Dateien und Ordnernamen erfolgreich vervollständigen (zumindest unter Win8.1 und Win10 getestet, sowohl über cmd- als auch über PowerShell-Befehlszeilen)
David Rodriguez
Ich benutze Win10 und führe es lokal aus. Ich bin mir nicht sicher, warum es mir passiert und nicht dir. Ich habe nircmd zum Laufen gebracht und es verursacht kein Tab-Problem.
Peter Quiring
Ich stelle auch fest, dass man mit der Tabulatortaste nicht automatisch vervollständigen kann, aber dies würde zumindest eine erhöhte cmd-Eingabeaufforderung im Kontext eines anderen Benutzers öffnen, was die oben genannten Methoden bei meinem Versuch nicht zu erreichen schienen. Die '-h'-Flagge ist großartig (Windows 10), ein Vergnügen.
user1840734
4
Lassen Sie die Batchdatei mithilfe des /savecredSchalters die Anmeldeinformationen des tatsächlichen Administratorkontos speichern . Dadurch werden Sie beim ersten Mal zur Eingabe von Anmeldeinformationen aufgefordert und das verschlüsselte Kennwort im Anmeldeinformations-Manager gespeichert. In allen folgenden Fällen wird der Stapel als vollständiger Administrator ausgeführt, jedoch nicht zur Eingabe von Anmeldeinformationen aufgefordert, da diese verschlüsselt im Anmeldeinformations-Manager gespeichert sind und der Endbenutzer das Kennwort nicht erhalten kann. Folgendes sollte eine CMD mit erhöhten Rechten und vollständigen Administratorrechten öffnen und nur beim ersten Mal zur Eingabe eines Kennworts auffordern:
Während beide Lösungen von Dheeraj Bhaskar Arbeit zur Verfügung gestellt, leider werden sie in der Folge UAC - Dialog oben zeigt nach oben (z-Ordnung-weise) , aber nicht immer konzentriert (das fokussierte Fenster ist der Anrufer cmd / Powershell - Fenster), so dass ich entweder Notwendigkeit, Nehmen Sie die Maus und klicken Sie auf "Ja" oder wählen Sie das UAC-Fenster mit Alt + Umschalt + Tab. (Getestet unter Win10x64 v1607 build14393.447; UAC = "[...] nicht [...] dimmen " .)
Die folgende Lösung ist etwas umständlich, da zwei Dateien verwendet werden, die korrekte Fokusreihenfolge jedoch beibehalten wird, sodass keine zusätzlichen Maus- / Tastaturaktionen erforderlich sind (außer der Bestätigung des UAC-Dialogfelds: Alt + Y ).
Es ist Beschreibung - This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
Ich kopiere das bin.x86-64\elevate.exevon .zipin C:\Program Files\elevateund füge diesen Pfad meinem hinzuPATH .
Dann kann ich mit GitBash so etwas wie elevate sc stop W3SVCdas ausschaltenIIS Dienst .
Wenn ich den Befehl UACausführe, erhalte ich den Dialog, der mit der Tastatursteuerung richtig fokussiert ist, und wenn ich den Dialog akzeptiere, kehre ich zu meiner Shell zurück.
@ECHO OFF
SETLOCAL EnableDelayedExpansion EnableExtensions
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 GOTO ELEVATE
GOTO :EOF
:ELEVATE
SET this="%CD%"
SET this=!this:\=\\!
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('CMD', '/K CD /D \"!this!\"', '', 'runas', 1);close();"
EXIT 1
Speichern Sie dieses Skript als "god.cmd" in Ihrem System32 oder in was auch immer Ihr Pfad führt ....
Wenn Sie ein cmd in e: \ mypictures \ öffnen und god eingeben, werden Sie nach Anmeldeinformationen gefragt und an den gleichen Ort wie der Administrator zurückversetzt ...
Powershell ist cool, aber es brauchtzz Module ... im oldscool ... brauche nur das System ...
jOte-
Funktioniert diese Erhebungsmethode / dieser Trick auch für lange Pfade / Dateinamen? Oder soll ich stattdessen "% ~ snx0" oder "% ~ dpsnx0" verwenden?
script'n'code
2
Ähnlich wie bei einigen der anderen oben genannten Lösungen habe ich eine erstellt elevate Batchdatei erstellt, in der ein PowerShell-Fenster mit erhöhten Rechten ausgeführt wird. Dabei wurde die Ausführungsrichtlinie umgangen, um die Ausführung von einfachen Befehlen über Batchdateien bis hin zu komplexen PowerShell-Skripten zu ermöglichen. Ich empfehle, es zur Vereinfachung der Verwendung in Ihrem Ordner C: \ Windows \ System32 abzulegen.
Der ursprüngliche elevateBefehl führt seine Aufgabe aus, erfasst die Ausgabe, schließt das erzeugte PowerShell-Fenster und kehrt dann zurück, wobei die erfasste Ausgabe in das ursprüngliche Fenster geschrieben wird.
Ich habe zwei Varianten erstellt elevatepund elevatex, die das PowerShell-Fenster für weitere Arbeiten anhalten und geöffnet lassen.
Und für den Fall, dass mein Link jemals stirbt, ist hier der Code für die ursprüngliche Batch-Datei zum Erhöhen:
@Echo Off
REM Executes a command in an elevated PowerShell window and captures/displays output
REM Note that any file paths must be fully qualified!
REM Example: elevate myAdminCommand -myArg1 -myArg2 someValue
if "%1"=="" (
REM If no command is passed, simply open an elevated PowerShell window.
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -Verb RunAs}"
) ELSE (
REM Copy command+arguments (passed as a parameter) into a ps1 file
REM Start PowerShell with Elevated access (prompting UAC confirmation)
REM and run the ps1 file
REM then close elevated window when finished
REM Output captured results
IF EXIST %temp%\trans.txt del %temp%\trans.txt
Echo %* ^> %temp%\trans.txt *^>^&1 > %temp%\tmp.ps1
Echo $error[0] ^| Add-Content %temp%\trans.txt -Encoding Default >> %temp%\tmp.ps1
PowerShell -Command "& {Start-Process PowerShell.exe -Wait -ArgumentList '-ExecutionPolicy Bypass -File ""%temp%\tmp.ps1""' -Verb RunAs}"
Type %temp%\trans.txt
)
) (targetCmd wird im erhöhten cmd-Fenster ausgeführt)
Obwohl es sich um 3 Dateien handelt, können Sie alles (einschließlich targetCmd) in einem Unterordner ablegen (vergessen Sie nicht, den Ordnernamen zu den Patches hinzuzufügen) und "start.cmd" in den Namen eines Ziels umbenennen
Für mich sieht es nach der nativsten Methode aus, während cmd nicht über den erforderlichen Befehl verfügt
Ich habe alle oben genannten Lösungen gelesen und verstanden. Ich verstehe deine Schritte nicht. Ich wähle eine Lösung mit den besten Vor- und Nachteilen.
Dzmitry Lahoda
0
Ich bin nicht sicher, ob das Tool ExecElevated.exe (13 KB) den Job erledigt ... aber es könnte sein. Oder zumindest nützlich für andere mit ähnlichen Anforderungen, die wie ich auf diese Seite gekommen sind (aber ich habe die Lösung nicht gefunden, sodass ich das Tool selbst in .Net erstellt habe).
Es wird eine Anwendung mit erhöhtem Token ausgeführt (im Admin-Modus). Sie erhalten jedoch einen UAC-Dialog zur Bestätigung! (Vielleicht nicht, wenn die Benutzerkontensteuerung deaktiviert wurde, habe sie nicht getestet).
Und das Konto, das das Tool aufruft, muss auch admin haben. Rechte natürlich.
Hier ist eine Möglichkeit zur Integration in den Explorer. Wenn Sie mit der rechten Maustaste in einen Ordner im Windows Explorer klicken, wird ein zusätzlicher Menüpunkt angezeigt:
Hier sind die Schritte:
Erstellen Sie diesen Schlüssel: \ HKEY_CLASSES_ROOT \ Folder \ shell \ dosherewithadmin
Ändern Sie den Standardwert in einen beliebigen Wert, der als Menüelementtext angezeigt werden soll. Ex "DOS Shell als Admin"
Erstellen Sie einen weiteren Schlüssel: \ HKEY_CLASSES_ROOT \ Folder \ shell \ dosherewithadmin \ command
Ändern Sie den Standardwert in ipsis litteris: Powershell.exe -Befehl "Start-Prozess -Verb RunAs 'cmd.exe' -Args '/ k pushd"% 1 "'"
Es ist fertig. Klicken Sie nun mit der rechten Maustaste in einen beliebigen Ordner und Sie sehen Ihren Artikel dort in den anderen Artikeln.
* Verwenden Sie pushd anstelle von cd, damit es in jedem Laufwerk funktioniert. :-)
Nachdem Sie diesen Befehl eingegeben haben, müssen Sie Ihr Administratorkennwort eingeben (wenn Sie Ihr Administratorkennwort nicht kennen, lassen Sie es leer und drücken Sie die Eingabetaste oder geben Sie etwas ein, das für mich funktioniert hat).
@DzmitryLahoda Kannst du mir den Fehler mitteilen, den du bekommen hast?
Harish Regada
-2
Drücken Sie die Windows + X-Taste und Sie können jetzt die Powershell- oder Eingabeaufforderung mit Administratorrechten auswählen. Funktioniert, wenn Sie der Administrator sind. Die Funktion kann unbrauchbar werden, wenn das System nicht Ihnen gehört.
Es gibt verschiedene Möglichkeiten, ein erhöhtes cmd zu öffnen, aber nur Ihre Methode funktioniert über die Standard-Eingabeaufforderung. Sie müssen nur usernicht sagen username:
Dies ist nicht dasselbe wie das Ausführen eines erhöhten Befehls, denn wenn ich ein erhöhtes cmd-Fenster öffne und "whoami" eingebe, wird das gleiche Ergebnis wie bei einem nicht erhöhten Fenster erzielt. Wenn ich in beiden Fällen "whoami / all" ausführe, sehe ich die Unterschiede in Bezug auf die Berechtigungen für denselben Benutzer.
Constantino Cronemberger
-5
Ich habe verwendet, runas /user:domainuser@domain cmdwas eine Eingabeaufforderung mit erhöhten Rechten erfolgreich geöffnet hat.
Es erfordert die Anmeldeinformationen eines anderen Benutzers. Wenn Sie bereits Administrator sind und mit erhöhten Berechtigungen ausgeführt werden möchten, z. B. wenn Sie mit der rechten Maustaste auf eine Anwendung klicken und Als Administrator ausführen auswählen und kein Kennwort angefordert wird, nur ein Bestätigungsdialogfeld, benötigen Sie etwas anderes. Ich bin hierher gekommen, um nach dieser Antwort zu suchen, aber ich scheine nicht hier zu sein.
Antworten:
Ich bin auf dasselbe Problem gestoßen, und die einzige Möglichkeit, die CMD als Administrator von CMD aus zu öffnen, bestand darin, Folgendes zu tun:
powershell -Command "Start-Process cmd -Verb RunAs"
und drückenEnterquelle
Laut Dokumentation ist das Windows-Sicherheitsmodell ...
Sie haben die Option Diese Aufgabe mit Administratorrechten erstellen im Dialogfeld Neue Aufgabe erstellen ( Task-Manager> Datei> Neue Aufgabe ausführen ), es gibt jedoch keine integrierte Möglichkeit, Berechtigungen über die Befehlszeile effektiv zu erhöhen.
Es gibt jedoch einige Tools von Drittanbietern (die intern auf Windows-APIs basieren), mit denen Sie die Berechtigungen über die Befehlszeile erhöhen können:
NirCmd :
nircmdc elevate cmd
Windosu :
npm install -g windosu
(erfordert node.js installiert)sudo cmd
quelle
nircmdc elevate route delete 0.0.0.0 mask 0..0.0 192.168.1.1
endlich funktioniert. Die anderenrunas /user:...
Möglichkeiten führten zur Eingabe eines Kennworts, obwohl Sie bereits Administrator waren (Batch-Modus beendet).nircmdc elevate cmd
nircmd
, damit es wie Linux funktioniert : . Dann können Sie zum Beispiel tunsudo
sudo.bat
nircmd elevate %*
sudo net stop W3SVC
windosu
:)Ich habe nicht genug Ruf, um der Top-Antwort einen Kommentar hinzuzufügen, aber mit der Macht der Aliase können Sie davonkommen, indem Sie einfach Folgendes eingeben:
Dies ist nur eine kürzere Version von user3018703 ausgezeichnete Lösung:
quelle
Einfach, wie ich es getan habe, nachdem ich hier andere Antworten ausprobiert hatte
Methode 1: OHNE ein Programm eines Drittanbieters (ich habe dies verwendet)
sudo.bat
(Sie können sie durch einensudo
beliebigen Namen ersetzen ) mit folgendem Inhaltpowershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
sudo.bat
in einen Ordner in IhremPATH
; Wenn Sie nicht wissen, was das bedeutet, verschieben Sie diese Dateien einfach inc:\windows\
sudo
im Dialogfeld "Ausführen" ( win+r) oder in der Adressleiste des Explorers (dies ist der beste Teil :))Methode 2: MIT einem Drittanbieterprogramm
sudo.bat
(Sie können sie durch einensudo
beliebigen Namen ersetzen ) mit folgendem Inhaltnircmdc elevate cmd /k "cd /d %cd%"
nircmdc.exe
undsudo.bat
in einen Ordner in IhremPATH
; Wenn Sie nicht wissen, was das bedeutet, verschieben Sie diese Dateien einfach inc:\windows\
sudo
im Dialogfeld "Ausführen" ( win+r) oder in der Adressleiste des Explorers (dies ist der beste Teil :))quelle
Ich benutze ständig nirsoft-Programme (zB nircmdc) und sysinternals (zB psexec). Sie sind sehr hilfreich.
Wenn Sie jedoch kein Programm eines Drittanbieters verwenden möchten oder können, finden Sie hier einen anderen Weg: reines Windows.
Kurze Antwort : Sie können im erhöhten Zustand eine geplante Aufgabe mit erhöhten Berechtigungen erstellen, die Sie später aufrufen können, wenn Sie nicht erhöht sind.
Mittellange Antwort : Während erhöht, erstellen Sie eine Aufgabe mit (aber ich bevorzuge die Taskplaner-GUI):
Dann später, keine Erhebung nötig, mit aufrufen
Lange Antwort : Es gibt viele zappelige Details; siehe meinen Blogeintrag "Programm OHNE Benutzerkontensteuerung starten, nützlich beim Systemstart und in Batchdateien (Taskplaner verwenden)"
quelle
Im Folgenden wird als Batch-Datei eine Eingabeaufforderung mit erhöhten Rechten geöffnet, wobei der Pfad auf dasselbe Verzeichnis festgelegt ist wie das Verzeichnis, von dem aus die Batch-Datei aufgerufen wurde
quelle
Am liebsten verwende ich dazu PsExec.exe von SysInternals, verfügbar unter http://technet.microsoft.com/en-us/sysinternals/bb897553
Der "-h" -Schalter ist derjenige, der die Magie ausführt:
-h Wenn das Zielsystem Vista oder höher ist, wird der Prozess mit dem erhöhten Token des Kontos ausgeführt, sofern verfügbar.
quelle
Lassen Sie die Batchdatei mithilfe des
/savecred
Schalters die Anmeldeinformationen des tatsächlichen Administratorkontos speichern . Dadurch werden Sie beim ersten Mal zur Eingabe von Anmeldeinformationen aufgefordert und das verschlüsselte Kennwort im Anmeldeinformations-Manager gespeichert. In allen folgenden Fällen wird der Stapel als vollständiger Administrator ausgeführt, jedoch nicht zur Eingabe von Anmeldeinformationen aufgefordert, da diese verschlüsselt im Anmeldeinformations-Manager gespeichert sind und der Endbenutzer das Kennwort nicht erhalten kann. Folgendes sollte eine CMD mit erhöhten Rechten und vollständigen Administratorrechten öffnen und nur beim ersten Mal zur Eingabe eines Kennworts auffordern:quelle
Während beide Lösungen von Dheeraj Bhaskar Arbeit zur Verfügung gestellt, leider werden sie in der Folge UAC - Dialog oben zeigt nach oben (z-Ordnung-weise) , aber nicht immer konzentriert (das fokussierte Fenster ist der Anrufer cmd / Powershell - Fenster), so dass ich entweder Notwendigkeit, Nehmen Sie die Maus und klicken Sie auf "Ja" oder wählen Sie das UAC-Fenster mit Alt + Umschalt + Tab. (Getestet unter Win10x64 v1607 build14393.447; UAC = "[...] nicht [...] dimmen " .)
Die folgende Lösung ist etwas umständlich, da zwei Dateien verwendet werden, die korrekte Fokusreihenfolge jedoch beibehalten wird, sodass keine zusätzlichen Maus- / Tastaturaktionen erforderlich sind (außer der Bestätigung des UAC-Dialogfelds: Alt + Y ).
%SystemRoot%\System32\cmd.exe /k "cd /d"
@start cmdadm.lnk %cd%
Laufen Sie mit
su
.quelle
Ich habe benutzt
Elevate
jetzt Weile.Es ist Beschreibung -
This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
Ich kopiere das
bin.x86-64\elevate.exe
von.zip
inC:\Program Files\elevate
und füge diesen Pfad meinem hinzuPATH
.Dann kann ich mit GitBash so etwas wie
elevate sc stop W3SVC
das ausschaltenIIS
Dienst .Wenn ich den Befehl
UAC
ausführe, erhalte ich den Dialog, der mit der Tastatursteuerung richtig fokussiert ist, und wenn ich den Dialog akzeptiere, kehre ich zu meiner Shell zurück.quelle
..
Speichern Sie dieses Skript als "god.cmd" in Ihrem System32 oder in was auch immer Ihr Pfad führt ....
Wenn Sie ein cmd in e: \ mypictures \ öffnen und god eingeben, werden Sie nach Anmeldeinformationen gefragt und an den gleichen Ort wie der Administrator zurückversetzt ...
quelle
Ähnlich wie bei einigen der anderen oben genannten Lösungen habe ich eine erstellt
elevate
Batchdatei erstellt, in der ein PowerShell-Fenster mit erhöhten Rechten ausgeführt wird. Dabei wurde die Ausführungsrichtlinie umgangen, um die Ausführung von einfachen Befehlen über Batchdateien bis hin zu komplexen PowerShell-Skripten zu ermöglichen. Ich empfehle, es zur Vereinfachung der Verwendung in Ihrem Ordner C: \ Windows \ System32 abzulegen.Der ursprüngliche
elevate
Befehl führt seine Aufgabe aus, erfasst die Ausgabe, schließt das erzeugte PowerShell-Fenster und kehrt dann zurück, wobei die erfasste Ausgabe in das ursprüngliche Fenster geschrieben wird.Ich habe zwei Varianten erstellt
elevatep
undelevatex
, die das PowerShell-Fenster für weitere Arbeiten anhalten und geöffnet lassen.https://github.com/jt-github/elevate
Und für den Fall, dass mein Link jemals stirbt, ist hier der Code für die ursprüngliche Batch-Datei zum Erhöhen:
quelle
Kann eine temporäre Umgebungsvariable verwenden, um sie mit einer erhöhten Verknüpfung zu verwenden (
start.cmd
ascladm.lnk (Verknüpfung)
(Um Pfadänderungen vorzunehmen, müssen Sie die vorübergehend erstellen.
env.Variable
)ascladm.cmd
) (targetCmd wird im erhöhten cmd-Fenster ausgeführt)
Obwohl es sich um 3 Dateien handelt, können Sie alles (einschließlich targetCmd) in einem Unterordner ablegen (vergessen Sie nicht, den Ordnernamen zu den Patches hinzuzufügen) und "start.cmd" in den Namen eines Ziels umbenennen
Für mich sieht es nach der nativsten Methode aus, während cmd nicht über den erforderlichen Befehl verfügt
quelle
Ich bin nicht sicher, ob das Tool ExecElevated.exe (13 KB) den Job erledigt ... aber es könnte sein. Oder zumindest nützlich für andere mit ähnlichen Anforderungen, die wie ich auf diese Seite gekommen sind (aber ich habe die Lösung nicht gefunden, sodass ich das Tool selbst in .Net erstellt habe).
Es wird eine Anwendung mit erhöhtem Token ausgeführt (im Admin-Modus). Sie erhalten jedoch einen UAC-Dialog zur Bestätigung! (Vielleicht nicht, wenn die Benutzerkontensteuerung deaktiviert wurde, habe sie nicht getestet).
Und das Konto, das das Tool aufruft, muss auch admin haben. Rechte natürlich.
Anwendungsbeispiel:
quelle
In Dheeraj Bhaskars Methode mit Powershell fehlt ein Leerzeichen, zumindest für die Windows 10-Inkarnation von Powershell.
Die Kommandozeile in seiner sudo.bat sollte sein
Beachten Sie den zusätzlichen Speicherplatz nach% cd%
;) Frode
quelle
Hier ist eine Möglichkeit zur Integration in den Explorer. Wenn Sie mit der rechten Maustaste in einen Ordner im Windows Explorer klicken, wird ein zusätzlicher Menüpunkt angezeigt:
Hier sind die Schritte:
* Verwenden Sie pushd anstelle von cd, damit es in jedem Laufwerk funktioniert. :-)
quelle
Sie können die folgende Syntax verwenden, ich hatte die gleiche Frage und dachte nicht, dass ein Skript benötigt werden sollte.
Dies hat bei mir funktioniert, es kann in Ihrem Netzwerk anders sein.
quelle
Verwenden Sie einfach den Befehl: runas / noprofile / user: Administrator cmd
quelle
Ich habe es einfach gemacht, indem ich diesen folgenden Befehl in cmd verwendet habe
runas / netonly / user: Administrator \ Administrator cmd
Nachdem Sie diesen Befehl eingegeben haben, müssen Sie Ihr Administratorkennwort eingeben (wenn Sie Ihr Administratorkennwort nicht kennen, lassen Sie es leer und drücken Sie die Eingabetaste oder geben Sie etwas ein, das für mich funktioniert hat).
quelle
Drücken Sie die Windows + X-Taste und Sie können jetzt die Powershell- oder Eingabeaufforderung mit Administratorrechten auswählen. Funktioniert, wenn Sie der Administrator sind. Die Funktion kann unbrauchbar werden, wenn das System nicht Ihnen gehört.
quelle
Es gibt verschiedene Möglichkeiten, ein erhöhtes cmd zu öffnen, aber nur Ihre Methode funktioniert über die Standard-Eingabeaufforderung. Sie müssen nur
user
nicht sagenusername
:Siehe relevante Hilfe von der Microsoft-Community .
quelle
Ich habe verwendet,
runas /user:domainuser@domain cmd
was eine Eingabeaufforderung mit erhöhten Rechten erfolgreich geöffnet hat.quelle