1. Ana Sayfa
  2. Server 2008
  3. Array Nedir? – Bölüm 3

Array Nedir? – Bölüm 3

Programlama dilleriyle biraz uğraştıysanız şüphesiz kavramını duymuşsunuzdur. $d1=”mshowto”  komutuyla $d1 değişkene mshowto string değerini atayarak script içerisinde çağırabiliyoruz. ler ise birden fazla değişkenin bir objeye atanmasıdır. $sayilar=1,2,3,4 ifadesi bir (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

içinde bazı ’ler yada komutlar da aslında array objesi oluşturarak bize çıktı sunarlar.
Örnek olarak sistemde çalışan exe’leri gösteren -process komutunu alalım.Basetype a dikkat edin lütfen.

PS C:\> ().()

IsPublic IsSerial Name                                     BaseType

——– ——– —-                                     ——–

True     True     Object[]                                 System.Array

Get-process csrss komutu bize csrss.exe nin bilgilerini getirir.

PS C:\> (get-process)[8]

  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id

——-  ——    —–      —– —–   ——     — ———–

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:

$1=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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

Yorum Yap

Yorum Yap

Yorumlar (1)

  1. 6 sene önce

    powershell çok karmaşık gibi duruyor ama kesinlikle öyle değil