Vezměme si příklad uspořádání jednoduché barevné nabídky pro PowerShell, která uživateli umožňuje pohodlně vybrat jednu z dostupných možností pro spuštěný skript. Tento skript by měl uživateli poskytnout několik možností, ovládat vybranou možnost a v závislosti na výběru provést další akce.
Předpokládejme, že náš jednoduchý skript by měl uživateli poskytnout možnost spustit nebo zastavit konkrétní službu systému Windows.
Seznam položek nabídky nabízených uživateli lze zobrazit takto:
Write-Host '1. Spusťte službu Windows Update '
Write-Host '2. Zastavit službu Windows Update “
Write-Host '3. Exit '
Dále vyzýváme uživatele, aby vybral položku vytočením jejího čísla:
$ selected_menu_item = Read-Host 'Select item item'
Poté zpracováme výběr uživatele pomocí příkazu switch:
Přepínač ($ selected_menu_item)
1 net start wuauserv
2 net stop wuauserv
3 Write-Host 'Exit'; exit
default Write-Host 'Nesprávný vstup' -ForegroundColor Red
Spusťte skript a zkontrolujte jeho výkon.
Všechno funguje dobře, pouze pohled z nabídky ponechává mnoho přání. Chci něco inteligentnějšího a pohodlnějšího.
Můžete se pokusit vytvořit krásnější menu s barevným nadpisem, odstavcem a rámečkem ručně, ale je to docela časově náročné, protože budete muset ručně vypočítat velikost ohraničení tabulky v závislosti na délce textových polí. Je mnohem snazší použít hotový skript. Páčila se mi hotová funkce v galerii Technet Vytvořte barevné funkce nabídky PowerShell (https://gallery.technet.microsoft.com/scriptcenter/Create-colorful-PowerShell-8689c5b2), který má všechny potřebné funkce. Uložte kód funkce do souboru s názvem color_menu.psm1 a importovat do relace PoSh:Importní modul C: \ PS \ color_menu.psm1
Funkce vykreslování barev se nazývá tímto způsobem:
CreateMenu - Název "Windows Update Script" -MenuItems "Spusťte službu Windows Update", "Zastavit službu Windows Update", "Exit" -TitleColor Red -LineColor Azurová -MenuItemColor Yellow
Takže za pár minut jsme vytvořili pěkné barevné menu pro náš skript PowerShell. V budoucnu bude moci tento skript pohodlně používat nejen jeho tvůrce, ale i běžní uživatelé.