PowerShell, Microsoft tarafından Windows komut satırı cmd.exe ve Windows Script Host’a alternatif olarak geliştirilen yeni nesil bir komut satırı uygulamasıdır. Başlangıçta sadece Windows PowerShell olarak bilinen bir Windows bileşeni, 18 Ağustos 2016’da PowerShell Core‘un tanıtımı ile açık kaynaklı ve çapraz platform haline getirildi.
PowerShell’de yönetim görevleri genellikle belirli bir işlemi uygulayan özel .NET sınıfları olan cmdlet’ler (telaffuz komutları) tarafından gerçekleştirilir. Bu görevler sağlayıcılar aracılığıyla PowerShell’e sunulan dosya sistemi veya kayıt defteri gibi farklı veri depolarındaki verilere erişerek çalışır. Ayrıca üçüncü taraf geliştiriciler, PowerShell’e cmdlet’ler ve sağlayıcılar ekleyebilir. Komut dosyaları diğer komut dosyaları tarafından kullanılabilir ve modüllere paketlenebilir.
PowerShell, COM ve WMI’a tam erişim sağlayarak yöneticilerin hem yerel hem de uzak Windows sistemlerinde yönetim görevlerini yerine getirmesine olanak tanır; WS-Management ve CIM ise uzak Linux sistemlerinin ve ağ cihazlarının yönetimini sağlar. Ayrıca PowerShell çalışma zamanının diğer uygulamaların içine yerleştirilebileceği bir barındırma API’si da sağlar. Bu uygulamalar daha sonra PowerShell işlevini grafiksel arabirim aracılığıyla belirli işlemleri uygulamak için kullanabilir. Bu özellik, Microsoft Exchange Server 2007 tarafından yönetim işlevselliğini PowerShell cmdlet’leri, sağlayıcıları göstermek ve grafik yönetim araçlarını gerekli cmdlet’leri çağıran PowerShell ana bilgisayarları olarak uygulamak için kullanılmıştır.
PowerShell, Get-Help cmdlet’i aracılığıyla erişilebilen kendi konsol tabanlı yardımını (Unix kabuklarındaki man sayfalarına benzer) içerir. Yerel yardım içerikleri Update-Help cmdlet’i aracılığıyla internetten alınabilir.
Windows PowerShell-Cmdlets
Cmdlet (Command-let) Windows Powershell’in sahip olduğu özel komutlardır. Cmdlet komutlarının isimlerinden ne iş yaptıkları kolayca anlaşılabilmektir. Her bir Cmdlet için genişçe yardım bilgileri mevcuttur. Aşağıdaki komut sayesinde istenilen Cmdlet hakkında detaylı bilgiye ulaşılabilir.
get-help <Cmdlet-İsmi> -detailed