¿Ejecutar un comando como administrador utilizando PowerShell?

¿Sabes que si eres el usuario administrativo de un sistema y puedes hacer clic con el botón derecho, por ejemplo, en un script por lotes y ejecutarlo como administrador sin introducir la contraseña de administrador?

Me pregunto cómo hacer esto con un script de PowerShell. No quiero tener que introducir mi contraseña; sólo quiero imitar el método de ejecutar como administrador con el botón derecho del ratón.

Todo lo que he leído hasta ahora requiere que usted proporcione la contraseña de administrador.

Solución

Si la consola actual no está elevada y la operación que está tratando de hacer requiere privilegios elevados, puede iniciar powershell con la opción "Ejecutar como administrador".

PS> Start-Process powershell -Verb runAs
Comentarios (6)

Puede añadir fácilmente algunas entradas en el registro para obtener un menú contextual "Ejecutar como administrador" para los archivos .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"'

(actualizado a un script más simple de @Shay)

Básicamente en HKCR:\Microsoft.PowershellScript.1\Shell\runas\command se establece el valor por defecto para invocar el script usando Powershell.

Comentarios (6)

Este comportamiento es por diseño. Hay múltiples capas de seguridad, ya que Microsoft realmente no quería que los archivos .ps1 fueran el último virus del correo electrónico. Algunas personas consideran que esto va en contra de la propia noción de automatización de tareas, lo cual es justo. El modelo de seguridad de Vista+ consiste en "desautomatizar" las cosas, haciendo que el usuario las apruebe.

Sin embargo, sospecho que si se lanza el propio powershell como elevado, debería ser capaz de ejecutar archivos por lotes sin solicitar la contraseña de nuevo hasta que se cierre el powershell.

Comentarios (0)