¿Cómo se define una función de PowerShell que requiere elevación?

PowerShell puede ser extremadamente útil para muchas tareas cotidianas tal como está, pero si necesita ajustar algunas funciones con un poco de seguridad en mente, ¿cómo se define una función para que requiera elevación? La publicación de preguntas y respuestas del superusuario de hoy tiene la respuesta a la pregunta de un lector curioso.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad.

La pregunta

El lector de superusuario Vlastimil quiere saber cómo definir una función de PowerShell que requiere elevación:

Como no puedo encontrar ninguna alternativa al comando de elevación sudo de Linux , tengo la siguiente pregunta. ¿Cómo defino una función de PowerShell que requiere elevación, como en la activación de un mensaje de UAC en mi sistema Windows 8.1 Pro de 64 bits? Por ejemplo, digamos que ejecuto la siguiente función:

Con los siguientes resultados:

Para que quede completamente claro, si ejecuto PowerShell como «usuario», luego ejecuto la función antes mencionada de verificación del sistema , quiero que la función se eleve para poder ejecutar el comando (quiero que aparezca el indicador UAC).

¿Cómo se define una función de PowerShell que requiere elevación?

La respuesta

El colaborador superusuario Ashton tiene la respuesta para nosotros:

Para ejecutar un comando específico desde una ventana elevada:

Por ejemplo:

Para ejecutar un script específico desde una ventana elevada:

Para ejecutar una sesión completa de PowerShell que solicita el UAC:

Una función para devolver $ True o $ False si la ventana actual se ejecuta con permisos elevados:

Para asegurarse de que un script solo se ejecute como administrador, agregue esto al principio:

En PowerShell v4.0, lo anterior se puede simplificar usando una declaración #Requires :

Fuente: Ejecutar con permisos elevados [SS64.com]


¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .