Ana içeriğe geç

PowerShell

Okunuşu
pavır şel
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/powershell

Kısaca

PowerShell, Microsoft'un yönetimi otomatikleştirmeye yönelik komut satırı kabuğu ve betik dilidir; komutlar arasında düz metin yerine nesneler aktarır.

PowerShell nedir?

Windows PowerShell 1.0, eski Windows komut isteminin modern bir alternatifi olarak 2006'da yayımlandı. Microsoft 2016'da onu açık kaynaklı ve platformlar arası yaptı; bugünkü çizgi olan PowerShell 7 Windows, macOS ve Linux'ta çalışır ve pwsh komutuyla başlatılır.

Cmdlet adı verilen komutları, tahmin etmeyi kolaylaştıran bir Fiil-İsim (Verb-Noun) kalıbını izler: Get-Process, Stop-Service, New-Item. Unix kabuklarından büyük farkı nesne pipeline'ıdır. Get-Process | Where-Object CPU -gt 100 | Sort-Object CPU bir komuttan diğerine özellikleri olan .NET nesneleri aktarır; bu yüzden metni awk gibi araçlarla ayrıştırmaya gerek kalmaz.

PowerShell, Windows sunucularını, Active Directory'yi, Microsoft 365'i, Exchange'i ve Azure'u otomatikleştirmenin standart yoludur ve birçok sistem yöneticisi onu her gün kullanır. Betikler .ps1 dosyaları olarak kaydedilir, modüller PowerShell Gallery üzerinden paylaşılır ve herhangi bir .NET kütüphanesini doğrudan çağırabilir.

Sık yapılan bir yanlış, PowerShell'in yalnızca Windows için olduğunu düşünmektir. PowerShell 7 Linux ve macOS'ta da çalışır, ama Windows'a özel bazı modüller çalışmaz. Windows'taki varsayılan yürütme ilkesi (execution policy) imzasız betikleri engelleyebilir; bu yeni başlayanları şaşırtır, ama bu bir güvenlik ayarıdır, betiklerin bozuk olduğunu göstermez.

Önemli noktalar

  • PowerShell, ilk olarak 2006'da yayımlanan Microsoft'un kabuğu ve betik dilidir.
  • PowerShell 7 açık kaynaktır ve Windows, macOS ve Linux'ta çalışır.
  • Cmdlet'ler Get-Process gibi Fiil-İsim adları kullanır.
  • Pipeline, komutlar arasında metin değil .NET nesneleri aktarır.
  • Windows, Microsoft 365 ve Azure'u otomatikleştirmenin standart aracıdır.

Örnek

Pipeline'da nesnelerle çalışmakpowershell
# The five processes using the most memory, as objects with properties
Get-Process |
  Sort-Object WorkingSet64 -Descending |
  Select-Object -First 5 Name, Id, @{ Name = 'MemoryMB'; Expression = { [math]::Round($_.WorkingSet64 / 1MB) } }

# Find large log files and export the list to CSV
Get-ChildItem -Path C:\Logs -Filter *.log -Recurse |
  Where-Object Length -gt 50MB |
  Export-Csv -Path big-logs.csv -NoTypeInformation

Sık sorulan sorular

PowerShell ile Bash arasındaki fark nedir?

Bash komutlar arasında düz metin aktarır, PowerShell ise yapılandırılmış nesneler. Bash Linux ve macOS'ta standarttır; PowerShell Windows'ta standarttır ve başka sistemlerde de çalışır.

Windows PowerShell ile PowerShell 7 arasındaki fark nedir?

Windows PowerShell 5.1 Windows ile gelir ve .NET Framework üzerine kuruludur. PowerShell 7 ise modern .NET üzerine kurulu, daha yeni, açık kaynaklı ve platformlar arası sürümdür; yeni özellikler ona eklenir.

Cmdlet nedir?

Get-ChildItem ya da Set-Location gibi Fiil-İsim biçiminde adlandırılmış yerleşik bir PowerShell komutudur. Cmdlet'ler parametre alır ve bir sonraki komutun kullanabileceği nesneler üretir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar