Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział2:SkryptyprogramuWindowsPowerShell
51
kolejnychusługichstatusjestbadanyzapomocąinstrukcjiifelseifelse.Jeślidana
usługajestzatrzymana,jejnazwaorazstatuszostanąwypisanewkolorzeczerwonym.Jeśli
usługaznajdowaćsiębędziewinnymstanie(np.wstaniewstrzymania),todomyślniejej
nazwaorazstanzostanąwyświetlonewkolorzeżółtym.Tegorodzajumacierzdecyzjijest
bardzoprzydatna,umożliwiającszybkieprzeglądaniedługiejlistyusług.Zawartośćskryptu
GetServiceStatus.ps1zostałapokazanaponiżej.Wartościstałychoznaczającychróżne
kolory
,którychmożnaużywaćjakoargumentówpoleceniaWrite-Host,zostałyzebrane
wtabeli,zamieszczonejponiżejtegoskryptu.
GetServiceStatus.ps1
Get-Service|
Sort-Objectstatus-descending|
foreach{
if($_.status-eq"stopped")
{Write-Host$_.name$_.status-ForegroundColorred}
elseif($_.status-eq"running")
{Write-Host$_.name$_.status-ForegroundColorgreen}
else
{Write-Host$_.name$_.status-ForegroundColoryellow}
}
Black(czarny)
DarkBlue
DarkGreen
(ciemnoczerwony)
(ciemnoniebieski)
DarkMagenta(ciemna
fuksja)
DarkYellow
(ciemnozielony)
DarkRed
(ciemnożółty)
DarkGray
Blue(niebieski)
Green(zielony)
(ciemnoszary)
Red(czerwony)
Magenta(fuksja)
Yellow(żółty)
DarkCyan(ciemny
niebieskozielony)
Gray(szary)
Cyan
(niebieskozielony)
White(biały)
UżywanieinstrukcjiSwitch
Winnychjęzykachprogramowaniainstrukcjaswitchmożewystępowaćjakoinstrukcja
selectcase.Instrukcjaswitchużywanajestdoporównywaniawartościwyrażeniazserią
jegomożliwychwartości.Podtymwzględem,instrukcjęmożnatraktowaćjakulepszoną
wersjęinstrukcjiifelseif.Używającinstrukcjiswitchtestowanewyrażenieumieszczane
jestwewnątrznawiasówzwykłych.Każdazwartości,zktórymiporównywanajestwartość
tegowyrażenia,jestnatomiastumieszczonawewnątrznawiasówklamrowychzblokiem
kodu.Przykładużyciatejinstrukcjipokazanyzostałponiżej:
$a=5;switch($a){4{"wykrytowartośćcztery"}5{"wykrytowartośćpięć"}}
ZamieszczonyponiżejskryptDisplayComputerRoles.ps1rozpoczynasięodużycia
zmiennej$wmidoprzechowywaniaobiektuzwróconegoprzezcmdletGet-WmiObject.
WłaściwośćDomainRoleklasyWin32_computersystemzwracanajestjakowartośćnume-
ryczna.Abyzwiększyćczytelnośćwynikówtegoskryptu,użytoinstrukcjiswitchdoprzy-
pisaniaróżnymwartościomwłaściwościDomainRoleodpowiedniejwartościtekstowej.