PowerShell Öğreniyorum – Değişkenler – Bölüm 3

PowerShell Öğreniyorum yazı dizimizde bu bölümde ön tanımlı değişkenlerin özelliklerini inceleyeceğiz.

PowerShell, kendi içerisinde bazı işlemleri gerçekleştirmek için önceden tanımlı, değiştirilemez, otomatik değişkenleri kullanmaktadır. Bu değişkenler istenildiği takdirde, kullanıcı tarafından kullanılabilir ve barındırdığı değerler sabit olarak kalır.

PowerShell içerisinde var olan otomatik değişkenlerin listesini almak için aşağıdaki komut satırı kullanılabilir.


PowerShell içerisinde sık kullanılan ön tanımlı otomatik değişkenler aşağıdaki tabloda incelenmiştir.


Var olan bu değişkenlere herhangi bir değer atanmak istendiği takdirde, Shell konsolu buna izin vermeyecektir.


Ön tanımlı otomatik değişkenlerin kullanımı ile ilgili örnekler aşağıda incelenmiştir.

$Home Değişkeni


$Home değişkeni, kullanıcı için belirlenen varsayılan başlangıç dizinidir. Yukarıdaki örnekte görüldüğü gibi varsayılan olarak değeri C:Users dizinidir. Hazırlanan scriptlerde, scripti çalıştıran kullanıcının, işletim sistemi içerisindeki profil dizininde bir görev gerçekleştirilmek istenirse, bu ön tanımlı değişken kullanılabilir.

$PID Değişkeni


Yukarıdaki örnekte, ilk olarak $Pid değişkeni ekrana yansıtılmıştır. Değişken çıktı olarak “6040” değerini vermektedir. Bu bilginin doğruluğunu teyit etmek için Get-Process komut satırı, PowerShell ismine sahip olan işlemi –Name parametresi ile çekmiştir. İncelenen çıktıda sadece PowerShell işlemi listelenmiş ve Id değerinin ilk çıktıda olduğu gibi “6040” değerine sahip olduğu gözlenmiştir.

$error değişkeni


$error değişkeni, shell içerisinde alınan son hata kodunu hafızasında tutan ön tanımlı bir değişkendir. Yukarıdaki örnekte get-hatalikomut şeklinde bir metot çalıştırılmak istenmiştir. Ancak PowerShell konsolu böyle bir metot referansı bulamadığı için hata mesajını çıktı olarak vermektedir. Bir sonraki aşamada ekrana yalnızca $error değişkeni yansıtılıp hafızasında tuttuğu değer öğrenilmek istendiğinde aynı hata mesajını yansıttığı görülmektedir.

 

$_. Değişkeni


$_. Değişkeni ile where-object ve foreach komutları kullanılarak çıktılar içerisinde filtreleme gerçekleştirilebilir. Yukarıdaki örnekte Get-Process komut satırı ile anlık çalışan tüm işlemler listelenmiştir. Ardından Pipeline kullanılarak bu işlemler içerisinde yalnızca name sütunu svchost olanların ekrana yansıtılması istenmektedir.$_. değişkeni ile çıktı içerisindeki sütunlar temel alınarak filtreleme gerçekleştirilebilir.

$$ değişkeni


.$$ değişkeni, Shell içerisinde son satır bilgisinin son girdisini içermektedir. Yukarıdaki örnekte dir komut satırı ile C:anilerduranSystemPowerShell dizini listelenmek istenmiştir.

Bir sonraki satırda ise Notepad uygulaması ile $$ dizini altındaki text.txt dosyası açılmak istenmiştir. $$ değişkeni, hafızasında bir önceki satırdaki son girdi olan C:anilerduranSystemPowerShell dizinini bulundurduğundan dolayı ilgili dosya sorunsuz şekilde Notepad uygulaması ile açılmıştır.