Programlama dilleriyle biraz uğraştıysanız şüphesiz array kavramını duymuşsunuzdur. $d1=”mshowto” komutuyla $d1 değişkene mshowto string değerini atayarak script içerisinde çağırabiliyoruz. Array ler ise birden fazla değişkenin bir objeye atanmasıdır. $sayilar=1,2,3,4 ifadesi bir array(dizi) i göstermektedir. Kod içerisinde değerleri atadığımız bu objenin üyelerini kullanmak için $sayilar[0],$sayilar[1] gibi ifadeler kullanmalıyız.
PS C:\> $sayilar=1,2,3,4
PS C:\> $sayilar[0]
1
PS C:\> $sayilar[1]
2
PS C:\> $sayilar[3]
4
Powershell içinde bazı cmdlet’ler yada komutlar da aslında array objesi oluşturarak bize çıktı sunarlar.
Örnek olarak sistemde çalışan exe’leri gösteren get-process komutunu alalım.Basetype a dikkat edin lütfen.
PS C:\> (get-process).gettype()
IsPublic IsSerial Name BaseType
——– ——– —- ——–
True True Object[] System.Array
Get-process csrss komutu bize csrss.exe nin bilgilerini getirir.
PS C:\> (get-process)[8]
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
——- —— —– —– —– —— — ———–
1032 9 2644 9292 67 35,09 1972 csrss
PS C:\> (get-process)[9]
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
——- —— —– —– —– —— — ———–
69 3 856 688 30 0,91 3264 ctfmon
*içerisinde ardışık sayılardan oluşan bir array yaratmak istiyoruz.bunun için $sayilar=1,2,3,4,5—-255 e kadar uzun bir satır yazmak pek mantıklı görünmüyor.
$sayilar=1..255
$sayilar
Komutunu verdiğimizde 1 ile 255 arasındaki tüm sayılar $sayilar array ine atanmış olacaktır.
Peki nerde kullanabiliriz bu array’leri.Sonraki makalelerimde konu daha netlik kazanacak fakat sistemdeki IP lerinizi tarayan veya bir IP aralığını kullanacak bir kod yazdınız.Fakat 192.168.1.1 den 192.168.1.250 e kadar olan IP leri tek tek yazmak istemiyorsunuz.
Örnek:
$1octet=192
$2octet=168
$3octet=1
$4octet=1..250 #yukarıda bahsettiğimiz ardışık array tanımlama
for ($i=0;$i -lt 250;$i++) # for döngüsü ile $i değerini her seferinde 1 #arttırarak 250 den küçük (less than) olana kadar döngüyü sağlıyoruz.
{
“IP lerimiz : ” + $1octet +”.”+ $2octet + “.” + $3octet +”.”+$4octet[$i]
}
Bu işlemi $4octet değişkeni yerine $i kullanarak da yapabilirdik,fakat kod içerisinde $4octet[0] gibi bir çağırma yada ikinci bir döngü işleminde işimize yarayabilir.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
–