Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to run commands in PowerShell with Administrator permissions? How can I do that?

I have tried to start PowerShell with the runas command, but PowerShell is closed immediately after I have typed a password.

I use Windows 7 and I am the only user on the computer.

share|improve this question

3 Answers 3

up vote 2 down vote accepted

Usually when I see powershell immediately close, its a problem with the Execution Policy. clicking the Orb, typing Powershell then Right Clicking the link, and "run as Administrator" and have it open that way?

You can then, to see whats going on, navigate to the folder where your script is, and do a ./NameofScript.ps1

share|improve this answer
    
What is the Orb that I should click? –  Jonas Dec 9 '10 at 15:04
2  
@Jonas I think he means The UI Element Formerly Known As The Start Button. –  Shinrai Dec 9 '10 at 16:00
    
@Shinrai, what the heck are we supposed to call it now? Is there a new official term? –  Brian Dec 9 '10 at 22:34
    
I have no clue. I like yours, actually. ;) (Also, sorry, I forgot to +1 before I was so busy being clever, ahah) –  Shinrai Dec 9 '10 at 23:07
    
...actually, the Help files in Win7 still call it the "Start button". Guess that's official. –  Shinrai Dec 9 '10 at 23:08

If you are already in powershell, type: Start-Process powershell -verb runas

I write a sudo function to accomplish more powerful things, like executing something elevated and get the result in the same shell, for example:

sudo {rm fileThatNeedElevatedRightsToBeDeleted; ls}

Here is the code:

function sudo(){
param([String] $code)
$viejos = gps powershell
$here = add-quotes (get-location).path
$resultPath = [IO.Path]::GetTempPath() + "temp.result.xml";

$code = "set-location $here; function Run{$code};Run $args|Export-Clixml $resultPath" 

$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($code))

start-process PowerShell.exe -verb Runas -argumentlist '-encodedCommand',$encoded

$nuevos = gps powershell
$array = New-Object Collections.Generic.List[int]
$array2 = New-Object Collections.Generic.List[int]
$viejos | %{$array.add($_.ID)}
$nuevos | %{$array2.add($_.ID)}
$idTowait = $array2 | ?{$array -notcontains $_}
while(1){
    $nuevos = gps powershell
    $array2.Clear()
    $nuevos | %{$array2.add($_.ID)}
    if($array2 -contains $idTowait)
        {sleep -Milliseconds 500}
    else
        {break;}
}

if(Test-Path $resultPath){
  if((gi $resultPath).length)
  {        
      Import-Clixml $resultPath 
      rm $resultPath     
  }
}
else
    {"No results"};
}
share|improve this answer

For administrative task I have most of the time an instance of PowerShellISE running. I copied the link to start ISE from All Programs | Accessories | Windows PowerShell | Windows PowerShell ISE to the taskbar. To start ISE with Admin privileges I press the keys shift + control while left clicking the taskbar icon. After replying to the UAC dialog it ready.

Note: With regular ISE I nearly never use the Open File Dialogs, but drag files from some Explorer window into ISE. With ISE running in admin mode, this drag & drop is not possible for some security reason.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.