윈도우즈용 명령줄을 사용하여 상승된 cmd를 여는 방법은 무엇입니까?
일반 cmd에서 명령줄을 사용하여 상승된 명령 프롬프트를 열려면 어떻게 해야 합니까?
를 들어, 저는 를들어, 는저를 합니다.runas /username:admin cmd그러나 열린 cmd가 상승되지 않은 것 같습니다!해결책이 있습니까?
같은 문제가 발생했는데 CMD에서 관리자로 CMD를 열 수 있는 유일한 방법은 다음과 같습니다.
- CMD 열기
- 기
powershell -Command "Start-Process cmd -Verb RunAs"를 누릅니다. - 관리자로 CMD를 열 것을 요청하는 팝업 창이 나타납니다.
상위 답변에 의견을 추가할 만큼 평판이 좋지 않지만, 별칭의 힘으로 다음을 입력하는 것만으로도 문제를 해결할 수 있습니다.
powershell "start cmd -v runAs"
이것은 user3018703 우수한 솔루션의 짧은 버전입니다.
powershell -Command "Start-Process cmd -Verb RunAs"
여기서 다른 답변을 시도한 후 간단한 방법
방법 1: 타사 프로그램 없이 (이것을 사용했습니다)
- 는 파일을 .
sudo.bat((으)로 할 수sudo으로) 과 같은 내용을 합니다.powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs" - 동
sudo.bat의PATH그게 무슨 뜻인지 모른다면, 그냥 이 파일들을 다음으로 옮기세요.c:\windows\ - 지금이다
sudo실행 win+r대화 상자() 또는 탐색기 주소 표시줄(가장 좋은 부분:))에서 작동합니다.
방법 2: 타사 프로그램 사용
- NirCmd를 다운로드하여 압축을 풉니다.
- 는 파일을 .
sudo.bat((으)로 할 수sudo으로) 과 같은 내용을 합니다.nircmdc elevate cmd /k "cd /d %cd%" - 동
nircmdc.exe그리고.sudo.bat의PATH그게 무슨 뜻인지 모른다면, 그냥 이 파일들을 다음으로 옮기세요.c:\windows\ - 지금이다
sudo실행 win+r대화 상자() 또는 탐색기 주소 표시줄(가장 좋은 부분:))에서 작동합니다.
설명서에 따르면 윈도우즈 보안 모델은...
관리자 권한을 항상 부여하지는 않습니다.관리자도 상승된 권한이 필요 없는 비관리 태스크를 수행할 때 표준 권한으로 실행됩니다.
새 작업 생성 대화 상자(작업 관리자 > 파일 > 새 작업 실행)에 관리자 권한으로 이 작업 생성 옵션이 있지만 명령줄을 사용하여 권한을 효과적으로 상승시킬 수 있는 기본 제공 방법은 없습니다.
그러나 내부적으로 윈도우즈 API에 의존하는 일부 타사 도구를 사용하여 명령줄에서 권한을 상승시킬 수 있습니다.
NirCmd:
- 다운로드하여 압축을 풉니다.
nircmdc elevate cmd
windosu:
항상 nirsoft 프로그램(예: nircmdc)과 sysinternal(예: psexec)을 사용합니다.그들은 매우 도움이 됩니다.
하지만 타사 프로그램을 실행하고 싶지 않거나 실행할 수 없다면 다른 방법인 순수 Windows를 사용할 수 있습니다.
간단한 답변: 상승된 권한으로 예약된 작업을 만들 수 있으며, 상승되지 않은 상태에서 나중에 호출할 수 있습니다.
중간 길이 답변: 작업 스케줄러 GUI를 사용하여 작업 생성:
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
그런 다음 나중에 권한 상승이 필요하지 않습니다.
schtasks /run /tn cmd_elev
긴 답변:안절부절못하는 세부사항이 많습니다. 블로그 항목 "시스템 시작 및 배치 파일에서 유용한 UAC 없이 프로그램 시작"을 참조하십시오(작업 스케줄러 사용).
다음을 배치 파일로 지정하면 경로가 배치 파일이 호출된 디렉터리와 동일한 디렉터리로 설정된 고급 명령 프롬프트가 열립니다.
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
Dheeraj Bhaskar에서 제공하는 두 가지 솔루션이 모두 작동하지만, 안타깝게도 UAC 대화 상자가 맨 위에 표시되지만 초점이 맞지 않습니다(초점 창은 호출자 cmd/powershell 창). 따라서 마우스를 잡고 "예"를 클릭하거나 Alt+Shift+Tab을 사용하여 UAC 창을 선택해야 합니다.(Win10x64 v1607 빌드 14393.447에서 테스트됨, UAC = "[...] 어둡게 하지 마십시오.")
다음 솔루션은 두 개의 파일을 사용하기 때문에 약간 어색하지만 올바른 포커스 순서를 유지하므로 추가 마우스/키보드 작업이 필요하지 않습니다(UAC 대화 상자 확인 외에도 Alt+Y).
- 속성 / cmdadm.lnk(관리자 ) = ON)
%SystemRoot%\System32\cmd.exe /k "cd /d" - .물.배트
@start cmdadm.lnk %cd%
와 함께 su.
증명을 합니다./savecred처음에는 자격 증명을 한 다음 관리자에 합니다.이렇게 하면 처음에 자격 증명을 묻는 메시지가 표시되고 암호화된 암호가 자격 증명 관리자에 저장됩니다.그런 다음 모든 이후 시간 동안 배치가 전체 관리자로 실행되지만 인증 정보가 암호화된 상태로 저장되고 최종 사용자가 암호를 가져올 수 없기 때문에 인증 정보를 묻는 메시지는 표시되지 않습니다.다음은 전체 관리자 권한으로 상승된 CMD를 열어야 하며 처음에만 암호를 묻는 메시지를 표시합니다.
START c:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe
제가 가장 좋아하는 방법은 SysInternals의 PsExec.exe를 사용하는 것으로, http://technet.microsoft.com/en-us/sysinternals/bb897553 에서 확인할 수 있습니다.
.\psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
"-h" 스위치는 마법을 부리는 스위치입니다.
-h 대상 시스템이 Vista 이상인 경우 계정의 상승된 토큰(사용 가능한 경우)으로 프로세스를 실행합니다.
저는 지금 한동안 사용하고 있습니다.
설입니다.This utility executes a command with UAC privilege elevation. This is useful for working inside command prompts or with batch files.
합니다.bin.x86-64\elevate.exe.zip안으로C:\Program Files\elevate그리고 그 경로를 나의 것에 추가합니다.PATH.
그럼 GitBash 나는 다음과 같은 것을 실행할 수 있습니다.elevate sc stop W3SVC원을끄다를 IIS서비스.
명령을 실행하면 다음과 같은 이점을 얻을 수 있습니다.UAC키보드 제어로 적절하게 초점을 맞추고 대화 상자를 수락하면 내 셸로 돌아갑니다.
Dheeraj Baskar의 Powershell을 사용한 방법에는 적어도 Windows 10의 Powershell 화신을 위한 공간이 없습니다.
그의 sudo.bat 안에 있는 명령줄은 다음과 같아야 합니다.
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd% \" -Verb RunAs"
%cd% 뒤에 추가 공간을 기록합니다.
;)프로드
, 는 위다솔과유사하게션, ▁an다▁similar▁above▁created니▁i를 만들었습니다.elevate실행 정책을 우회하여 간단한 명령부터 배치 파일, 복잡한 PowerShell 스크립트에 이르기까지 모든 것을 실행할 수 있도록 하는 배치 파일입니다.C:C:C:C:C:C:C:에 꽂는 합니다.\Windows\사용 편의성을 위한 System32 폴더.
원본elevate명령은 작업을 실행하고 출력을 캡처한 다음 생성된 PowerShell 창을 닫고 원래 창에 캡처된 출력을 기록하여 반환합니다.
변형을 만들었는데요, 두가지만들지만었을형변,elevatep그리고.elevatex추가 작업을 위해 PowerShell 창을 각각 일시 중지하고 열어 둡니다.
https://github.com/jt-github/elevate
링크가 끊어질 경우를 대비해 원본 권한 상승 배치 파일의 코드는 다음과 같습니다.
@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
)
..
@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
이 스크립트를 시스템에 "god.dll"로 저장합니다.32 또는 경로가 가리키는 것이 무엇이든...
cmdin e:\mypictures\를 열고 god를 입력하면 자격 증명을 요청하고 관리자와 동일한 위치로 돌아갑니다.
정말 창의적인 해결책이 많이 있는 것 같습니다. 하지만 저는 스티글러 & 구이가 가장 말이 된다는 것을 알게 되었습니다.어떻게 하면 이 작업을 수행할 수 있는지 알아보고 있었지만 "현재 사용자"의 로컬 권한에 의존하는 대신 도메인 관리 자격 증명과 함께 사용했습니다.
제가 생각해낸 것은 다음과 같습니다.
runas /noprofile /user:DomainName\UserName "powershell start cmd -v runas"
중복된 것처럼 보일 수 있지만 관리자 암호를 묻는 메시지가 표시되고 고급 명령 프롬프트로 표시됩니다.
다음은 탐색기와 통합하는 방법입니다.Windows 탐색기에서 다음 폴더를 마우스 오른쪽 단추로 클릭하면 추가 메뉴 항목이 팝업됩니다.
다음은 단계입니다.
- 키를 만듭니다.
\HKEY_CLASSES_ROOT\Folder\shell\dosherewithadmin - 기본값을 메뉴 항목 텍스트로 표시할 항목으로 변경합니다.
예: "DOS Shell as Admin" - 키를 .
\HKEY_CLASSES_ROOT\Folder\shell\dosherewithadmin\command - 기본값을 다음으로 변경합니다.
powershell.exe -Command "Start-Process -Verb RunAs 'cmd.exe' -Args '/k pushd "%1"'" - 완료되었습니다. 이제 폴더를 마우스 오른쪽 단추로 클릭하면 다른 항목 안에 있는 항목을 볼 수 있습니다.
*우리는 사용합니다.pushd에 cd모든 드라이브에서 작동할 수 있도록 합니다. :-)
Cygwin의 팬들을 위하여:
cygstart -a runas cmd
가장 빠른 방법은 다음과 같습니다.
CTRL+ALT+DELETE- 작업 관리자 실행
- 릭
FILE > Run New Task > type in "cmd"관리자 권한으로 이 작업 만들기 상자를 선택합니다.
이게 도움이 될지는 모르겠지만 이렇게 할 수 있었습니다.배치에서 실행할 명령이 필요하면 도움이 안 되지만 헤이호...Windows 탐색기가 손상되어 수정해야 하기 때문에 필요했습니다.
이것이 제 해결책입니다.이것이 원본 포스터가 아니더라도 누군가에게 도움이 되기를 바랍니다.
알고 있는 맨 위에 추가합니다(CMD 바로 ).@ECHO OFF):
NET FILE > NUL 2>&1 || POWERSHELL -ex Unrestricted -Command "Start-Process -Verb RunAs -FilePath '%ComSpec%' -ArgumentList '/c \"%~fnx0\" %*'" && EXIT /b
그NET FILE기존 관리자 권한을 확인합니다.이 스크립트가 없는 경우 PowerShell은 인수가 포함된 현재 스크립트를 상승된 셸에서 다시 시작하고 상승되지 않은 스크립트가 닫힙니다.
스크립트 실행을 허용해야 합니다.-Command 다음 문자열을 실행합니다.Start-Process -Verb RunAs 관리자 권한으로 프로세스 실행: 셸(%ComSpec%, 통보C:\Windows\System32\cmd.exe () 시작((/c)%* 인수를 전달하는 현재 스크립트()\"%~fnx0\"입니다.
이 질문에 대한 정확한 답은 아닐 수도 있지만, 결국 사람들이 필요로 하는 것이 여기에 올 수도 있습니다.
답변에 조금 늦었지만 저처럼 늦게 온 사람들은 어쨌든 답변을 합니다.두 가지 방법이 있습니다.첫 번째는 @Dheeraj Bhaskar의 답변에 대한 약간의 변경을 기반으로 하며 두 번째는 새로운 것입니다(여기서 어떤 답변에서도 언급되지 않음).
접근법 1: 생성admin창 명령(유연성을 위해).
@ECHO OFF
powershell -Command "Start-Process %1 -Verb RunAs"
메모장 열기 -> 위 스크립트 복사/붙여넣기 -> 관리자로 저장합니다.bat in c:\windows
위 스크립트에 더 나은 결과를 위해 많은 것을 추가할 수 있지만, 저는 배치 스크립트에 전문가가 아니기 때문에 단순성을 유지하려고 노력했습니다.
이제 admin을 명령어로 사용하여 상승된 권한으로 다른 명령이나 응용 프로그램을 실행할 수 있습니다.
- 원래질에답 - 유형을 합니다.admin cmd표준 cmd 단위.
접근 2: 실행 명령 사용.이를 위해 아직 활성화되지 않은 경우 기본 제공 관리자 계정을 활성화하고 암호를 설정해야 합니다.이 계정은 대부분의 시스템에서 기본적으로 비활성화되어 있습니다.
PC를 제조할 때 사용자 계정을 만들기 전에 기본 제공 관리자 계정을 사용하여 프로그램 및 앱을 실행할 수 있습니다.출처
관리자 계정 활성화 단계
- Windows+를 합니다.R을 누르고 입력합니다.
compmgmt.msc그러면 컴퓨터 관리 창이 열립니다. - 시스템 도구 -> 로컬 사용자 및 그룹 -> 사용자로 이동합니다.
- 관리자 이름의 계정이 여기에 표시됩니다(이 계정에 대한 자세한 내용은 여기에서 확인할 수 있습니다).
- 관리자를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
- 암호가 만료되지 않음을 확인합니다.계정 사용 안 함 및 기타 모든 항목의 선택을 취소한 후 확인을 클릭합니다.시스템에서 관리자 계정을 사용할 수 있습니다.이미 활성화된 경우 건너뜁니다.
- 를 마우스 오른쪽 단추로 Password를 "Administrator"의 경우에는 설정되지 않습니다).
runas명령을 실행하려면 암호를 설정해야 합니다.이제 사용자가 받아들일 수 있는 생명을 위협하는 경고가 창에 표시됩니다.또는 이 계정을 활성화한 후 로그인하여 암호를 설정해야 합니다.
지금이다runas해야 합니다. - 및 를 합니다.
runas /user:administrator cmd
EXTRA: 이제 리눅스와 유사한 것을 만들 수 있습니다.sudo지휘권다음 스크립트를 사용하여 sudo.bat 파일을 만들고 c:\windows에 저장합니다.
@ECHO OFF
powershell -Command "runas /user:administrator %1"
이제 할 수 있습니다.sudo cmd
저는 제 스마트 ctl을 위해 이것을 했고, 그것은 휴대용 앱이 되었습니다.여기서 빌렸어요.
@echo off
set location=%cd%\bin
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList { '/k "TITLE Smartctl" & color 07 & pushd "%location%" & prompt $g & echo "Welcome to Smartctl cmd"' }"
prompt $g긴 선행 경로를 숨깁니다.
pushd "%location%"는 와유다사 니합다니.cd /d "%location%"
- 으로 되었습니다.
smartctl.cmd - 의 바로 만들기
smartctl.cmd - 가기를 바가기복위로 합니다.
C:\Users\#YourName#\AppData\Roaming\Microsoft\Windows\StartMenu\Programs - 에 있는 에 시작메옆있에검는클색입다릭고니력합하을뉴다를 입력합니다.
smartctl - 버튼을 클릭합니다.
Pin to Start
/noprofile /user:administrator cmd 명령으로 실행합니다.
사용:
start,run,cmd,그리고나서control+shift+enter
UAC와 명령 셸을 사용할 수 있습니다.
gsudo 도구 설치 및 사용gsudo"" 팝업이 합니다.UAC 팝업이 나타나고 최종적으로 현재 콘솔 창에서 명령 프롬프트가 상승합니다.
C:\Users\Someone>net session
System error 5 has occurred.
Access is denied.
C:\Users\Someone>gsudo
C:\Users\Someone# net session
There are no entries in the list.
도구는 다양한 패키지 관리자(Scoop, WinGet, Chocolatey)를 사용하여 설치할 수 있습니다.
상승된 바로 가기와 함께 사용할 임시 환경 변수를 사용할 수 있습니다.
start.sshot
setx valueName_betterSpecificForEachCase %~dp0
"%~dp0ascladm.lnk"
cladm.skk(슬롯)
_ properties\advanced\"run as administrator"=yes
하려면 임시로 (으)로 작성해야 env.Variable)
_ properties\target="%valueName_betterSpecificForEachCase%\ascladm.cmd"
_ properties\"start in"="%valueName_betterSpecificForEachCase%"
느릿느릿한 옷
setx valueName_betterSpecificForEachCase=
reg delete HKEY_CURRENT_USER\Environment /F /V valueName_betterSpecificForEachCase
"%~dp0fileName_targetedCmd.cmd"
(targetedCmd는 상승된 cmd 창에서 실행됨)
3개의 파일이지만 일부 하위 폴더에 모든 것(targetedCmd 포함)을 배치하고(folderName을 패치에 추가하는 것을 잊지 않음) "start.cmd"를 대상의 하나의 이름으로 변경할 수 있습니다.
cmd에는 필요한 명령어가 없는 반면, 나에게는 이를 수행하는 가장 기본적인 방법처럼 보입니다.
당신은 다음 구문을 사용할 수 있습니다, 저는 같은 질문을 했고 스크립트가 필요하지 않다고 생각했습니다.
/profile /user:domain\domain cmd로 실행
이것은 저에게 효과가 있었습니다, 당신의 네트워크에서는 다를 수 있습니다.
cmd에서 다음 명령을 사용하여 쉽게 수행했습니다.
/netonly /user로 실행:관리자\관리자 cmd
이 명령을 입력한 후에는 관리자 암호를 입력해야 합니다(관리자 암호를 모를 경우 비워두고 Enter 키를 누르거나 무언가를 입력하면 작업이 완료됨).
Windows + X 키를 누르면 이제 관리자 권한이 있는 Powershell 또는 Command Prompt를 선택할 수 있습니다.사용자가 관리자인 경우 작동합니다.시스템이 사용자의 것이 아닌 경우 이 기능을 사용할 수 없습니다.
에서 이 도구를 만들었습니다.Net 4.8 Exec Elevated.exe, 13KB (VS 2022 소스 프로젝트) 그것은 상승된 토큰으로 애플리케이션을 실행할 것입니다 (관리 모드에서).그러나 UAC 대화 상자가 표시되어 확인할 수 있습니다!(UAC가 비활성화되었거나 테스트하지 않은 경우에는 그렇지 않을 수 있습니다.
그리고 툴을 호출하는 계정에도 admin이 있어야 합니다.당연한 권리
사용 예:
ExecuteElevated.exe "C:\Utility\regjump.exe HKCU\Software\Classes\.pdf"
저는 용한사를 요.runas /user:domainuser@domain cmd상승된 프롬프트가 성공적으로 열었습니다.
상승된 cmd를 여는 방법은 여러 가지가 있지만 표준 명령 프롬프트에서는 사용자의 방법만 작동합니다.그냥 당은그만 .user것은 아니다.username:
runas /user:machinename\adminuser cmd
Microsoft 커뮤니티의 관련 도움말을 참조하십시오.
언급URL : https://stackoverflow.com/questions/19098101/how-to-open-an-elevated-cmd-using-command-line-for-windows
'sourcecode' 카테고리의 다른 글
| Angular와 함께 jQuery를 사용하는 방법은 무엇입니까? (0) | 2023.04.28 |
|---|---|
| 새 항목이 추가될 때 ListBox 자동 스크롤을 사용하려면 어떻게 해야 합니까? (0) | 2023.04.28 |
| 명령줄을 통해 Git 커밋 메시지에 느낌표 사용 (0) | 2023.04.28 |
| Bash의 경로 문자열에서 파일 접미사와 경로 부분을 제거하려면 어떻게 해야 합니까? (0) | 2023.04.28 |
| 문서에 대해 검색된 문법 제약 조건(DTD 또는 XML 스키마)이 없습니다. (0) | 2023.04.28 |
