Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział2:SkryptyprogramuWindowsPowerShell
49
odpowiadająnapakietyprotokołuICMP(InternetControlMessageProtocol),czynie.Jest
tobardzopomocnepodczaswykrywaniaznajdującychsięwsieciurządzeńalbopodczas
testowaniapołączeniakomputerazsiecią.Zmienna$intPingotrzymujepoczątkowąwartość
równą10ijestzdefiniowanajakozmiennacałkowitoliczbowa.Wnastępnejinstrukcji
dozmiennej$intNetwork,zdefiniowanejjakołańcuchznakowy
,zostajeprzypisanytekst
127.0.0..
Instrukcjaforsłużydowykonywaniapozostałegokoduliczbęrazyokreślonązapomocą
wartościzmiennej$intPing.Zmiennalicznikajesttworzonawliniizinstrukcjąfor.Zmienna
tanosinazwę$iipoczątkowootrzymujewartość1.Wykonywanieskryptubędziekon-
tynuowane,dopókiwartośćzmiennej$ibędziemniejszalubrównawartościzmiennej
$intPing.Ostatnimkrokiem,wykonywanymwsekcjizmiennejsterującej,jestzwiększenie
ojedenwartościzmiennej$i.
Blokkodurozpoczynasięznakiemnawiasuklamrowego.Pierwsząinstrukcjąwewnątrz
tegoblokujestutworzeniezmiennejonazwie$strQuery.Wartościątejzmiennejjestłań-
cuchznakowyprzechowującytreśćzapytaniaWMI.Umieszczenietegozapytaniawosob-
nejzmiennejułatwiawykorzystywaniezmiennej$intNetworkwpołączeniuzezmienną
licznika$i.ObietezmienneużywanedoutworzeniapoprawnegoadresuIPużywanego
wzapytaniuWMI,któregorezultatemjestwykonanietestuping.
Zmienna$wmiużywanajestdoprzechowywaniakolekcjiobiektówzwróconychprzez
cmdletGet-WmiObject.PrzekazaniezapytaniaWMIjestmożliwedziękiużyciuopcjo-
nalnegoargumentupoleceniaGet-WmiObject,tj.argumentu-query.Rezultattestuping
dostępnybędziezapośrednictwemwłaściwościStatusCode.Wartość0oznaczasukces,
akażdainnawartośćoznaczaporażkę.Dozaprezentowaniatejinformacjiwbardziejprzej-
rzystysposóbużytoinstrukcjiifelse,sprawdzającejwartośćwłaściwościStatusCode.
PingARange.ps1
[int]$intPing=10
[string]$intNetwork="127.0.0."
for($i=1;$i-le$intPing;$i++)
{
$strQuery="select*fromwin32_pingstatuswhereaddress='"+
$intNetwork+$i+"'"
$wmi=get-wmiobject-query$strQuery
"Pinging$intNetwork$i..."
if($wmi.statuscode-eq0)
{"sukces"}
else
{"błąd:"+$wmi.statuscode}
Używanieinstrukcjisłużących
dopodejmowaniadecyzji
Możliwośćpodejmowaniadecyzjiikontrolowaniawtensposóbprzebieguwykonywania
skryptujestjednązfundamentalnychtechnik.Wrzeczywistościtechnikatastanowipod-
stawęwszelkiejautomatyzacji.Ponapotkaniuwarunkunastępujewyznaczeniejegowar-
tościiokreśleniekierunkudalszychdziałań.Administrator,którypotrafizawrzećwskryp-
cielogikęswoichdziałań,jestnadobrejdrodzedoutworzeniasamomonitorującychsię