Test-WSMan Değişimimde Daha Fazla İyileştirme


Geçtiğimiz günlerde Test-WSMan için yazdığım bir değiştirme fonksiyonunu paylaşmıştım. Bu sürüm, en azından benim için orijinal komuttaki bazı eksiklikleri giderdi. Bir süre kullandıktan sonra birkaç ek değişiklik istediğimi fark ettim ve artık sürüm 2'ye sahibim. Yeni sürüm artık birden fazla bilgisayar adını destekliyor. Ayrıca ProductVersion özelliğini işletim sistemi, Hizmet Paketi ve Yığın numaraları için ayrı özelliklerle değiştirdim.

Orijinal özelliği ayrıştırmak için normal ifadeler kullandım.

#parse the product version line into separate properties
[regex]$rx = "OS:\s(?\S+)\sSP:\s(?\d\.\d)\sStack:\s(?\d\.\d)"
$pv = $test.productVersion
        
[string]$os = ($rx.Matches($pv)).foreach({$_.groups["OS"].value})

#force these as strings and later treat them as [decimal]
[string]$sp = ($rx.Matches($pv)).foreach({$_.groups["SP"].value})
[string]$stack = ($rx.Matches($pv)).foreach({$_.groups["Stack"].value})

Nihai çıktıda ProductVersion özelliği bu özelliklerin lehine bırakılır. Bu, eski bilgisayarların filtrelenmesini kolaylaştırır.

Yardımı birkaç örnekle güncelledim. Yeni sürüm ana fikir olarak hâlâ GitHub'da.

:

Gerektiğinde oradaki kodu güncelleyeceğim. Hata işleme konusunda başka düşüncelerim var, dolayısıyla gelecekte bazı küçük değişiklikler olabilir. Bunu Windows sunucusundan başka bir şeye karşı da test etmedim. WSMan'in asıl amacı, diğer platformların kullanabileceği standart bir protokol olmasıdır. Birisinin bunu Windows olmayan cihazlarda test etmesini ve bulgularınızı GitHub'daki yorumlarda bildirmesini çok isterim.

İlgili makaleler