Respuestas:
La forma más fácil de hacer esto es iniciar Powershell con tokens de administración. Para hacer esto, haga clic derecho en Powershell (o un acceso directo) y haga clic en "ejecutar como administrador". Alternativamente, puede usar elevate.cmd .
La forma Powershell v2, según Microsoft , es hacer clic derecho en el acceso directo y elegir Ejecutar como administrador .
Y para elevar dentro de una ventana de Powershell:
start-process powershell –verb runAs
Cuál de un archivo por lotes cmd.exe, acceso directo o línea de ejecución se vería algo (repetidamente) así:
powershell "start-process powershell -verb runas"
Esto abre una nueva instancia de PowerShell:
function Run-Elevated ($scriptblock)
{
# TODO: make -NoExit a parameter
# TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
$sh = new-object -com 'Shell.Application'
$sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}
Espero que haya problemas con esto, en particular, no obtendrá la salida de su bloque de script en el script de llamada. Por otro lado, estará allí en la nueva instancia de PS para que puedas hackearla allí.
Si desea siempre ejecutar PowerShell con privilegios de administrador, puede hacer clic en el acceso directo de PowerShell, a continuación, haga clic en el botón "Avanzado ..." en la pestaña "Acceso directo", a continuación, seleccione "Ejecutar como Administrador".
La manera fácil...
¡Así es cómo configurar un comando fácil para obtener privilegios de administrador en cualquier momento, desde cualquier sesión de PowerShell!
Paso 1: abra su perfil de PowerShell. (Permita que el bloc de notas cree el archivo si falta).
notepad "$profile"
Paso 2: pegue el siguiente código en cualquier parte de ese archivo.
function GoAdmin { start-process powershell –verb runAs }
Paso 3: reinicie PowerShell. El comando ahora está permanentemente disponible.
Paso 4: cada vez que quiera pasar a administrador, simplemente escriba GoAdmin
(y no se preocupe por escribir el caso correcto; las funciones de PS no distinguen entre mayúsculas y minúsculas). Por supuesto, puede nombrar la función como algo diferente Elevate
o lo que sea, pero no quería ningún riesgo de conflictos, así que lo llamé una frase de dos palabras sin guiones, para garantizar que nunca entre en conflicto con las características de PowerShell.
Tenga en cuenta que la ventana del administrador se abre en un shell separado. Puede cerrar el caparazón original o mantenerlo abierto. Si su trabajo de administrador hace algo "grande", como agregar / modificar variables de entorno, entonces su shell de usuario (no administrador) puede simplemente escribir refreshenv
para recargar su entorno y obtener los cambios.
Básicamente, solo GoAdmin
haga las tareas de administración, como instalar paquetes (¡con https://chocolatey.org/, por supuesto!), Y luego cierre la ventana de administración y ejecute refreshenv
en su shell de usuario. Voila