Array Nedir? – Bölüm 3

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

Yazı gezinmesi

Mobil sürümden çık