Powershell - Komut dosyası oluşturma

Windows PowerShell bir command-line shell ve scripting languageözellikle sistem yönetimi için tasarlanmıştır. Linux'taki analogu Bash Scripting olarak adlandırılır. .NET Framework üzerine kurulu Windows PowerShell, BT uzmanlarının Windows işletim sistemi ve Windows Server ortamında çalışan uygulamaların yönetimini kontrol etmesine ve otomatikleştirmesine yardımcı olur.

Windows PowerShell komutları cmdlets, bilgisayarları komut satırından yönetmenize izin verin. Windows PowerShell sağlayıcıları, Kayıt Defteri ve Sertifika Deposu gibi veri depolarına dosya sistemine eriştiğiniz kadar kolay erişmenizi sağlar.

Ek olarak, Windows PowerShell zengin bir ifade ayrıştırıcısına ve tam gelişmiş bir komut dosyası diline sahiptir. Yani basit bir deyişle, GUI ile yaptığınız tüm görevleri ve daha fazlasını tamamlayabilirsiniz. Windows PowerShell Komut Dosyası, tam gelişmiş bir komut dosyası dilidir ve zengin bir ifade ayrıştırıcısına sahiptir.

Özellikleri

  • Cmdlets - Cmdlet'ler, örneğin kayıt defterini, hizmetleri, işlemleri, olay günlüklerini yönetmek ve Windows Yönetim Araçları'nı (WMI) kullanmak gibi genel sistem yönetimi görevlerini gerçekleştirir.

  • Task oriented - PowerShell komut dosyası dili görev tabanlıdır ve mevcut komut dosyaları ve komut satırı araçları için destek sağlar.

  • Consistent design- cmdlet'ler ve sistem veri depoları ortak sözdizimi kullandığından ve ortak adlandırma kurallarına sahip olduğundan, veri paylaşımı kolaydır. Bir cmdlet'in çıktısı, herhangi bir işlem yapmadan başka bir cmdlet'e ardışık düzenlenebilir.

  • Simple to Use - Basitleştirilmiş, komut tabanlı gezinme, kullanıcıların dosya sistemi gezinmesine benzer şekilde kayıt defterinde ve diğer veri depolarında gezinmesine olanak tanır.

  • Object based- PowerShell, güçlü nesne işleme yeteneklerine sahiptir. Nesneler doğrudan diğer araçlara veya veritabanlarına gönderilebilir.

  • Extensible interface. - PowerShell, bağımsız yazılım satıcıları olarak özelleştirilebilir ve kurumsal geliştiriciler, yazılımlarını yönetmek için PowerShell'i kullanarak özel araçlar ve yardımcı programlar oluşturabilir.

Değişkenler

PowerShell değişkenleri, nesneler olarak adlandırılır. PowerShell nesnelerle çalıştığı için bu değişkenler nesnelerle çalışmak için kullanılır.

Değişken oluşturma

Değişken adı $ ile başlamalıdır ve adlarında alfanümerik karakterler ve alt çizgi içerebilir. Geçerli bir değişken adı yazılarak bir değişken oluşturulabilir.

PowerShell ISE Konsolu'na aşağıdaki komutu yazın. D: \ test klasöründe olduğunuzu varsayarsak.

$location = Get-Location

Burada değişken bir $ location oluşturduk ve ona Get-Location cmdlet'inin çıktısını atadık. Şimdi geçerli konumu içerir.

Değişken kullanma

PowerShell ISE Konsolu'na aşağıdaki komutu yazın.

$location

Çıktı

PowerShell konsolunda aşağıdaki çıktıyı görebilirsiniz.

Path                                                                                    
----                                                                                    
D:\test

Değişken hakkında bilgi almak

Get-Member cmdlet'i kullanılan değişkenin türünü söyleyebilir. Aşağıdaki örneğe bakın.

$location | Get-Member

Çıktı

PowerShell konsolunda aşağıdaki çıktıyı görebilirsiniz.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}