Como posso executar comandos no PowerShell com permissões de Administrador?

1

Gostaria de executar comandos no PowerShell com permissões de administrador? Como posso fazer isso?

Eu tentei iniciar o PowerShell com as runas , mas o PowerShell é fechado imediatamente depois de eu ter digitado uma senha.

Eu uso o Windows 7 e sou o único usuário no computador.

    
por Jonas 09.12.2010 / 15:10

4 respostas

2

Normalmente, quando vejo o PowerShell fechar imediatamente, é um problema com o Política de Execução . clicando no Orb, digitando Powershell e clicando com o botão direito do mouse no link, e "executar como administrador" e abri-lo dessa maneira?

Você pode então, para ver o que está acontecendo, navegar até a pasta onde está o seu script e fazer um ./NameofScript.ps1

    
por 09.12.2010 / 15:25
2

Se você já estiver no powershell, digite:     Start-Process powershell -verb runas

Eu escrevo uma função sudo para realizar coisas mais poderosas, como executar algo elevado e obter o resultado no mesmo shell, por exemplo:

sudo {rm fileThatNeedElevatedRightsToBeDeleted; ls}

Aqui está o código:

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"};
}
    
por 11.12.2010 / 15:08
0

Para tarefas administrativas, tenho na maioria das vezes uma instância do PowerShellISE em execução. Eu copiei o link para iniciar o ISE em Todos os Programas | Acessórios | Windows PowerShell | Windows PowerShell ISE para a barra de tarefas. Para iniciar o ISE com privilégios de Admin Eu pressiono as teclas shift + control enquanto clico com o botão esquerdo do mouse no ícone da barra de tarefas. Depois de responder ao diálogo do UAC, esteja pronto.

Nota: Com o ISE regular eu quase nunca uso os Diálogos de Arquivo Aberto, mas arrasto arquivos de alguma janela do Explorer para o ISE. Com o ISE em execução no modo de administração, esse recurso de arrastar & queda não é possível por algum motivo de segurança.

    
por 25.12.2010 / 15:46
0

O PowerShell ISE reside em% windir% \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell_ISE.exe. Você pode clicar com o botão direito do mouse e selecionar "Executar como administrador" e executar o script lá.

Você também pode encontrá-lo sob o logotipo do Windows > Todos os programas > Acessórios > Windows PowerShell e faça o mesmo com esses atalhos.

    
por 16.07.2015 / 19:53