Windows에서 다음 명령을 어떻게 실행합니까?
$ sudo django-admin.py startproject NEW
?
Windows에서 다음 명령을 어떻게 실행합니까?
$ sudo django-admin.py startproject NEW
?
답변:
sudo
Windows 에는 명령 이 없습니다 . 가장 가까운 것은 "관리자 권한으로 실행"입니다.
runas
관리자 신뢰 수준 의 명령을 사용 하거나 UI에서 프로그램을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 선택 하여이 작업을 수행 할 수 있습니다 .
gsudo
( stackoverflow.com/a/58753166/97471 ). *nix sudo
사용자 경험 이있는 Windows 용 sudo : 현재 콘솔 및 자격 증명 캐시 (단 하나의 UAC 팝업) 내에서 명령을 실행할 수 있습니다.
메모장을 열고 다음 코드를 붙여 넣습니다.
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
@echo on
그런 다음 파일을 sudo.cmd
. 이 파일을 복사 하여 PATH 환경 변수에 붙여 넣거나 C:\Windows\System32
경로를 추가하십시오 sudo.cmd
.
명령 프롬프트를 열면 이제 sudo start .
.
명령을 실행할 때 관리자 명령 프롬프트 창을 열어 두려면 메모장의 코드를 다음과 같이 변경하십시오.
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
@echo on
설명:
powershell -Command
powershell 명령을 실행합니다.
Start-Process
프로세스 (이 경우 명령 프롬프트)를 시작하는 powershell 명령입니다.
-Verb RunAs
관리자로 명령을 실행합니다.
-Argument-List
인수를 사용하여 명령을 실행합니다.
우리의 주장은 '/c cd /d %CD% && %*'
. %*
당신이 한 경우 그래서, 모든 인수를 의미 sudo foo bar
, 그것은 명령 프롬프트에서 실행됩니다 foo bar
매개 변수가 foo는, 바, 그리고 있기 때문에 %*
반환 foo bar
. cd /d %CD%
현재 디렉토리로 이동하는 명령입니다. 이렇게하면 상승 된 창을 열 때 디렉터리가 일반 창과 동일하게됩니다. &&
첫 번째 명령이 성공하면, 두 번째 명령을 실행하는 것을 의미한다.
는 /c
명령이 완료된 후 창을 닫는 cmd를 매개 변수이며,이 /k
창을 열어 유지하는 cmd를 매개 변수입니다.
에 신용 아담 Plocher 현재 디렉토리 코드에서 체류합니다.
C:\Windows\System32
.
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
echo
을 앞에 추가 하여 줄 1과 3을 건너 뛸 수 있습니까 @
?
모든 답변은 새 콘솔 호스트 에서 명령을 높이는 방법을 설명합니다 .
나를 즐겁게 한 것은 이러한 도구 중 어떤 것도.와 같이 작동하지 않아 현재 콘솔 *nix sudo
내에서 명령을 실행할 수 있다는 것 입니다.
그래서 저는 다음과 같이 썼습니다 : gsudo
소스 코드 https://github.com/gerardog/gsudo
특종을 통해
scoop install gsudo
또는 Chocolatey를 통해
choco install gsudo
수동 설치 :
나는 현재 디렉토리의 컨텍스트에서 상승 된 권한으로 프로그램이나 명령을 실행하기 위해 Windows 용 wsudo
오픈 소스 sudo
와 유사한 CLI 도구 인을 만들었습니다 . Chocolatey 패키지 로 제공됩니다 .
나는 빌드 에이전트, 관리자 같은 것들을 구성과 같은 물건이 많이 사용 sfc /scannow
, dism /online /cleanup-image /restorehealth
또는 간단하게 설치 / 내 로컬 Chocolatey 패키지를 업데이트합니다. 자신의 책임하에 사용하십시오.
choco install wsudo
Chocolatey 가 이미 설치되어 있어야합니다.
wsudo
sudo
관리자가 아닌 셸 명령 프롬프트에서 관리자 권한으로 상승 된 프로그램을 호출하고 현재 디렉터리를 유지하는 Windows 용 Linux 유사 도구입니다.
이 구현은 레거시 Windows 스크립트 호스트 ( CScript
) 에 의존하지 않습니다 . 대신 다음을 호출하는 도우미 PowerShell 5.1 스크립트를 사용합니다."Start-Process -Wait -Verb runAs ..."
cmdlet . 시스템에 이미 PowerShell 5.x가 설치되어있을 가능성이 높습니다. 그렇지 않으면 종속성으로 설치하라는 메시지가 표시됩니다.
wsudo
현재 디렉터리에서 상승 된 권한으로 프로그램 또는 인라인 명령을 실행합니다. 예 :
wsudo .\myAdminScript.bat
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts
자세한 내용은 GitHub 재현을 참조하세요 .
wasudo
이 당신을 더 쉽게 만들었습니다. 나는 주로 VSCode 통합 콘솔 터미널에 살고 있으므로 wasudo
거기에 입력합니다 . 다음 개선 사항은 환경 vars 상속하는 것 입니다.
runas
명령을 사용하려면 사용자가 암호를 입력해야합니다. 암호를 입력하지 않고 UAC 대화 상자 만 클릭하려면 명령 Start-Process -Verb runas
대신 PowerShell 에서 사용하십시오 runas
.
* nix에서 실행하지 않기 때문에 일반적으로 그렇지 않습니다. 사용자 디렉터리에서 개발하고 나중에 시스템 디렉터리에 배포합니다.
Windows에서는 runas 명령을 사용할 수 있습니다. Linux 사용자의 경우 Windows에 sudo에 대한 몇 가지 대안이 있습니다.
http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/
종류가 있습니다. 2007 년에 Windows 용 Sudo를 만들었습니까? 08? 여기에 내가 작성한 보안 문서가 있습니다-https: //www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726 . 확신 http://sudowin.sf.net는 여전히 너무 작동합니다.
당신은에서 runas 명령을 사용할 수 있습니다 - http://technet.microsoft.com/en-us/library/bb490994.aspx 또는 sudowin - http://sourceforge.net/projects/sudowin/
다음 vbs 스크립트는 상승이있는 인수를 사용하여 주어진 명령을 시작할 수 있으며 제한된 사용 사례 세트에 대해 원래 unix sudo 명령의 동작을 모방합니다 (자격 증명을 캐시하지 않으며 다른 자격 증명으로 명령을 실제로 실행할 수 없습니다). 나는 그것을 입었다 C:\Windows\System32
.
Set objArgs = WScript.Arguments
exe = objArgs(0)
args = ""
IF objArgs.Count >= 2 Then
args = args & objArgs(1)
End If
For it = 2 to objArgs.Count - 1
args = args & " " & objArgs(it)
Next
Set objShell = CreateObject( "WScript.Shell")
windir=objShell.ExpandEnvironmentStrings("%WINDIR%")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute exe, args, "", "runas", 1
set objShellApp = nothing
명령 프롬프트에서의 사용 예 sudo net start service
나는 약간의 조사를하고 성공한 후에 아래 단계를 시도했다고 생각합니다.
1. powershell 3 (iex (new-object net.webclient) .downloadstring ( ' https://get.scoop.sh '))을 사용하여 scoop을 설치합니다. 2. do scoop install --global sudo 3. 경로를 확인하십시오 (C : \ Users \\ scoop \ shims & C : \ ProgramData \ scoop \ shims)가 환경 경로 변수에 추가되었습니다.
도와 드리겠습니다.
sudo 명령을 만들려면 다음 단계를 따르십시오.
이것이 당신을 도울 수 있기를 바랍니다
권한이없는 Powershell에서 관리자 권한으로 명령을 실행하려면 Start-Process
올바른 옵션, 특히 -Verb runas
.
sudo
특히 추가 옵션을 사용하여 이전 명령을 재사용 할 수 없기 때문에 보다 복잡 합니다. 명령에 대한 인수를 별도로 지정해야합니다.
다음은 route 명령을 사용하여 게이트웨이를 변경하는 예입니다.
이것은 우리가 높은 PS에 있지 않기 때문에 실패합니다.
> route change 0.0.0.0 mask 0.0.0.0 192.168.1.3
The requested operation requires elevation.
이것은 UAC를 수락 한 후에 작동합니다.
> Start-Process route -ArgumentList "change 0.0.0.0 mask 0.0.0.0 192.168.1.3" -Verb runas
또는 다음이 필요한 명령의 경우 cmd.exe
:
> Start-Process cmd -ArgumentList "/c other_command arguments ..." -Verb runas