SistemSözlük

PowerShell Nedir?

PowerShell’in Temel Özellikleri:

  1. Objeye Dayalı: PowerShell, nesne yönelimli bir dil olarak tasarlanmıştır. Yani, komutların çoğu nesneler üzerinde çalışır ve sonuçlar nesne olarak döner.
  2. Modüler Yapı: PowerShell modüler bir yapıya sahiptir. Çeşitli modüller, cmdlet’leri (küçük ve özel komutlar), işlevleri ve scriptleri içerir. Bu modüler yapı, işlevselliği genişletmek için ek modüllerin eklenmesine ve kullanılmasına olanak tanır.
  3. Geniş Uygulama Desteği: PowerShell, birçok Microsoft ürünü ve teknolojisi ile entegre çalışabilir. Exchange, SharePoint, Active Directory gibi birçok Microsoft ürünü PowerShell komutlarını destekler.
  4. Scripting Dili Olarak Kullanılabilir: PowerShell, güçlü bir scripting dili olarak da kullanılabilir. Betikler (script’ler), otomatik görevler, sistem yönetimi ve tekrar eden görevler için kullanılabilir.
  5. Uzaktan Yönetim: PowerShell, uzaktan yönetim için kullanılabilir. Uzaktaki bilgisayarlar veya sunucular üzerinde PowerShell komutları çalıştırabilir ve sonuçları alabilirsiniz

Powershell kimler için uygun?


PowerShell, geniş bir kullanıcı kitlesine hitap eden bir araçtır ve farklı ihtiyaçlara uygun olarak kullanılabilir. İşte PowerShell’in uygun olduğu bazı gruplar:

  1. Sistem Yöneticileri ve Ağ Uzmanları:
    • Sistem yöneticileri, Windows tabanlı sistemlerin yönetimi için PowerShell’i kullanabilir. Servislerin durumunu kontrol etmek, kullanıcı hesaplarını yönetmek, güvenlik politikalarını uygulamak gibi birçok görev PowerShell ile otomatikleştirilebilir.
  2. Geliştiriciler:
    • PowerShell, geliştiriciler için de kullanışlıdır. Özellikle Microsoft platformları üzerinde çalışan uygulamaların yönetimi ve dağıtımı için PowerShell script’leri yazmak mümkündür. Ayrıca, .NET Framework ile entegrasyon sayesinde geliştiriciler PowerShell’i geniş bir şekilde kullanabilir.
  3. Veritabanı Yöneticileri:
    • Veritabanı yöneticileri, SQL Server gibi veritabanları ile çalışırken PowerShell’i kullanabilir. SQL Server yönetimi, yedekleme işlemleri gibi birçok görev PowerShell script’leri ile otomatikleştirilebilir.
  4. Cloud Yöneticileri ve Mühendisler:
    • PowerShell, bulut hizmetleri yönetimi için de kullanılabilir. Özellikle Microsoft Azure gibi bulut platformları ile entegrasyon sağlayan PowerShell modülleri sayesinde, bulut kaynakları yönetmek ve dağıtmak için kullanılabilir.
  5. Güvenlik Uzmanları:
    • Güvenlik uzmanları, PowerShell’i güvenlik denetimleri yapmak, güvenlik olaylarını incelemek ve güvenlik politikalarını uygulamak için kullanabilir. PowerShell script’leri, güvenlik açıklarını kontrol etmek ve düzeltmek için kullanılabilir.
  6. Otomasyon Uzmanları ve DevOps Mühendisleri:
    • Otomasyon uzmanları ve DevOps mühendisleri, sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerini yönetmek için PowerShell script’lerini kullanabilir. Otomatikleştirilmiş dağıtımlar, test süreçleri ve sistem güncellemeleri PowerShell ile kolayca gerçekleştirilebilir.
  7. Help Desk ve Destek Personeli:
    • Help desk ve destek personeli, kullanıcı hesaplarını yönetmek, hata ayıklama yapmak ve temel sistem görevlerini PowerShell kullanarak hızlı bir şekilde gerçekleştirebilir.

Powershell ne değildir?

  1. Evrensel Betikleme Dili Değildir:
    • PowerShell, Windows işletim sistemleriyle birlikte gelen bir araçtır ve öncelikle Windows ortamlarında kullanılır. Diğer işletim sistemleri için PowerShell Core adında bir sürüm bulunsa da, tüm özellikler her platformda tam olarak desteklenmeyebilir.
  2. Her Türlü Görev İçin En İyi Araç Değildir:
    • PowerShell, çeşitli görevleri otomatikleştirmek ve sistem yönetimi için güçlü bir araçtır, ancak her türlü görev için en iyi araç olmayabilir. Bazı durumlarda, başka bir dil veya araç daha uygun olabilir.
  3. Performans Odaklı Değildir:
    • PowerShell, birçok durumda kabul edilebilir performansa sahiptir, ancak yüksek performans gerektiren belirli senaryolarda, daha düşük seviyeli diller veya özel araçlar daha uygun olabilir.
  4. Kapsamlı Bir Programlama Dili Değildir:
    • PowerShell, temelde bir betikleme dili olarak tasarlanmıştır ve genellikle kısa betikler veya komut satırı işlemleri için kullanılır. Ancak, büyük ve karmaşık yazılım projeleri için daha geniş bir programlama dili tercih edilebilir.
  5. Tamamen Linux Odaklı Değildir:
    • PowerShell Core, Linux ve diğer platformlarda çalışabilen bir sürümdür, ancak orijinal PowerShell’in Windows ekosistemine dayalı olarak geliştirilmiş olması nedeniyle tamamen Linux odaklı bir araç değildir.
  6. Tamamen Ücretsiz ve Açık Kaynak Değildir:
    • PowerShell’ın orijinal sürümü, Windows işletim sistemleriyle birlikte ücretsiz olarak sunulur; ancak PowerShell Core’ın kullanımında, bazı Microsoft bileşenleri kapsam dışında olabilir ve tamamen açık kaynak değildir.
  7. Herkes İçin Anında Erişilebilir Değildir:
    • PowerShell, öğrenilmesi gereken bir dil ve araçtır. Tam anlamıyla etkili bir şekilde kullanabilmek için kullanıcıların PowerShell konusunda bilgi sahibi olmaları ve pratik yapmaları gerekir.

Powershell ile neler yapabilirim?

Öncelikle powershell’in bir sistemcinin hayatını kurtardığını belirtmeliyim. Yapılması basit ama terkar eden işleri sadece birkaç satırlık powershell script’i ile yapabilirsiniz. Script’ler zaten belirli görevleri belirli talimatları yerine getiren programlardır. Şimdi düşünelim ve örneğimizi bir yazılımcı veya sistem mühendisi için değil normal bir windows kullanıcı için oluşturalım. Örneğin photoshop işiyle uğraşan birisi olduğunuzu varsayalım ve bir sürü formatta görsel çıktı aldınız ve hepsini aynı yere kaydettiniz ancak artık .png uzantılı dosyalara ihtiyaç duymuyorsunuz ama dosyayı kaydettiğiniz yerde birden fazla uzantıya sahip dosyalarda bulunuyor. Merak etmeyin bunu powershell ile hızlıca tespit edip silebilirsiniz. Veya sadece .png uzantılı dosyaları farklı bir klasöre taşımak istiyorsunuz. Bakalım bu iş nasıl oluyormuş.

Get-ChildItem -Path “C:\ burası sizin istediğiniz dosya yolu” -Filter *.png bu kod sayesinde dosyalarımı listeledim.

Ve silmek istersem yine sadece tek satırda halledebiliriz.

Remove-Item -Path “C:\Belirli\Yol\*.png” -Force ile png uzantılı tüm dosyaları silmiş olduk. Get-ChildItem -Path “C:\ burası sizin istediğiniz dosya yolu” -Filter *.png tekrar çalıştırdığımızda gördüğünüz gibi .png uzantılı dosyalar gitti. Aynı kodu .jpg olarak yazdığımızda tekrar listelemiş olduk.

Bunlar çoğaltılarak 30 günden eski .png uzantılı dosyaları sil veya .png uzantılı farklı bir klasöre taşı gibi işlemler yapabiliriz. Sonraki yazılarda bu işlemlere de gireceğiz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu