Zoberme si príklad usporiadania jednoduchej farebnej ponuky pre PowerShell, ktorá umožňuje používateľovi pohodlne vybrať jednu z dostupných možností pre vykonaný skript. Tento skript by mal používateľovi poskytnúť niekoľko možností, ovládať vybratú možnosť a podľa voľby vykonať ďalšie akcie.
Predpokladajme, že náš jednoduchý skript by mal používateľovi poskytnúť možnosť spustiť alebo zastaviť konkrétnu službu Windows.
Zoznam položiek ponuky ponúkaných používateľovi je možné zobraziť nasledovne:
Hostiteľ zápisu '1. Spustiť službu Windows Update “
Hostiteľ zápisu 2. Zastaviť službu Windows Update “
Hostiteľ zápisu 3. Exit '
Ďalej vyzývame používateľa, aby vybral položku vytočením jeho čísla:
$ selected_menu_item = Read-Host 'Select item item'
Potom spracujeme výber užívateľa pomocou príkazu switch:
Prepínač ($ selected_menu_item)
1 net start wuauserv
2 net stop wuauserv
3 Write-Host 'Exit'; exit
predvolené nastavenie Write-Host 'Nesprávny vstup' -ForegroundColor Red
Spustite skript a skontrolujte jeho výkon.
Všetko funguje dobre, iba pohľad z ponuky necháva veľa miesta. Chcem niečo inteligentnejšie a pohodlnejšie.
Môžete skúsiť vytvoriť krajšie menu s farebným nadpisom, odsekmi a rámom ručne, ale je to dosť náročné na čas, pretože budete musieť manuálne vypočítať veľkosť okraja tabuľky v závislosti od dĺžky textových polí. Je oveľa ľahšie používať hotový skript. Páčila sa mi hotová funkcia v galérii Technet Vytvorte farebnú funkciu ponuky PowerShell (https://gallery.technet.microsoft.com/scriptcenter/Create-colorful-PowerShell-8689c5b2), ktorý má všetky potrebné funkcie. Uložte funkčný kód do súboru s názvom color_menu.psm1 a importovať do relácie PoSh:Importný modul C: \ PS \ color_menu.psm1
Funkcia vykresľovania farieb sa nazýva takto:
CreateMenu - Názov „Windows Update Script“ -MenuItems „Spustenie služby Windows Update“, „Zastavenie služby Windows Update“, „Exit“ -TitleColor Red -LineColor Azúrová -MenuItemColor Yellow
Takže za pár minút sme vytvorili pekné farebné menu pre náš skript PowerShell. V budúcnosti bude môcť tento skript pohodlne používať nielen jeho tvorca, ale aj bežní používatelia.