답변:
가장 쉬운 방법은 관리 토큰으로 Powershell을 시작하는 것입니다. 이렇게하려면 Powershell (또는 바로 가기)을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 클릭하십시오. 또는 elevate.cmd 를 사용할 수 있습니다 .
Microsoft에 따르면 Powershell v2 방식 은 바로 가기를 마우스 오른쪽 버튼으로 클릭 하고 관리자 권한으로 실행을 선택하는 것 입니다.
Powershell 창 내에서 상승 시키려면 :
start-process powershell –verb runAs
cmd.exe 배치 파일에서 바로 가기 또는 실행 줄은 다음과 같이 (반복적으로) 나타납니다.
powershell "start-process powershell -verb runas"
새로운 파워 쉘 인스턴스가 열립니다 :
function Run-Elevated ($scriptblock)
{
# TODO: make -NoExit a parameter
# TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
$sh = new-object -com 'Shell.Application'
$sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}
나는 이것에 문제가있을 것으로 기대합니다. 특히 호출 스크립트에서 scriptblock의 출력을 다시 얻지 못할 것입니다. 반면에 새로운 PS 인스턴스에 존재하므로 해킹 할 수 있습니다.
쉬운 방법 ...
이것은 모든 PowerShell 세션에서 언제든지 관리자 권한을 얻는 쉬운 명령 을 설정하는 방법입니다 !
1 단계 : PowerShell 프로필을 엽니 다. 파일이없는 경우 메모장에서 파일을 만들 수 있습니다.
notepad "$profile"
2 단계 : 해당 파일의 아무 곳에 나 다음 코드를 붙여 넣습니다.
function GoAdmin { start-process powershell –verb runAs }
3 단계 : PowerShell을 다시 시작합니다. 이제 명령을 영구적으로 사용할 수 있습니다.
4 단계 : 관리자가되고 싶을 때마다 입력 만하면됩니다 GoAdmin
(올바른 대소 문자 입력에 대해 걱정하지 마십시오. PS 기능은 실제로 대소 문자를 구분하지 않습니다). 물론 함수의 이름을 다른 것과 비슷하게 지정할 수 Elevate
있지만 충돌의 위험을 원하지 않기 때문에 하이픈없이 두 단어로 명명하여 PowerShell 자체 기능과 충돌하지 않도록했습니다.
관리자 창이 별도의 셸에서 열립니다. 원래 쉘을 닫거나 열어 둘 수 있습니다. 관리자 작업에서 환경 변수 추가 / 수정과 같은 "큰"작업을 수행하는 경우 사용자 셸 (비 관리자)은 간단히 입력 refreshenv
하여 환경을 다시로드하고 변경 사항을 가져올 수 있습니다.
따라서 기본적으로 그냥 https://chocolatey.org/GoAdmin
를 사용하여 패키지 설치와 같은 관리 작업을 수행 한 다음 관리 창을 닫고 사용자 셸에서 실행 하십시오! 짜잔refreshenv