Kako organizirati izbornik boja u skriptu PowerShell-a

Razmotrite primjer organiziranja jednostavnog izbornika u boji za PowerShell, koji korisniku omogućuje praktičan odabir jedne od dostupnih opcija za izvedenu skriptu. Ova skripta korisniku treba pružiti nekoliko opcija, kontrolirati odabranu opciju i, ovisno o izboru, poduzima daljnje radnje.

Pretpostavimo da bi naša jednostavna skripta trebala korisniku pružiti mogućnost pokretanja ili zaustavljanja određene Windows usluge.

Popis stavki izbornika koji se nude korisniku može se prikazati na sljedeći način:

Piši-domaćin '1. Pokretanje usluge Windows Update "
Piši-domaćin '2. Zaustavljanje usluge Windows Update "
Piši-domaćin '3. Izlaz '

Zatim pozivamo korisnika da odabere stavku tako što će birati njen broj:

$ selected_menu_item = Host za čitanje "Odabir stavke izbornika"

Zatim obrađujemo odabir korisnika pomoću iskaza switch:

Switch ($ selected_menu_item)
1 neto start wuauserv
2 net stop wuauserv
3 Write-host 'Exit'; izlaz
zadano Write-Host 'Netočan unos' -ForegroundColor Red

Pokrenite skriptu i provjerite njezinu izvedbu.

Sve funkcionira u najboljem redu, samo prikaz izbornika ostavlja mnogo željenog. Želim nešto "pametnije" i ugodnije.

Možete pokušati ručno stvoriti ljepši izbornik u boji, stavcima i okvirom u boji, ali to je prilično dugotrajno, jer morat ćete ručno izračunati veličinu obruba tablice, ovisno o duljini tekstnih polja. Mnogo je lakše koristiti gotovu skriptu. Svidjela mi se gotova značajka u Galeriji Technet Stvorite šarenu funkciju PowerShell izbornika (https://gallery.technet.microsoft.com/scriptcenter/Create-colorful-PowerShell-8689c5b2) koji ima sve potrebne funkcije. Spremite funkcijski kod u datoteku s nazivom color_menu.psm1 i uvezete ga u PoSh sesiju:
Uvozni modul C: \ PS \ color_menu.psm1

Funkcija crtanja boja naziva se ovako:

CreateMenu -Title "Skripta ažuriranja Windows" -MenuItems "Pokretanje usluge Windows Update", "Zaustavljanje usluge ažuriranja Windows", "Izlaz" -TitleColor Red -LineColor Cyan -MenuItemColor Yellow

Dakle, u samo nekoliko minuta stvorili smo lijep izbornik boja za našu skriptu PowerShell-a. Ubuduće će takav scenarij s udobnošću moći koristiti ne samo njegov autor, već i obični korisnici.