none
PowerShell에서 권한 상승 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 권한 상승에 대한 답변을 드리겠습니다.

     

    Step 1 : 현재 유저 정보

     

    .NET Windowsidentity GetCurrent()함수를 이용해서 현재 유저의 권한 정보를 제공받을 수 있습니다.

     

    $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())

     

    Step 2 : 권한 확인

     

    IsInRole 함수를 이용해서 관리자 권한을 확인할 수 있습니다. WindowsBuiltinRole Enumeration을 이용해서 기본 윈도우 권한 정보를 확인할 수 있습니다.

     

    $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)

     

    Step 3 : 권한 상승

     

    PowerShellrunas를 이용해서 권한 상승 후 실행을 합니다.

     

    Start-Process powershell.exe -verb runas -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.Mycommand.Definition))

     

    Step 4 : Script

     

    function Eleavte-PowerShell

    {

     

        trap [Exception]

        {

            Write-Host $_.Exception.Message

            continue;

        }

     

        $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())

       

        Write-Host "현재 유저의 권한을 확인합니다."

     

        $isAdmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)

       

        if($isAdmin -eq $true)

        {

            Write-Host "현재 유저는 관리자 입니다."

        }

        else

        {

            Write-Host "관리자 권한으로 PowerShell을 다시 실행합니다."

            Start-Process powershell.exe -verb runas -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.Mycommand.Definition))

            exit;

        }      

    }

     

    Eleavte-PowerShell

     

     

    참조 자료

     

    Start-Process

    http://technet.microsoft.com/ko-kr/library/dd347667.aspx

     

    PowerShell.exe

    http://technet.microsoft.com/ko-kr/library/dd315276.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 11월 7일 월요일 오전 8:11
    2011년 11월 4일 금요일 오전 7:19
    중재자