Executando um comando como Administrador usando o PowerShell?

Você sabe como se você'é o usuário administrativo de um sistema e pode simplesmente clicar com o botão direito do mouse, digamos, num script em lote e executá-lo como Administrador sem digitar a senha do administrador?

I'estou me perguntando como fazer isso com um script do PowerShell. Eu não quero ter que digitar minha senha; eu só quero imitar o método Run As Administrator com o botão direito do mouse.

Tudo o que eu li até agora requer que você forneça a senha de administrador.

Solução

Se o console atual não estiver elevado e a operação que você'está tentando fazer requer privilégios elevados, então você pode iniciar o powerhell com o "Execute como administrador" opção

PS> Start-Process powershell -Verb runAs
Comentários (6)

Você pode facilmente adicionar algumas entradas de registro para obter um "Execute como administrador" menu de contexto para arquivos `.ps1':

New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowershellScript.1\Shell\runas\command" `
-Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" -noexit "%1"'

(atualizado para um script mais simples de @Shay)

Basicamente em HKCR:\Microsoft.PowershellScript.1\Shellrunas defina o valor padrão para invocar o script utilizando Powershell.

Comentários (6)

Este comportamento é por design. Existem várias camadas de segurança desde que a Microsoft realmente não queria't quer que os arquivos .ps1 fossem o último vírus de e-mail. Algumas pessoas acham isso contrário à própria noção de automação de tarefas, o que é justo. O modelo de segurança do Vista+ é para "de-automate" coisas, fazendo com que o usuário fique bem.

No entanto, suspeito que se você lançar a própria powershell como elevada, ela deverá ser capaz de executar arquivos de lote sem solicitar a senha novamente até que você feche a powershell.

Comentários (0)