CMD 및 Batch 파일에서 runas 명령을 사용하여 높은 권한을 얻으려고하지만 PC가 내 컴퓨터이므로 유일한 사용자이기 때문에 PC에 관리자 암호가 없습니다. runas 명령을 사용할 때마다 암호를 묻고 빈 암호는 허용되지 않는다고 알려줍니다.이 방법이 있습니까? 나는 마우스 오른쪽 버튼을 클릭하고 관리자로 실행을 선택할 수 있다는 것을 알고 있지만 항상 옵션이 아니기 때문에 수행 할 수있는 명령이 훨씬 많으며 약간의 고통입니다.
나는 명령 프롬프트에 크게 경험하지 않았기 때문에 일종의 기본적인 실수를 할 수 있었지만 완전히 단서가 아닙니다.
답변
이것은 가정 환경 이므로이 답변에 대해 약간 덜 긴장합니다. 그 의미가 무엇인지 이해하기 위해 언급 할 정책의 메모를 읽어야합니다.
시작으로 이동 | 운영. 입력 secpol.msc
하고 Enter를 누르십시오. 로컬 정책으로 이동 한 다음 보안 옵션으로 이동하십시오. 계정 : 빈 비밀번호의 로컬 계정 사용을 콘솔 로그온으로 만 제한 이라는 정책을 찾으십시오 . 비활성화로 설정하십시오.
답변
VBScript를 사용하여 명령을 향상시킬 수 있습니다.
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cmd.exe", "", "", "runas", 1
로 저장 *.vbs
한 다음 cscript
또는wscript
답변
SysInternal의 PSexec.exe 를 사용 하여 권한을 올릴 수 있다고 생각합니다 .
예를 들어 이것을 실행할 수 있습니다. psexec \\%computername% -i -h notepad.exe
답변
아시다시피 runas는 다른 사용자로만 명령을 실행할 수 없습니다.
권한 상승이 필요한 것으로 표시된 실행 파일을 시작하려고하면 UAC 프롬프트가 발생하여 권한 상승이 발생합니다. CreateProcess의 옵션이 아닙니다. 따라서 cmd의 높지 않은 복사본을 실행 중이고 다른 일반 명령을 실행하지만 높은 수준으로 실행하려면 실행 가능하지만 권한 상승으로 표시되는 interlude 명령이 필요합니다. 현재 디렉토리와 환경 변수가 상위 자식에 의해 상속되지 않기 때문에 복잡합니다.
Hamilton C 셸에 포함 된 su 명령 (전체 공개 : 저자 임)에는이를 해결하는 sudo 옵션이 있으며 여기에 내가 수행 한 방법이 있습니다. 고도로 표시된 elevate.exe로 저장됩니다. 그런 다음, su를 사용하여 공유 메모리를 통해 핸드 셰이크하여 명령 행 인수, 현재 디렉토리 및 환경을 입면 경계를 넘은 다음 elevate가 명령을 실행합니다.
답변
RunAs 명령을 수행하는 RunAsSpc 를 실행 했지만 암호로 노출되지 않도록 암호화로 읽고 쓰는 기능이 포함되어 있습니다.
저자는 RunAsSpc를 사용하여 이러한 요구 사항을 충족한다고 말합니다.
- 사용자는 runas와 같은 비밀번호를 입력 할 필요가 없습니다.
- 내가 허용 한 응용 프로그램 만 사용자가 시작할 수 있습니다.
- 응용 프로그램 이름을 바꾸거나 식별 정보를 저장하여 도구를 우회해서는 안됩니다 (예 : runas / savecred)
- 다루기 쉬워야합니다.