관리자 권한으로 항상 명령 프롬프트를 실행하려면 어떻게해야합니까?


103

개발자는 종종 다양한 목적으로 명령 프롬프트를 열어야합니다. 예를 들어 iisreset로컬 웹 서버를 다시 시작 하는 데 사용 합니다.

일반적으로 다음 두 가지 방법 중 하나로 명령 창을 엽니 다.

  1. 를 누르고 Win"cmd"를 입력 한 다음Enter
  2. 탐색기에서 Shift폴더를 마우스 오른쪽 버튼으로 클릭하고 "여기에서 명령 창 열기"를 선택하십시오.

그러나 이러한 방법 중 하나를 사용하여 명령 창을 열면 권한이 있다고 생각되는 전체 관리자 권한이 없습니다.

나는 관리자이지만 cmd.exe는 그것을 모른다

관리자 전용 응용 프로그램을 실행하려면 비교적 힘든 방법으로 명령 줄을 열어야합니다.

  1. 를 누르고 Win"cmd"를 입력하십시오.
  2. 메뉴가 채워질 때까지 기다리십시오
  3. 키보드에서 손을 들어 마우스에 올려 놓습니다.
  4. "cmd.exe"메뉴 항목을 마우스 오른쪽 버튼으로 클릭하십시오.
  5. "관리자 권한으로 실행"을 선택하십시오.

몇 가지 이유로 허용되지 않습니다.

  • 창이 Users승인 된 기술 1에서와 같이 내 디렉토리 나 승인 된 기술 2에서와 같이 원하는 폴더가 아니라 C : \ windows \ system32에서 항상 열립니다 . 그래서 종종 가고 싶은 곳으로 가기 위해 디렉토리를 변경해야합니다.
  • 이 프로세스는 내가 선호하는 방법보다 몇 밀리 초 느립니다. 내 경력의 나머지 기간 동안 매일 여러 번 수행되며 클릭 및 대기 및 디렉토리 변경에 소요되는 최대 10 일의 시간이 추가됩니다.
  • 프로그래머로서 무의미한 로봇 작업을 수행하면 큰 정서적 고통이 발생합니다.
  • 프로그래머로서 내 손을 들어 올리는 것은 큰 육체적 고통을 유발하는 힘든 일입니다.

그렇기 때문에 승인 된 기술 1 & 2가 관리자 명령 프롬프트를 열 수있는 일대일 솔루션을 찾고 있습니다.

많은 프로그램에서 속성 메뉴에서 기본 권한 수준을 영구적으로 변경할 수 있습니다. 명령 프롬프트는 그러한 프로그램 중 하나가 아닙니다.

여기에 이미지 설명을 입력하십시오

"여기에서 명령 창 열기"상황에 맞는 메뉴 옵션을 사용하는 경우에도 기본적으로 명령 창을 관리자로 실행하려면 어떻게합니까?


UAC 만 높이기 위해 변경하지 않는 이유는 무엇입니까?
surfasb

UAC 슬라이더에 "상승 만"옵션이 표시되지 않습니다. User Account Control Settings (사용자 계정 컨트롤 설정) 창 이외의 것을 언급하고 있습니까?
Kevin

6
나는 그것의 망치 시간을 생각합니다 ...
ThunderToes

답변:


88

질문의 첫 부분에 대답하기 위해 Windows 키를 누르고 "CMD"를 입력하면 Ctrl+ Shift+ Enter를 눌러 관리자로 열 수 있습니다 .

질문의 두 번째 부분에 답하려면 다음을 메모장에 붙여 넣고 ".reg"확장자로 저장하십시오.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

그런 다음 파일을 실행하십시오. 변경 사항을 레지스트리에 병합하고 상황에 맞는 메뉴에 옵션을 추가합니다. (Shift 키가 필요하지 않습니다.)


7
노트; 두 경우 모두 UAC 프롬프트를 수락해야합니다.
Synetech

1
Windows 8에서는 레지스트리 편집이 작동하지 않습니다.
Biker John

레지스트리 패치는 Server 2012 R2에서 작동
fiat

Windows 7
Hello Universe

1
reg 파일을 실행 한 후에 명령이 표시되지 않으면 Windows에서 로그 아웃했다가 다시 로그인하십시오.
trebormf

38

많은 프로그램에서 속성 메뉴에서 기본 권한 수준을 영구적으로 변경할 수 있습니다. 명령 프롬프트는 그러한 프로그램 중 하나가 아닙니다.

호환성 탭이 완전히 중지되는 모든 윈도우 실행 파일 :

여기에 이미지 설명을 입력하십시오

Windows 실행 파일에 대한 관리자 권한을 설정하려면 바로 가기를 생성하고 바로 가기 탭 → Advanced(시작 메뉴의 명령 프롬프트 항목은 이미 바로 가기 임)을 사용해야 합니다.

여기에 이미지 설명을 입력하십시오

이 창은 항상 내 Users 디렉토리 (승인 된 기술 1) 또는 내가 원하는 폴더 (승인 된 기술 2)가 아니라 C : \ windows \ system32에서 항상 열립니다. 그래서 종종 가고 싶은 곳으로 가기 위해 디렉토리를 변경해야합니다.

관리자 명령 프롬프트를 열면 어쨌든 이미 권한이있는 사용자 작업 대신 관리자 권한이 필요한 일부 시스템 작업을 수행하고 있기 때문에 이는 정상입니다.

Autorun레지스트리 항목 을 추가 / 편집하여 기본 디렉토리를 전역 적으로 설정할 수 있습니다 (환경 변수를 사용하기 위해 확장 가능한 문자열 일 필요조차 없음).

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd /d \"%userprofile%\""

이제 어떤 방법사용하여 명령 프롬프트 열 때마다 자동으로 사용자 프로필 디렉토리가 기본값으로 변경 됩니다 (기술적으로 change-directory ).

또한 &연산자를 사용하여 명령 프롬프트를 열 때마다 자동으로 실행되도록 다른 명령을 추가 할 수 있습니다 (예 :) cd /d %userprofile% & cls & dir. 또한 HKLM지점 아래의 동일한 키에서 동일한 값 을 설정하여 모든 사용자에 대해 설정할 수 있습니다.


여전히 UAC 프롬프트를 수락해야합니다. 불행히도 (현재?) 신뢰할 수있는 프로그램의 UAC "화이트리스트"를 생성하여 프롬프트를 수락하지 않고도 명령 프롬프트를 관리자로 실행할 수있는 방법이 없습니다. (a) 몇 가지 옵션이 있습니다.

  • UAC를 완전히 끄거나 끌 수 있습니다 ( useraccountcontrolsettings.exe)
  • 엘리베이터 일명 Elevate Me 또는 Elevation PowerToy 와 같은 권한 승격 프로그램을 사용할 수 있습니다
  • 높은 예약 작업 을 만들고 자격 증명을 한 번 입력 한 다음 작업 바로 가기를 만듭니다.

첫 번째 경우에는 UAC를 모두 피하고 후자의 경우 바로 가기를 만들 때 자격 증명을 한 번만 입력하면됩니다.


자동 실행을 통해 현재 디렉토리를 설정하는 데 문제가 있습니다. 해당 값을 설정 cd /d "%userprofile%"하면 새 콘솔 창을 열 때뿐만 아니라 새 실행 스레드가 호출 될 때마다 자동 실행됩니다. for /f루프 와 같은 문제가 발생할 수 있습니다 . cmd 프롬프트에서 다음 cd "\Program Files"을 시도하십시오 for /f "delims=" %I in ('cmd /c cd') do @echo %I. for /f루프가 현재 작업 디렉토리가 Program Files가 아니라 $ home이라고 생각하는 것을 볼 수 있습니다. cmd바로 가기 를 수정 하고 대상을로 설정하는 것이 더 안전합니다 "%comspec%" /k cd /d "%userprofile%".
rojo

새 콘솔 창을 열 때 Windows 버전 및 저작권 정보를 유지하려면 바로 가기의 대상을%comspec% /c cd /d "%USERPROFILE%" & %comspec%
rojo

비 레지스트리 편집 답변의 경우 +1 다른 대답은 2012 년에 좋았지 만 오늘 Windows 10에서 시도하고 싶지 않습니다.
Alan

19

내가 사용하는 해결책은 시작 메뉴를 열고 'cmd'를 입력하고 Ctrl+ Shift+를 눌러 명령 프롬프트를 여는 것 Enter입니다. 선택한 프로그램이 관리자로 시작됩니다.


1
"검색"이 필요없는 대안이 있습니까? (나는 상자에 입력 물건을 알고에서 실제로 검색 않기 때문에)
Pacerier

내가 아는 다른 방법은 Luke의 대답입니다 .UAC를 비활성화하십시오. cmd를 검색하는 것은 매우 빠르며 Ctrl + Shift + Enter를 누르기 전에는 찾을 수 없습니다.
Dracs

나는 항상 고객 컴퓨터에서 그렇게합니다. 그것은 CMD를 꽤 빨리 발견합니다
Canadian Luke

관리자로로드합니까?
barlop

@barlop 예,이 핫키 (Ctrl + Shift + Enter)는 시작 메뉴에서 강조 표시된 프로그램을 관리자로 시작합니다.
Dracs

12

CMD마우스 오른쪽 버튼을 클릭하거나 추가 바로 가기를 만들지 않고 간단히 클릭 할 때마다 관리자로 자동 실행하려면 다음 과 같이 쉽게 해결할 수 있습니다.

  1. 에서 레지스트리 편집기 ,로 이동합니다 :
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

    • Layers폴더 가없는 경우 폴더 를 만들어 이름을 지정해야합니다. 폴더를
      마우스 오른쪽 버튼으로 클릭하고 →AppCompatFlagsNewKey
  2. 마우스 오른쪽 버튼을 클릭 Layers하고 New→를 선택 String Value합니다. (전체 경로에 새 문자열 값의 이름을 설정합니다 CMD.EXE(예) 명령 프롬프트 C:\Windows\System32\cmd.exe)

  3. 새 문자열 값을 두 번 클릭하여 수정하고 "값 데이터" 를로 설정하십시오 RUNASADMIN.

나는 같은 성가심을 가지고 있었고 이것은 나를 위해 일했다.


11

CMD.exe를 항상 관리자 권한으로 실행하려면 레지스트리에 다음 코드를 추가하십시오.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

2
이것은 Windows 8.1에서 나를 위해 일했습니다. 이제 방금 Windows-R, cmd, Enter를 누르십시오. 또한 Shift-RightClick> 여기에서 명령 창 열기를 통해 파일 탐색기에서 명령 창을 여는 데 사용됩니다.
Troy Gizzi

1
이것이 작동하면 훨씬 더 긴 버전이 현재 허용되어 있음에도 불구하고 정답입니다.
Xodarap777 18시 41 분

이것은 Windows 10에서도 작동합니다. 내용을 메모장에 넣고 확장명을 .reg로 저장하고 실행
Chris Halcrow

4

내가 사용한 몇 가지 도구가 있는데, 다른 해결 방법이 있습니다 (Jesse가 언급 한 것 외에도).

비스타가 처음 나왔을 돌아 가기 때, 마이크로 소프트는 "나왔다 상승 매우 유용했다"PowerToy를하고 작업을했고, 여전히 나는 (테스트하지 않았습니다) 생각 경로 환경에 그것을 삭제하고 실행할 수있는 윈도우 7 작동 일반 명령 프롬프트에서 "iisreset 높이기"(또는 시작 / 실행에서 "cmd 높이기"또는 바로 가기 만들기)


다음은 다운로드에 대한 직접 링크 입니다.
ashleedawg

4

UAC 등의 모든 슬픔을 우회하는 가장 쉬운 방법은 높은 권한을 사용하여 cmd.exe를 실행하도록 작업 일정 항목을 설정하는 것입니다. 이벤트에 대한 트리거 이벤트를 작성하지 말고 설정 탭에서 요청시 태스크 실행 허용 선택란이 선택되어 있는지 확인하십시오. 또한 설정 탭에서 "작업이 이미 실행중인 경우 다음 규칙이 적용됨"드롭 다운이 새 인스턴스를 시작하지 않음으로 설정되어 있는지 확인하십시오.

그런 다음 바탕 화면에 바로 가기를 만들어 거기에서 실행하거나 바로 가기 단축키를 사용하거나 바로 가기를 작업 표시 줄에 고정하십시오.

Windows 7 시스템에서 수행했으며 완벽하게 작동합니다.


1
죄송합니다. 하나의 중요한 것을 지정하는 것을 잊었습니다. 다음은 작업 바로 가기의 대상 경로입니다. C : \ Windows \ System32 \ schtasks.exe / run / TN "UAC없는 명령 프롬프트". 따옴표 안의 텍스트는 작업을 만들 때 작업 이름을 짓는 것입니다.
피터 윌

귀하의 답변에 귀하의 이메일 ID를 묶지 않는다
블루 베리 - Vignesh4303

2

cmd.exe를 복사하여 붙여 넣고 \ system32 \ 폴더에서 "cmda.exe"로 이름을 바꿉니다 (337KB는 큰 문제가 아닙니다 ...). cmda.exe 속성의 "관리자 권한으로 실행"옵션이 더 이상 회색으로 표시되지 않으며 항상 관리자 권한으로 실행되도록 설정할 수 있습니다. 이제 두 개의 명령 프롬프트가 나타납니다. 첫 번째 명령 프롬프트는 일반이고 두 번째 명령 프롬프트에는 (a) dmin 권한이 있습니다. Win"cmd"를 사용하는 것처럼 검색 창 에 "cmda"를 입력하는 것이 쉽습니다 !

관리자 권한이있는 상황에 맞는 메뉴의 cmd의 경우 cmda.exe가 이미 있는지 확인하고 새 .reg 파일에 추가하고 실행하십시오.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda]
@="Open command window here (Administrator)"
"HasLUAShield"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda\Command]
@="cmda.exe /s /k pushd \"%V\""

상황에 맞는 메뉴에 두 줄의 동일한 줄이 표시됩니다 (shift). 높지 않은 명령 프롬프트와 "(관리자)"가 추가 된 명령 프롬프트

그게 다야 ...


1

cmd.exe에 대한 바로 가기를 작성하고 마우스 오른쪽 단추를 클릭하고 특성을 선택한 후 바로 가기 탭에서 고급을 선택하고 관리자로 실행을 선택하십시오.


1

관리자로 항상 cmd를 실행하는 가장 쉬운 방법은 아래 코드로 .reg 파일을 만드는 것입니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
@="C:\\Windows\\System32\\cmd.exe"="RUNASADMIN"

메모장이나 무언가에 붙여 넣고 .reg 파일로 저장하십시오. 참고 : 이렇게하면 모든 사용자에 대해 명령 프롬프트가 관리자 권한으로 실행됩니다. 항상 사용자로만 관리자 권한으로 실행하려면 HKEY_LOCAL_MACHINE을 HKEY_CURRENT_USER로 변경하십시오.


1

Jesse Brohinsky에게 감사합니다

보다 개선 된 버전. 여기에는 폴더 내부에서 cmd를 열 수있는 배경 디렉토리도 포함됩니다. 또한이를 위해 비 관리자로 commandpromt를 열 수 있습니다.

또한 AdminApprovalMode를 비활성화 할 수 있습니다. 이렇게하면 관리자 일 때 관리자 권한으로 실행할 필요가 없습니다. http://helpdeskgeek.com/windows-7/turn-off-admin-approval-mode-in-windows-7/

Windows Registry Editor Version 5.00
;write minus before to unreg example: [-HKEY_CLASSES_ROOT\Directory\shell\cmdhere]

[HKEY_CLASSES_ROOT\Directory\shell\cmdhere]
@="Open Command Window Here"

[HKEY_CLASSES_ROOT\Directory\shell\cmdhere\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere]
@="Open Command Window Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

0

Dracs가 언급 한 것 이외의 다른 방법은 UAC를 완전히 비활성화하는 것입니다.


0

다음은 나를 위해 작동합니다.

@echo off
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

같은 uac 프롬프트가 표시되어 runas admin ..을 확인했습니다. 얼마 전에 @ stackexchange

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.