Tem 21

Bugün PowerShell ile ilgili makale serimizin üçüncü makalesi olan écmdlets” kulllanımını anlatacağım.

Cmdlet (Command-Lets) Windows PowerShell’de objeleri işleyen basit fonksiyonlu bir komuttur. Yani cmdlet PowerShell’in komut dizimidir. Fakat bu komutlar standart çalıştırılabilir (executable) dosyalar şeklinde değil de .NET fonksiyonları şeklinde çalışmaktadır. .NET programlama dillerinin mantığı burada kullanılmıştır.

Windows PowerShell’de birçok komut (cmdlets) çok basittir ve diğer komutlar ile kombinasyon halinde kullanılmak için tasarlanmıştır.

Örneğin “Get” komutu sadece bilgi alır. “Set” komutu sadece bilgi güncelleştirmek için, “Format” komutu bilgi formatlamak için, “Out” ise komut çıktısı almak için kullanılır.

Windows PowerShell’de kullanılan komutların ve parametrelerin büyük küçük harf duyarlılığı yoktur.

Kullanımı

Örneğin; Get-Process komutu (cmdlets) çalışan uygulamaların bir listesini vermektedir.

Stop-Process komutu çalışan bir uygulamayı durdurmak için kullanılır.

Aynı şekilde tanımlanmış Get-Service ve Stop-Service komutları servisleri listeler ve durdurur.

Stop-service komutu ile bir servisi durdurup, start-services komutu ile bir servisi başlatabilirsiniz.

Komutların bu şekilde benzer yapılarda tanımlanmış olması komutları öğrenmeyi kolaylaştıracaktır.

Get-Command komutuyla kullanılabilir cmdlets komutlarının listesini alabilirsiniz.

Get-Command Verb Get komutuyla Get ile başlayan komutların bir listesini alabilirsiniz.

Örneğin, cmdlet’te Get-Date komutunu deneyelim :

Get-Command ekranında üç sütun vardır :

CommandType (Komut tipi)            Name (İsmi)              Define (Tanımı)

Cmdet’leri listelerken, define sütunu cdmletin söz dizimini gösterir. Söz diziminde birkaç sözcüğün atılması verinin kesildiğini gösterir. Get-Command cmdlet komut aldığı gibi aynı zamanda ve Windows Powershell’deki aliases (takma isimlere), fonksiyonlara ve kullanılabilir hazır dosyalara komut verir.

Aşağıdaki komut , komut elde edebilmek için isim parametrelerinin kullanılarak Windows PowerShell’de kullanılabilen hazır dosyaları listeler.

PS> get-command *.vbs

Name sütunu script dosyalarını listelerken, definition sütunu script dosyalarına ulaşmak için izlenmesi gereken yolu gösterir.

Get-Eventlog komutu ile logları görüntüleyebilirsiniz.

Get-Alias komutu ile tanımlı alias’ları görüntüleyebilirsiniz. 

 

Get-ComputerRestorePoint ile sisteminizdeki geri yükleme noktalarını görüntüleyebilirsiniz.

Basit Get- cmdetler’le ilgili bir sorun yaşamazsak, Get- Wmiobject gibi farklı cdmlet komutlarını da inceleyebiliriz.. Bu cdmlet gayet kullanışlıdır çünkü size diğer bilgisayarlardaki unsurları inceleme ve değiştirme fırsatı verir.

Örneğin : Aşağıdaki komut, server01 adlı bilgisayarın BIOS’u hakkında bilgi toplar :
get-wmiobject win32_bios -computername teknik

get-wmiobject -class Win32_ComputerSystem

Cdmlet ile ilgili yardım almak istersek aşağıdaki satırı kullanmamız yeterli olacaktır.:
get-help -detailed

Örneğin Event ile ilgili yardım bilgilerine ulaşmak için
get-help Event -detailed

Get-help komutunu kullanarak , PowerShell üzerinde kullanılabilecek olan parametrelere ve bu parametrelerin kullanım şekillerine ilişkin yardım alabiliriz. Get-Help komutu, Windows PowerShell’de kavramsal başlıkları ve cmdlet’ler hakkında bilgileri ayrıntılı bir şekilde görüntülemeyi sağlar.
Parametre özellikleri içeren bir cmdlet hakkında ayrıntılı bilgi alabilmek ve örnekleri görüntülüyebilmek için Get-Help komutunun detailed, full, examples, parameter parametrelerinden herhangi birini kullanabiliriz.

Örneğin : get-help get-childitem –examples

Bir makalemizin daha sonuna geldik. Bir sonraki makalemizde PowerShell ile Windows programlarını kullanma ve scripting konularına değineceğim. Herkese iyi çalışmalar.

Yazar ceyhun çamlı \\ tags: ,

Tem 21

PowerShell nedir ve niçin kullanırız, sistem gereksinimlerimiz nelerdir gibi konuları anlattığımız ilk makalenin ardından PowerShell ile ilgili ikinci makalemizde Alias kullanımından bahsedeceğim.

Windows PowerShell’e  kolay adapte olmak için alışkın olduğumuz cmdlets komutları için alias ‘lar (takma isimler)   tanımlanmıştır.

 Aynı şekilde programları çalıştırmak içinde alias’lar yaratabiliriz.

 Örneğin; Get-ChildItem komutu için gchi takma ismini atamak istiyorsak aşağıdaki satırı çalıştırmalıyız:

set-alias gchi get-childitem 

Örneğin; Hesap makinesini çalıştırmak için hm takma ismini yaratmak isteyelim:

set-alias hm c:\windows\system32\calculator 

NOT: Not defteri programı sizin sisteminizde farklı bir sürücüde olabilir.

 Veri.txt dosyasını Not Defteri’yle açmak için PowerShell’de aşağıdaki komut girilir:

notepad veri.txt

Tüm PowerShell komutları için takma isim (alias) kullanılabilir. Bir komuta atanmış alias’ları görmek için aşağıdaki satır girilir:

get-alias | where-object {$_.definition -eq “komut_adı“}

Örneğin: Get-ChildItem komutu için oluşturulmuş alias’ları görüntülemek için;

get-alias | where-object {$_.definition -eq ” Get-ChildItem “} 

İlk satırdaki komut aracılığıyla get-child-item için bir alias tanımlaması yaptık ikinci satırdaki komut aracılığı ile de get-child-item için tanımlanmış alias’ları görüntüledik.

Alias Silme

Bir Alias silmek için alias’lar  arasından cdmlet silme aygıt sürücüsünü kullanılır.

Örneğin;  Biraz önce oluşturduğumuz  ” gchi” takma ismini kaldırmak için remove-item alias   ( takma isim) :gchi 

İlk satırdaki komut aracılığıyla get-child-item için tanımlamış olduğumuz alias’ı silmek için gereken komutu girdik ve ikinci satırdaki komut aracılığı ile de get-child-item için tanımlanmış alias’ları görüntüledik.

Tanımlı takma isimler ve karşılık geldikleri cmdlets komutu ve görevleri ile ilgili birkaç örnek; 

Alias Kullanımına İlişkin Örnekler

Örnek : get komutu ile kullanabileceğim parametreler için tanımlanmış olan alias’lardan g ve s ile başlayanları listelemek;

get-alias -name g*, s* -exclude get-*

Örnek : Sadece okunabilir alias’ları görüntüleme

get-alias | where-object {$_.Options -match “ReadOnly”}

Powershell ile ilgili makalelerimin ikincisi olan PoweShell’de Alias Kullanımını burada noktalıyorum. Yararlı olması dileğiyle.

Yazar ceyhun çamlı \\ tags: ,