[server] PowerShell에서 관리자 권한 얻기

내 Windows Vista 컴퓨터에는 하나의 계정 만 있으며 해당 사용자에게는 관리자 권한이 있습니다. 그러나 PowerShell에서 명령을 실행하여 특정 프로세스를 종료하려고하면 “액세스가 거부되었습니다”라는 메시지가 표시됩니다. 관리자가 되려면 어떻게해야합니까?



답변

가장 쉬운 방법은 관리 토큰으로 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 을 항상 실행하려면 PowerShell 바로 가기를 마우스 오른쪽 단추로 클릭 한 다음 “바로 가기”탭에서 “고급 …”단추를 클릭하고 “관리자 권한으로 실행”을 선택하십시오.


답변

쉬운 방법 …

이것은 모든 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


답변