PowerShell 7.0: Bilmeniz gereken sekiz değişiklik

PowerShell tüm satırlarda 7.0 sürümüne yükseltme yaparak tüm işletim sistemleri, yeni özellikler ve gelişmiş güvenlik için Windows sürümüne eşlik ediyor.

Programcı ile çalışan programcı

RossHelen, Getty Images / iStockphoto

Microsoft'un PowerShell (PS) programlama dili son birkaç yılda birkaç revizyondan geçti. PowerShell, yeni Windows işletim sistemlerindeki desteklenen özelliklerdeki ilerlemelerin yanı sıra Linux ve macOS desteğini de içerecek şekilde açık kaynak kodlu hale geldi ve dünya çapında geliştiriciler, programcılar ve BT yöneticilerinden daha fazla topluluk desteği için geliştirme sitesini GitHub'a taşıdı.

GÖRMEK: Microsoft Office geliştiriciler için nasıl yararlıdır (ücretsiz PDF) (TechRepublic)

Geliştirme bir sonraki sürüm olan PowerShell 7.0'da tamamlandığından, Microsoft GitHub sayfalarında mevcut işletim sistemine göre sıralanan tüm kullanıcılar için.

Microsoft'un PowerShell 7.0'da tanıttığı yeni özellikler. Not: Microsoft son sürüm kodunu tamamlamış olsa da, şu anda mevcut olan bazı özellik ve işlevlerin etkilendiği bilinmektedir. bir bu değişikliklerin listesi burada görülebilir ve gelecekteki bir sürümde düzeltilmesi beklenebilir.

.NET Core 3.1

Açık kaynaklı geçiş yapmadan önce PowerShell yalnızca Windows'taydı ve .NET çerçevesine dayanıyordu. Atlama gerçekleştikten sonra Microsoft, PowerShell dilini çatalladı ve temel çerçeveleri tüm işletim sistemlerini destekleyen .NET Core olarak değiştirdi ve PowerShell'in Windows ile birlikte Linux ve macOS üzerinde çalışmasına izin verdi.

PowerShell Core (PSC) için bir uyarı, yöneticilerin güvendiği cmdlet'lerin çoğunun henüz taşınmamış olmasıdır. Bununla birlikte, PS 7.0 ile, bu boşluğun çoğu köprülenmiştir ve bir, birleştirilmiş PowerShell ilerlemeye devam edecektir.

Windows PowerShell ile geriye dönük uyumluluk

PowerShell 7'nin en büyük hedeflerinden biri, mevcut cmdletlerin sayısına göre PS (çekirdek olmayan) ve PSC sürümleri arasındaki boşluğu kapatmaktır. Yalnızca Windows PowerShell (çekirdek olmayan), desteklenen cmdlet'lerin aslan payına sahiptir, ancak bu yavaş yavaş değişmektedir. Şimdi PS 7.0, .NET Core 3.1'e geçildiğinde, Microsoft'a göre hareket, beraberinde "mevcut Windows PowerShell modülleriyle önemli ölçüde daha fazla uyumluluk" getiriyor. Bu, GUI işlevselliği ve Windows'a özgü rol yönetimi modülleri gerektirenleri içerir.

Uzun vadeli destek (LTS)

Microsoft genellikle uygulamaları belirli bir süre için destekler, ardından uygulamanın en yeni sürümüne geçer, eski sürümler için desteği etkili bir şekilde bırakır ve PowerShell buna yabancı değildir; ancak, .NET'e geçiş, Microsoft'un bu ürün serisiyle kurduğu destek kadansını da beraberinde getirecektir. Mümkün olduğunca erken geri bildirim almak için her ay önizleme sürümleri kullanıma sunulacaktır. Daha da önemlisi, LTS sürümleri, ilk sürümden sonraki üç yıl boyunca, mevcut sürümlerle karşılaştırıldığında üç yıl boyunca desteklenecektir; bunlar yalnızca sonraki akım veya LTS sürümünün kullanıma sunulmasından sonra üç ay boyunca desteklenmektedir.

Mevcut cmdlet'lerde güncellemeler

PS 7.0'a bir dizi yeni ekleme olsa da, mevcut cmdlet'lerde daha dikkate değer güncellemelerden bazıları, kullanıcıların nesnelerle çalışmasına, işlevlerini yerine getirmesine ve operatörleri farklı, daha faydalı şekillerde kullanmasına izin veren parametre güncellemelerini içerir.

Bir koleksiyondaki öğeleri yinelemek için kullanılan ForEach-Object cmdlet'i, veri kümelerini paralellik yoluyla işlemeye hizmet eden ve sırasıyla paralel çalışan blok sayısını sınırlandırabilen -Parallel ve -ThrottleLimit parametrelerini içerir.

Get-Error cmdlet'i varsayılan olarak, meydana gelen son hatayla ilgili bilgi sağlar. İstisnalar dahil olmak üzere, nitelikli hatanın tam ayrıntılı bir görünümünü içerir. Ayrıca, -Newest parametresi ve ardından bir sayı ile çalıştırıldığında, sayı girişiyle ilişkili olarak algılanan son hatalar görüntülenir.

Örneğin, aşağıdaki cmdlet'in çalıştırılması oturumda bildirilen son 5 hatayı oluşturur:

Hata-En Yeni 5

Not: PS 7, Microsoft tarafından ConciseView adı verilen hataları görüntülerken yeni bir varsayılan görünüme sahiptir. ConciseView, çok satırlı, çok renkli görünüm PS kullanıcılarının aksine bir hata oluştuğunu görmek için kullanılan hataları tek satırda görüntüler. ConciseView yalnızca terminalde meydana gelen hatalar için geçerlidir; komut dosyalarında veya ayrıştırma sırasında oluşan hatalar yine de çok satırlı olarak görüntülenecektir.

Operatör, operatörler

Yeni bir operatör dahil edildi – ve oldukça kullanışlı – doğru veya yanlış olup olmadığını görmek için iki ifadeyi durumuyla karşılaştırarak, yalnızca daha basit bir if-else ifadesine çok benzeyen üçlü operatör. Aşağıdaki örnekte, Test-Path cmdlet'ini kullanarak, başvurulan yol varsa, sonuç "mevcut" olarak döner; ancak, yoksa, "yok" olarak geri döner.

Test Yolu "C: Kullanıcılar"? "exist": "mevcut değil"

Bir başka son derece kullanışlı ekleme boru hattı zinciri operatörüdür. Bunlar "&&" ve "| |" şeklinde gelir ve koşullu ifadelere dayalı olarak boru hattı verilerini zincirlemeye yarar. && operatörü boru hattını sağında yürütür, ancak yalnızca operatörün solundaki boru hattı başarıyla yürütüldüğünde. Daha sonra, | | Operatör boru hattını sağında yürütür, ancak yalnızca solundaki boru hattı başarısız olursa. Ayrıca yerel komutlarla birlikte kullanılabilirler. cmdlet'ler ve işlevler.

Boş değer birleştirme, atama ve koşullu işleçler, değerlendirilen işlenenlerden değer elde etmek için kullanılan yeni bir işleçler kümesidir. En yaygın olarak ileri düzey kullanıcılara yönelik olsa da, bu yeni operatörler karmaşık işlevlerden veri almayı basitleştirmelerine ve hatta çalıştıkları bilgi setlerine bağlı olarak bunları koşullu olarak temellemelerine izin verecektir. Microsoft, aşağıdakiler dahil ayrıntılı açıklamalar eklemiştir: veri yönetimini en üst düzeye çıkarma örnekleri çevrimiçi komut dosyası kılavuzu aracılığıyla.

Güvenli kimlik bilgisi yönetimi

Komut dosyası yazma, genellikle hem miktar (yani, bakım yapılacak komut dosyası sayısı) hem de kalite (yani standart yönetim) gibi görevleri otomatikleştirerek BT ​​yöneticilerinin hayatlarını basitleştirmeye yardımcı olur, ancak yerel, bulut ve karma kaynaklara artan güven ile bu birden fazla kimlik bilgisi gerektiren herhangi bir sayıda kaynağın düzgün çalışmamasına neden olabilir. PowerShell, komut dosyalarına katıştırılmış düz metne kimlik bilgilerini dahil etmemek için kimlik bilgilerini bir dereceye kadar güvenceye almak için yöntemler eklemiştir.

Microsoft, bir adım daha ileri gitmek için, yönetici kimlik bilgilerini yerel olarak veya mağaza aracılığıyla uzaktan korumak için güvenli bir depo görevi görecek bir kimlik bilgisi deposu oluşturmaya çalışmaktadır, böylece kullanıcı hiçbir zaman güvenli olmayan bir şekilde kimlik bilgilerini girmek zorunda kalmaz.

Merkezi günlük kaydı

PowerShell'in günlük kaydı özelliği yerel makine ile sınırlıdır. Komut dosyaları ve cmdlet'ler yürütüldüğünde (yerel olarak mı yoksa uzaktan mı yapıldığına bakılmaksızın), oluşturulan günlükler cmdlet'lerin çalıştığı yerel aygıtta kalır. Bu, kullanıcının zamanla tüm bu aygıtları ayrı ayrı gözden geçirmesini gerektiren, zaman alan sorunlar hakkında geri bildirim için günlükler arasında sıralama yapabilir. PowerShell 7.0, merkezi işletim sistemi agnostik yönetimi için tüm günlükleri hedeflenen bir sisteme (veya sistem günlüğü tipi sunucuya) yönlendirecek bir ilke aracılığıyla günlük toplamayı standartlaştırır.

Yeni sürüm bildirim ayarları

PowerShell 7, PS'nin yeni bir sürümü çıktığında kullanıcıları bilgilendirme özelliğini içerir. Varsayılan davranış, yeni güncellemeler için günde bir kez kontrol edilmesidir. Hangi güncellemelerin teslim edileceği PowerShell'in abone olduğu bildirim kanalına bağlıdır: Genel Olarak Kullanılabilir (GA) veya Adayı Önizle ve Bırak (RC) kanalları.

Bu yalnızca kullanıcılar için yararlı olmakla kalmaz, aynı zamanda deneysel bir özellik denemek istediğinizde kanal aboneliği değiştirilebilir veya belki de üretim senaryoları için sadece uzun vadeli destek (LTS) cmdlet'leri gerektirir. $ Env: POWERSHELL_UPDATECHECK ortam değişkeni yaratılarak, sistemin kanalı ayarlanabilir.

Editörün Notu: Bu makale, yayınlanmasından bu yana PowerShell 7.0'daki değişiklikleri yansıtmak üzere 20 Kasım 2019'da yayınlanan orijinal sürümünden güncellenmiştir.

Ayrıca bakınız

(Flipboard'da TechRepublic)

Source link

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*