A színes menü szervezése a PowerShell-parancsfájlban

Fontolja meg a PowerShell egyszerű színes menüjének szervezésének példáját, amely lehetővé teszi a felhasználó számára, hogy kényelmesen válassza ki a végrehajtott szkript számára elérhető lehetőségek egyikét. Ennek a szkriptnek több lehetőséget kell biztosítania a felhasználó számára, irányítania kell a kiválasztott opciót, és a választástól függően további műveleteket kell végrehajtania.

Tegyük fel, hogy egyszerű szkriptünknek lehetővé kell tennie a felhasználó számára egy adott Windows szolgáltatás elindítását vagy leállítását.

A felhasználó számára kínált menüelemek listája az alábbiak szerint jeleníthető meg:

Írás-fogadó '1. Indítsa el a Windows Update szolgáltatást ”
Írás-fogadó '2. A Windows Update szolgáltatás leállítása ”
Írás-fogadó '3. Kilépés ”

Ezután felhívjuk a felhasználót, hogy válassza ki az elemet annak számának tárcsázásával:

$ selected_menu_item = Read-Host 'Válassza a menüpontot'

Ezután feldolgozzuk a felhasználói választást a kapcsoló utasítás segítségével:

Váltás ($ selected_menu_item)
1 net start wuauserv
2 net stop wuauserv
3 Write-Host 'Kilépés'; exit
alapértelmezett Write-Host 'Hibás bevitel' -ForegroundColor Red

Futtassa a szkriptet és ellenőrizze annak teljesítményét.

Minden jól működik, csak a menünézet hagy sok kívánságot. Valami "okosabb" és kényelmesebb dolgot akarok.

Megpróbálhat létrehozni egy szebb menüt színes címsorral, bekezdésekkel és kerettel kézzel, de ez elég időigényes, mivel manuálisan ki kell számítania a táblázat szegélyének méretét, a szövegmezők hosszától függően. Sokkal könnyebb használni a kész szkriptet. Tetszett a Technet Galéria kész funkciója Hozzon létre színes PowerShell menüfunkciót (https://gallery.technet.microsoft.com/scriptcenter/Create-colorful-PowerShell-8689c5b2), amely rendelkezik az összes szükséges funkcióval. Mentse a funkciókódot egy névvel ellátott fájlba color_menu.psm1 és importálja a PoSh munkamenetbe:
C modul importálása: \ PS \ color_menu.psm1

A színmegjelenítés funkciót így hívják:

CreateMenu - Cím "Windows Update Script" - Menü elemek "Indítsa el a Windows Update szolgáltatást", "A Windows Update szolgáltatás leállítása", "Kilépés" -TitleColor Piros -LineColor Cyan -MenuItemColor Sárga

Tehát néhány perc alatt elkészítettünk egy szép színes menüt a PowerShell szkriptünkhöz. A jövőben nem csak a készítője, hanem a hétköznapi felhasználók is kényelmesen használhatják ezt a szkriptet.