Agregar un menú colorido simple a la secuencia de comandos de PowerShell

Consideremos un ejemplo de cómo hacer un menú de colores simple para PowerShell que permite al usuario seleccionar fácilmente una de las opciones disponibles del script que se está ejecutando. El script proporciona al usuario varias opciones para elegir, controlar la opción seleccionada y realizar las acciones adicionales según la elección.

Supongamos que nuestro sencillo script permite a un usuario iniciar o detener un determinado servicio de Windows (wuauserv).

La lista de opciones de menú ofrecidas a un usuario se puede mostrar de la siguiente manera:Write-Host '1. Start Windows Update service'
Write-Host '2. Stop Windows Update service'
Write-Host '3. Exit'

Después de eso, solicite al usuario que seleccione una opción escribiendo su número:
$selected_menu_item = Read-Host 'Select menu item'

Luego, procese una elección de usuario usando el operador «cambiar»:
Switch($selected_menu_item){
1{net start wuauserv}
2{net stop wuauserv }
3{Write-Host 'Exit'; exit}
default {Write-Host 'Incorrect input' -ForegroundColor Red}
}

Ejecute el script y verifique su estado.

Todo funciona bien. Lo único es que la apariencia del menú deja mucho que desear. Nos gustaría ver algo más elegante y conveniente.

Puede intentar crear un menú más agradable con un encabezado de color, elementos y un marco manualmente, pero lleva mucho tiempo, ya que tendrá que calcular el tamaño del marco de la tabla manualmente según la longitud de los cuadros de texto. Es mucho más fácil usar un script listo. En la galería de Technet, está listo Crear una colorida función de menú de PowerShell (https://gallery.technet.microsoft.com/scriptcenter/Create-colorful-PowerShell-8689c5b2), con todas las características necesarias. Guarde el código de función en un archivo llamado color_menu.psm1 e importarlo a la sesión PoSh:
Import-Module C:PScolor_menu.psm1

Para ejecutar la función de hacer un menú de color, haga lo siguiente:

CreateMenu -Title "Windows Update Script" -MenuItems "Start Windows Update service","Stop Windows Update service","Exit" -TitleColor Red -LineColor Cyan -MenuItemColor Yellow

Por lo tanto, nos llevó unos dos minutos crear un menú de colores agradables para el script de PowerShell. Tanto el creador como los usuarios normales pueden utilizar fácilmente dicho script en el futuro.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *