
Runas를 사용하여 권한을 높이려고 할 때 뭔가 빠져 나갑니다. 이미 관리자 권한이 있는 단일 사용자가 있는 간단한 Win10 시스템입니다. 스크립트를 통해 특정 레지스트리 키를 작성해야 하는데 reg 명령을 직접 사용하려고 하면 "액세스가 거부되었습니다"라는 메시지가 나타납니다.
> reg ...
ERROR: Access is denied.
내가 시도하면 :
> runas /user:Administrator Command
Enter the password for Administrator:
1326: The user name or password is incorrect.
내 사용자 비밀번호를 거부합니다. 로컬 컴퓨터에는 특정 관리자 비밀번호가 없는 것 같은데요, 그렇죠? 다른 계정은 없습니다. 견딜 수 없는:
> runas /user:MyUser Command
Enter the password for MyUser:
740: The requested operation requires elevation
그렇다면 명령줄에서 권한을 어떻게 높이나요?!? 여기에서 관리자 권한이 있음을 확인할 수 없는 이유는 무엇입니까?
>runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)
편집: 어쩌면 내가 하고 싶은 일이 무엇인지 더 명확하게 해야 할 것 같습니다. C 프로그램에서 WT_KEY_HKLM, "Software\Microsoft\Windows\CurrentVersion\Run"을 변경하고 싶습니다. XP에서 직접 이 작업을 수행할 수 있지만 최신 버전의 Windows에서는 효과가 없습니다. 실제로 명령줄에서 이 키에 대해 "reg"를 실행하면 액세스가 거부됩니다. 나는 높은 권한으로 프로그램을 실행하고 싶지 않기 때문에 system("runas reg ...") 와 같은 작업을 수행하여 암호를 요청하고 레지스트리를 변경하는 것이 아이디어였습니다. 하지만 명령줄에서 명령을 실행할 수도 없습니다. 어쩌면 누군가가 적절한 방법을 제안할 수 있을까요?
답변1
[user] 및 [command]를 사용하려는 것으로 바꾸고 이것을 시도해 보십시오.
powershell.exe -ExecutionPolicy Bypass -command "& {Start-Process powershell.exe -Credential '[user]' -ArgumentList 'Start-Process ""[command]"" -Verb runAs'}"
장점:
- 권한이 없는 명령 프롬프트, 실행 창 및 창 바로 가기에서 사용할 수 있습니다.
- 명령만 승격시킵니다. 권한 상승은 PowerShell 창을 실행하지 않고 명령 실행의 일부로 수행됩니다.
단점:
- 항상 로그인을 요청하는 메시지가 표시됩니다(runas처럼 자격 증명을 저장할 수 있는 방법은 없습니다). - 이것은 프로일 수도 있습니다.
- UAC가 활성화된 경우 UAC 프롬프트가 표시됩니다. 이는 UAC로 권한을 승격할 때 불가피합니다.
- 자격 증명 및 권한 상승을 처리하는 동안 2개의 PowerShell 창을 열고 닫습니다.
- 명령의 따옴표는 문제가 있습니다(또는 적어도 FAST가 복잡해집니다). 배치 파일에 따옴표가 필요한 명령을 배치하고 배치 파일을 명령으로 실행하려고 할 것입니다.
PowerShell 프롬프트에서 이 명령을 실행하려면 다음과 같이 단축할 수 있습니다.
Start-Process powershell.exe -Credential '[user]' -ArgumentList 'Start-Process ""[command]"" -Verb runAs`'
에스.
답변2
기본적으로 관리자 계정은 다른 사람이 남용할 수 없도록 잠겨 있습니다. "runas /user:Administrator" 명령에 빈 비밀번호를 사용하려고 시도한 경우 계정이 잠겨 있는 것을 확인할 수 있습니다.
사용자에게 이미 관리 권한이 있는 경우 "reg" 명령에 액세스할 수 있어야 합니다. 내 컴퓨터에서는 가능합니다.
불행하게도 "runas"를 사용하여 상승된 명령에 액세스할 수는 없습니다. 관리자 권한 명령 프롬프트를 통해 이 작업을 수행해야 합니다. 이는 "runas" 명령(귀하의 경우 작동하지 않음)을 사용하거나 "cmd.exe"를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하여 생성할 수 있습니다.
답변3
명령줄 아이콘이나 cmd.exe를 마우스 오른쪽 버튼으로 클릭하고 관리자로 실행하도록 선택하여 관리자로 명령줄을 실행할 수 있습니다. 그렇게 하면 관리자 권한 명령 프롬프트에 있게 되며 설명한 문제가 발생하지 않아야 합니다. 또한 명령을 입력할 때 runas를 사용할 필요가 없습니다.