PowerShell Skriptləri
Sintaksis və nümunələr
Last updated
Was this helpful?
Sintaksis və nümunələr
Last updated
Was this helpful?
PowerShell scriptlərindən anlayışlı olmaq vacibdir. Ona görə ki, ən çox istifadə olunan əməliyyat sistemi Windows ƏS-dir. Hər birində PowerShell olduğunu nəzərə alsaq, bunu öyrənməyiniz sizi hər birindən rahat istifadə etməyə imkan verir.
Powershelldə dəyişənlər $
işarəsi ilə yaradılır və çağırılır. Bu səhifədə bir neçə powershell skripti vasitəsilə mövzunu daha da rahat başa düşülən hala gətirməyə çalışacağam.
Bu hissə müxtəlif vaxtlarda yenilənə bilər.
3-cü sətirdə if ifadəsi mötərizənin içini yoxlayıb şərtin doğru olduğu halda 4, olmadığı halda 6 cı sətri icra edəcək. Əgər x
dəyişəni 30-dan kiçik ya da bərabər olarsa onda 4-cü sətir, olmazsa 6-cı sətir icra olunacaq.
-le
ifadəsi "less than or equal" mənasını verir. Yəni, kiçikdir və ya bərabərdir. 3-cü sətirdə iki dəyəri müqayisə etmək üçün istifadə olunub. Bu və oxşar ifadələri səhifəsində izah etmişdim.
Əlimizdə bir fayl var, faylın hər sətrini yoxlayıb, yalnız içərisində success sözü olan sətirlər üçün hansısa əmri icra etmək istəyirik. O halda ForEach
və -like
operatorunu işlədə bilərik.
1-ci sətirdə $file
adlı dəyişəni yaradıb ona faylın məzmununu verdik. 2-ci sətirdə dövrü başladdıq və $file
dəyişəninin hər sətrini $setir
adlandıraraq hər birini tək-tək dövrdən keçirdik. 3-cü sətirdə hazırki dövrdə olan sətrin daxilidə "success" ifadəsinin olub olmadığını wildcard və -like
operatoru vasitəsilə yoxladıq. Olduğu halda 4-cü sətirdəki Write-Host
vasitəsilə terminala yazdıq.
Olduğumuz şəbəkədə bizdən başqa olan Hostları tapmaq üçün belə bir skript istifadə oluna bilər. Tutaq ki biz hansısa bir serverə düşmüşük və indi ordan şəbəkədəki digər komputerləri və serverləri axtarmaq istəyirik. Belə olan halda yuxarıdakı kimi bir skript bizim üçün 255 ip addresə ping ataraq onların var olub olmadıqlarını bizə deyəcək.
• 1-ci sətirdə biz 0-dan 255-ə qədər ədədlərin olduğu bir çoxluq (array) yaratdıq.
• 2-ci sətirdə foreach operatoru vasitsilə bu çoxluğun elementlərinin hər birini $sonluq
olaraq adlandırıb dövr yaratdıq.
• 3-cü sətirdə $IP
adlı dəyişən yaradıb dəyərinin əvvəlini sabit saxladıq, çünki bizimlə eyni şəbəkədə olan komputerlərin IP ünvanının ilk 3 hissəsi bizimki ilə eynidir. Yalnız sonuncu hissəsini hər dövrdə dəyişə bilmək üçün ip adresin son hissəsini $sonluq
dəyişəni ilə tamamladıq.
• 4-cü sətirdə Test-Connection
cmdleti vasitəsilə 3-cü sətirdə yaradılan IP ünvanına test bağlantısı edərək pingə cavab verilib verilmədiyini yoxlayırıq. Əgər cavab versə True, verməzsə False dəyərini alacaq.
• 6-cı sətir if operatorunun şərtinin True olduğu halda icra olunacaq. Terminalda yaşıl rəngdə "Host tapıldı" yazaraq IP adresi göstərəcək.
• 8-ci sətir if operatorunun şərtinin False olduğu halda icra olunacaq. Terminalda qırmızı rəngdə "Host tapılmadı" yazaraq IP adresi göstərəcək.
•
•