Hoe open ik een verhoogde opdrachtprompt met opdrachtregels op een normale CMD?
Ik gebruik bijvoorbeeld runas /username:admin cmd
Maar de CMD die is geopend, lijkt niet verhoogd te zijn! Alle oplossingen?
1, Autoriteit 100%
Ik liep in hetzelfde probleem en de enige manier waarop ik de CMD kon openen als beheerder van CMD de volgende:
- Open CMD
- Schrijf
powershell -Command "Start-Process cmd -Verb RunAs"
en druk op ENTER kbd> - Een pop-upvenster verschijnt vragen om een CMD te openen als beheerder
2, Autoriteit 23%
Ik heb niet genoeg reputatie om een opmerking toe te voegen aan het bovenste antwoord, maar met de kracht van aliassen kunt u wegkomen met het typen van het volgende:
powershell "start cmd -v runAs"
Dit is slechts een kortere versie van User3018703 Excellent
Oplossing:
powershell -Command "Start-Process cmd -Verb RunAs"
3, Autoriteit 21%
Volgens Documentatie , het Windows-beveiligingsmodel ...
Geeft helemaal geen administratieve privileges
keer. zelfs beheerders lopen onder standaardrechten wanneer zij
voer niet-administratieve taken uit die niet verhoogd zijn
privileges.
U hebt de Deze taak maken met administratieve privileges optie in de Maak een nieuwe taak dialoogvenster (Taakbeheer & GT; Bestand en GT; Nieuwe taak uitvoeren ), maar er is geen ingebouwde manier om privileges effectief te verhogen met behulp van de opdrachtregel.
Er zijn echter enkele hulpprogramma's van derden (intern afhankelijk van Windows API's) die u kunt gebruiken om bevoegdheden vanaf de opdrachtregel te verhogen:
NirCmd:
- Download het en pak het uit.
nircmdc elevate cmd
windosu:
- Installeer het:
npm install -g windosu
(vereist node.jsgeïnstalleerd) sudo cmd
Antwoord 4, autoriteit 20%
Eenvoudige manier die ik deed nadat ik hier andere antwoorden had geprobeerd
Methode 1: ZONDER een programma van derden (ik heb dit gebruikt)
- Maak een bestand met de naam
sudo.bat
(je kuntsudo
vervangen door elke gewenste naam) met de volgende inhoud
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
- Verplaats
sudo.bat
naar een map in jePATH
; als je niet weet wat dat betekent, verplaats deze bestanden dan gewoon naarc:\windows\
- Nu werkt
sudo
in het dialoogvenster Uitvoeren (win+r) of in de adresbalk van de verkenner (dit is het beste deel :))
Methode 2: MET een programma van derden
- Download NirCmden pak het uit.
- Maak een bestand met de naam
sudo.bat
(je kuntsudo
vervangen door elke gewenste naam) met de volgende inhoud
nircmdc elevate cmd /k "cd /d %cd%"
- Verplaats
nircmdc.exe
ensudo.bat
naar een map in jePATH
; als je niet weet wat dat betekent, verplaats deze bestanden dan gewoon naarc:\windows\
- Nu werkt
sudo
in het dialoogvenster Uitvoeren (win+r) of in de adresbalk van de verkenner (dit is het beste deel :))
Antwoord 5, autoriteit 8%
Ik gebruik de hele tijd nirsoft-programma's (bijv. nircmdc) en sysinternals (bijv. psexec). Ze zijn erg behulpzaam.
Maar als u geen programma van derden wilt of kunt downloaden, is er een andere manier, pure Windows.
Kort antwoord: u kunt een geplande taak maken met verhoogde rechten die u later kunt aanroepen terwijl u niet verhoogd bent.
Middelgroot antwoord: hoewel verhoogd, maak een taak met (maar ik geef de voorkeur aan de GUI van de taakplanner):
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
Later, geen verhoging nodig, roep aan met
schtasks /run /tn cmd_elev
Lang antwoord: er zijn veel onhandige details; zie mijn blogbericht "Start programma ZONDER UAC, handig op systeemstart en in batchbestanden (gebruik taakplanner)"
Antwoord 6, autoriteit 5%
Het volgende als een batchbestand zal een verhoogde opdrachtprompt openen met het pad ingesteld op dezelfde map als die van waaruit het batchbestand werd aangeroepen
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
Antwoord 7, autoriteit 4%
Mijn favoriete manier om dit te doen is het gebruik van PsExec.exe van SysInternals, beschikbaar op http: //technet.microsoft.com/en-us/sysinternals/bb897553
.\psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
De "-h" schakelaar is degene die de magie doet:
-h Als het doelsysteem Vista of hoger is, moet het proces worden uitgevoerd met de verhoogde token van het account, indien beschikbaar.
8, Autoriteit 2%
Ik gebruik elevate
voor een tijdje nu .
IT's Beschrijving - This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
Ik kopieer de bin.x86-64\elevate.exe
van de .zip
in C:\Program Files\elevate
en Toevoegen dat pad naar mijn PATH
.
Dan gitbash ik kan zoiets uitvoeren als elevate sc stop W3SVC
om de IIS
Service uit te schakelen.
Running De opdracht geeft mij de UAC
Dialoogvenster, op de juiste manier gericht met toetsenbordbediening en bij het accepteren van het dialoogvenster ga ik terug naar mijn shell.
9, Autoriteit 2%
Laat het batchbestand de inloggegevens van het daadwerkelijke beheerdersaccount opslaan met de schakeloptie /savecred
. Dit zal de eerste keer om referenties vragen en vervolgens het gecodeerde wachtwoord opslaan in referentiebeheer. Voor alle volgende keren dat de batch wordt uitgevoerd, wordt deze uitgevoerd als de volledige beheerder, maar wordt er niet om inloggegevens gevraagd omdat ze versleuteld zijn opgeslagen in de referentiemanager en de eindgebruiker het wachtwoord niet kan krijgen. Het volgende zou een verhoogde CMD moeten openen met volledige beheerdersrechten en zal alleen de eerste keer om een wachtwoord vragen:
START c:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe
Antwoord 10, autoriteit 2%
..
@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
bewaar dit script als "god.cmd" in je system32 of waar je pad ook naar verwijst....
als je een cmd opent in e:\mypictures\ en god typt
het zal u om inloggegevens vragen en u terugbrengen naar dezelfde plaats als de beheerder...
Antwoord 11
Vergelijkbaar met sommige van de andere oplossingen hierboven, heb ik een elevate
batchbestand gemaakt dat een verhoogd PowerShell-venster uitvoert, waarbij het uitvoeringsbeleid wordt omzeild om alles uit te voeren, van eenvoudige opdrachten tot batchbestanden tot complexe PowerShell-scripts . Ik raad aan om het in de map C:\Windows\System32 te plaatsen voor gebruiksgemak.
De oorspronkelijke elevate
-opdracht voert zijn taak uit, legt de uitvoer vast, sluit het venster Spawned PowerShell en retourneert en vervolgens de vastgelegde uitvoer naar het originele venster.
Ik heb twee varianten gemaakt, elevatep
en elevatex
, die respectievelijk pauzeren en het PowerShell-venster open houden voor meer werk.
https://github.com/jt-github/elevate
En in het geval dat mijn link ooit sterft, is hier de code voor het originele Elevate Batch-bestand:
@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
)
12
Dheeraj Bhaskar's methode met Powershell heeft er een ontbrekende ruimte in, Alt het minst voor de Windows 10 Incarnatie van PowerShell.
De opdrachtregel in zijn sudo.bat moet
zijn
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd% \" -Verb RunAs"
Noteer de extra ruimte na% CD%
😉 FRODE
13
Hier is een manier om te integreren met Explorer.
Het verschijnt een extra menu-item wanneer u met de rechtermuisknop klikt in een map binnen Windows Verkenner:
Hier zijn de stappen:
- Maak deze sleutel: \ hkey_classes_root \ map \ shell \ dosHerewithadmin
- Wijzig de standaardwaarde aan wat u wilt verschijnen als de tekst van het menu-item. Ex "dos shell as admin"
- Maak dit een andere sleutel: \ hkey_classes_root \ map \ shell \ dosherewithadmin \ commando
- Wijzig de standaardwaarde hierop, IPSIS-nest:
POWERSHELL.EXE -COMMAND "Start-proces -verb Runas 'cmd.exe' -Args '/ k pushd"% 1 "'" - Het is klaar. Klik nu met de rechtermuisknop in een map en u zult uw artikel daar in de andere items zien.
* Gebruik pushd in plaats van CD om het in elke schijf te laten werken. : -)
14
voor fans van Cygwin:
cygstart -a runas cmd
15
kan een tijdelijke milieuvariabele gebruiken om te gebruiken met een verhoogde snelkoppeling (
start.cmd
setx valueName_betterSpecificForEachCase %~dp0
"%~dp0ascladm.lnk"
ascladm.lnk (snelkoppeling)
_ properties\advanced\"run as administrator"=yes
(Om padwijzigingen te maken, moet u tijdelijk de env.Variable
)
maken
_ properties\target="%valueName_betterSpecificForEachCase%\ascladm.cmd"
_ properties\"start in"="%valueName_betterSpecificForEachCase%"
ascladm.cmd
setx valueName_betterSpecificForEachCase=
reg delete HKEY_CURRENT_USER\Environment /F /V valueName_betterSpecificForEachCase
"%~dp0fileName_targetedCmd.cmd"
) (TargetedCMD wordt uitgevoerd in een verhoogd CMD-venster)
Hoewel het 3 bestanden is, kunt u alles (inclusief targetedcmd) in sommige submap plaatsen (vergeet niet om de foldername aan de patches toe te voegen) en "Start.cmd" hernoemen om de ene naam
te hernoemen
Voor mij ziet het eruit als de meest moedertaal om dit te doen, terwijl CMD niet het benodigde commando
heeft
16
Gebruik:
start
, run
, cmd
, vervolgens control+shift+enter
U krijgt UAC en vervolgens een verhoogde opdrachtschaal.
17
U kunt de volgende syntaxis gebruiken, ik had dezelfde vraag en dacht niet dat er een script nodig is.
RUNAS / PROFIEL / Gebruiker: Domein \ Gebruikersnaam CMD
Dit werkte voor mij, het kan anders zijn op uw netwerk.
18
Gebruik gewoon de opdracht:
RUNAS / NOPROFILE / User: Beheerder CMD
19
Ik heb het eenvoudig gedaan door deze volgende opdracht te gebruiken in cmd
runas / netonly / user: beheerder \ beheerder cmd
Nadat u deze opdracht hebt getypt, moet u uw beheerderswachtwoord invoeren (als u niet weet dat uw beheerderswachtwoord het leeg laat en druk op Voer of typt u iets) ..
20
Druk op de Windows + X-toets en u kunt nu de PowerShell of opdrachtprompt met beheerdersrechten selecteren. Werkt als u de beheerder bent. De functie kan onbruikbaar zijn als het systeem niet van u is.
21
Ik heb deze tool gemaakt in .Net execelevated.exe, 13 kb Het voert een applicatie uit met een verhoogd token (in de beheerdersmodus).
Maar u krijgt een UAC-dialoogvenster om te bevestigen! (Misschien niet als UAC is uitgeschakeld, heeft het niet getest).
en het account dat het gereedschap belt, moet ook admin hebben. rechten natuurlijk.
Voorbeeld van gebruik:
ExecuteElevated.exe "C:\Utility\regjump.exe HKCU\Software\Classes\.pdf"
22
Ik gebruikte runas /user:[email protected] cmd
die een verhoogde prompt met succes heeft geopend.
23
Er zijn verschillende manieren om een verhoogde cmd te openen, maar alleen uw methode werkt uit de standaard opdrachtprompt. U hoeft alleen user
niet username
:
te plaatsen
runas /user:machinename\adminuser cmd
Zie relevante hulp van Microsoft Community .