Microsoft bu hafta, PowerShell cmdlet’lerinde kullanılan tanıdık fiil-isim sözdizimi aracılığıyla sözde “yerel” yardımcı program uygulamalarını sarmayı amaçlayan yeni bir PowerShell modülü olan PowerShell Crescendo’nun bir ön izlemesini duyurdu.
Buradaki fikir, PowerShell gibi, bir kodlama projesine derinlemesine dalmak zorunda kalmadan bu yardımcı programları çağırmayı daha basit hale getirmektir. PowerShell Crescendo, kullanmak için PowerShell’e eklenmesi gereken bir modüldür. PowerShell 7 veya üstü veya Windows PowerShell 5.1 veya üstü ile çalışır, ancak kullanıcılar yalnızca PowerShell 7’ye sahip olduklarında bir modül yazabilirler.
Duyuru, PowerShell Crescendo’yu platformlar arasında çalışacak bir “çerçeve” olarak nitelendirdi: “Platformdan bağımsız olarak yerel komutlar için PowerShell cmdlet’leri hızla geliştirmeye yönelik bir çerçeve olan PowerShell Crescendo’nun ilk önizlemesini duyurmaktan memnuniyet duyuyoruz,” dedi Jason Helmick, PowerShell ekibinde program yöneticisi.
Tabii ki, BT uzmanları “kubectl, docker veya netsh.exe” komutları gibi yerel araçları olduğu gibi kullanabilir. PowerShell Crescendo’nun arkasındaki fikir, bu araçların PowerShell’in daha basit yapısına kıyasla çok karmaşık ve kendine özgü olabileceği gibi görünüyor. Bununla birlikte, bu yerel komutları bir PowerShell betiğine sarmayla ilgili sorunlar olabilir ve görünüşe göre PowerShell Crescendo önizlemesinin ele aldığı şey budur. Örneğin PowerShell, çıktının bir JavaScript Object Notation (JSON) dosyası yerine özelliklere sahip bir nesne olmasını bekler.
Ancak Microsoft’un duyurusu, kullanıcıların bir PowerShell Crescendo modülü yazmak için bir JSON dosyası oluşturmaları gerekeceğini açıkladı:
Bir Crescendo modülü yazmak için, yerel komutun bir cmdlet olarak nasıl yansıtılmasını istediğinizi açıklayan bir JSON yapılandırma dosyası oluşturursunuz. Crescendo proxy cmdlet’lerini içeren bitmiş modülü oluşturmak için Microsoft.PowerShell.Crescendo modülüne ihtiyacınız var.
PowerShell Crescendo’ya giden düşünce, PowerShell Core ekibinde kıdemli bir yazılım mühendisi olan Jim Truher tarafından yazılan “PowerShell’de Yerel Komutlar – Yeni Bir Yaklaşım” (Bölüm 1 ve Bölüm 2) başlıklı iki Haziran makalesinde özetlenmiştir. Makaleler bazı şüpheli yorumları ortaya çıkardı. Bir kişi, “sarmalayıcı işlevin görev için çok az değer verdiğini, ancak bağımlılıklar ve başarısız olmak için daha fazla potansiyel yol sunduğunu” öne sürdü.
Yine de, Microsoft’un PowerShell Crescendo önizlemesiyle birlikte ileriye dönük olduğu görülüyor.
PowerShell Crescendo’yu kimin kullanmakla ilgilenebileceğine dair bir soru, bu Twitter gönderisinde bir Microsoft En Değerli Profesyonel (MVP) olan Veronique Lengelle tarafından gündeme getirildi. Yanıt olarak Azure MVP Olivier Miossec, metin çıktısını yakalama ihtiyacı olduğunda aracın kullanılmasının mantıklı olduğunu söyledi. Diğerleri, Docker ve Robocopy gibi araçlarla kullanılmasının yararlı olacağını düşünüyordu.