Hoe opent u een verhoogde CMD met de opdrachtregel voor Windows?

Hoe open ik een verhoogde opdrachtprompt met opdrachtregels op een normale CMD?

Ik gebruik bijvoorbeeld runas /username:admin cmdMaar 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:

  1. Open CMD
  2. Schrijf powershell -Command "Start-Process cmd -Verb RunAs"en druk op ENTER
  3. 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:

  1. Download het en pak het uit.
  2. nircmdc elevate cmd

windosu:

  1. Installeer het: npm install -g windosu(vereist node.jsgeïnstalleerd)
  2. 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)

  1. Maak een bestand met de naam sudo.bat(je kunt sudovervangen door elke gewenste naam) met de volgende inhoud

    powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
  2. Verplaats sudo.batnaar een map in je PATH; als je niet weet wat dat betekent, verplaats deze bestanden dan gewoon naar c:\windows\
  3. Nu werkt sudoin het dialoogvenster Uitvoeren (win+r) of in de adresbalk van de verkenner (dit is het beste deel :))

Methode 2: MET een programma van derden

  1. Download NirCmden pak het uit.
  2. Maak een bestand met de naam sudo.bat(je kunt sudovervangen door elke gewenste naam) met de volgende inhoud

    nircmdc elevate cmd /k "cd /d %cd%"
  3. Verplaats nircmdc.exeen sudo.batnaar een map in je PATH; als je niet weet wat dat betekent, verplaats deze bestanden dan gewoon naar c:\windows\
  4. Nu werkt sudoin 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 elevatevoor 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.exevan de .zipin C:\Program Files\elevateen Toevoegen dat pad naar mijn PATH.

Dan gitbash ik kan zoiets uitvoeren als elevate sc stop W3SVCom de IISService uit te schakelen.

Running De opdracht geeft mij de UACDialoogvenster, 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 elevatebatchbestand 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, elevatepen 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:

  1. Maak deze sleutel: \ hkey_classes_root \ map \ shell \ dosHerewithadmin
  2. Wijzig de standaardwaarde aan wat u wilt verschijnen als de tekst van het menu-item. Ex "dos shell as admin"
  3. Maak dit een andere sleutel: \ hkey_classes_root \ map \ shell \ dosherewithadmin \ commando
  4. Wijzig de standaardwaarde hierop, IPSIS-nest:
    POWERSHELL.EXE -COMMAND "Start-proces -verb Runas 'cmd.exe' -Args '/ k pushd"% 1 "'"
  5. 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:domainuser@domain cmddie 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 userniet username:

te plaatsen

runas /user:machinename\adminuser cmd

Zie relevante hulp van Microsoft Community .

Other episodes