Hangi Windows Management Framework sürümü yüklü?


16

Hangi Windows Management Framework (WMF) sürümünün yüklü olduğunu nasıl kontrol edersiniz? Öğrenmek için basit bir şey olmalı gibi görünüyor, ama yapamam. Sorunun bir sürü farklı versiyonunu Googling yapmak bile pek bir işe yaramıyor.

Appwiz.cpl'de değil ve regedit "Windows Yönetim Çerçevesi" için hiçbir şey bulamıyor ve "wmf" için çok fazla gereksiz şeyler buluyor

Sadece nasıl kontrol edeceğimizi bilmek istiyorum, makul bir şekilde. Bunun için bir kayıt defteri anahtarı var mı? Kontrol edebileceğim bir dosya var mı? Herhangi bir şey???

Bulabildiğim en yakın şey burada serverfault: Windows Management Framework sürümünü algılama yöntemleri . Bu soru aynı şekilde başlıyor, ancak bir GPO'da kullanılmak üzere belirli bir kontrol yöntemi talep ediyor gibi görünüyor; belki de bu yüzden cevabı yoktu.

Bunu kontrol etmek istediğim birden fazla bilgisayar var. Başladığım Windows Server 2008 R2 Standard. Başka Windows Server işletim sistemleri de olacaktır.

Sahip olduğumdan daha iyi çalışan herhangi bir etiket biliyorsanız, lütfen yorum yapın veya yeniden etiketleyin; Bu soruyu iyi tanımlayan bir şey bulamadım.


Güncelleme: Bazı insanlar " $PSVersionTable" (ve / veya bunun çeşitli özelliklerinin) bir cevap olduğunu düşünüyor gibi görünüyor . Sonunda bunun bir PowerShell değişkeni olduğunu fark ettim (belki 'PS' öneki benim için vermiş olmalı, ancak vermedi) ve daha derine inmeye çalıştı. Bu başka bir soruyla sonuçlandı: PowerShell'in $ PSVersionTable içeriği neyi temsil ediyor? .

Güncelleme2: Şimdi topladığım tüm bilgilere ve daha iyi anladığıma dayanarak, PowerShell'in yerleşik değişkeninin $PSVersionTable.PSVersionteknik olarak bunun cevabı olmadığından eminim, ancak genellikle (bazen? Her zaman? Emin değilim) aynı, sürümlerde olduğu gibi el ele gidebilir. $PSVersionTable.WSManStackVersionDeğişken ne istiyorum, ama WS-Management yığınını temsil olarak bu özellik gösterir resmi kısa bir açıklama bu olabilir. WS-Management yığını WMF ile aynı şey midir? Google çalışanları birbirleriyle yakından ilişkili olduklarını önerir, ancak bunun cevabının evet olup olmadığından emin değilim.


1
Olası dupe: serverfault.com/questions/555100/… Henüz kabul edilmiş bir cevap olmamasına rağmen cevap yorumlarda.
Wesley

@Wesley Zaten bu soruya bir link verdim ve bundan bahsettim. Cevap yorumlarda yok. " $PSVersionTable.PSVersionWMI kullanmaktan başka nasıl çalıştıracağınızı mı soruyorsunuz ?" bir cevap değil. Bu ne anlama geliyor? Bu yorumu alıp gerçekten kullanılabilir bir cevaba dönüştürürseniz, çok memnun olurum. Bu, $PSVersionTable.PSVersionbir yerde mevcut olan bir tür değişken mi? Evet ise, WMF sürümü olması garanti edilir mi? Denedim echo $PSVersionTable.PSVersionve bir çıktı var$PSVersionTable.PSVersion
Loduwijk

Aynı şey, bu sorunun benzer yorumları için de geçerlidir.
Loduwijk

1
Muhtemelen kaçtığınızı echo $PSVersionTable.PSVersionve çıktısını aldığınız için aşağı düştünüz $PSVersionTable.PSVersion- diğer soru hakkındaki yorumumda / cevabımda neyle karıştırıyorsunuz?
TheCleaner

1
"Bunu yaptım ve bu sonucu aldım" demek asla aşağılık bir not üretmemelidir. Bu, kişinin aptal olduğunu düşündüğünüz için aşağıya düştüğünüzü ima ediyor. Bu, sözde "cevabı" kullanmaya çalıştığım bir yolun sadece bir örneğiydi. Bu değişkenle ilgili yorumlar bazı veriler vermiştir, ancak bunu kullanmanın faydalı bir yolu yoktur. PowerShell'de bir değişken olduğunu bilmiyordum ve kimse bunun olduğunu söylemedi - en yakın şey, bir kaç kişinin PowerShell sürümünü de kontrol etmekten bahsetti, bu aradığım bir şey değildi.
Loduwijk

Yanıtlar:


10

Microsoft'un bu belgelerine bakın:

https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1

"Varolan Windows Powershell'i yükseltme" bölümünde, özellikle şunları söylüyor:

PowerShell kurulum paketi bir WMF yükleyicisinin içinde gelir. WMF yükleyicisinin sürümü PowerShell sürümüyle eşleşir ; Windows PowerShell için tek başına yükleyici yoktur.

Bence cevap bu. $PSVersionTable.PSVersionSürümü almak için çalıştırın .


Son olarak doğrudan Microsoft'tan kesin ve güvenilir bir cevap. Teşekkür ederim. Kabul edildi ve +1.
Loduwijk

10

Bunun eski bir soru olduğunu biliyorum, ancak bunu bir Google Arama'dan bulan diğer kullanıcılar için:

$PSVersionTable.PSVersionWMF versiyonunun en güvenilir göstergesi olduğunu iddia etmek istiyorum . Aşağıdaki örneklere bakın.

Windows 7 yeni yükleme:

Name                           Value
----                           -----
PSVersion                      2.0
WSManStackVersion              2.0
CLRVersion                     2.0.50727.5420
BuildVersion                   6.1.7601.17514
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

.NET 4.5 ve WMF 4 yüklemesinden sonra Windows 7:

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.18408
BuildVersion                   6.3.9600.16406
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

WMF 5 kurulumundan sonra Windows 7:

Name                           Value
----                           -----
PSVersion                      5.0.10586.117
WSManStackVersion              3.0
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.117
CLRVersion                     4.0.30319.18408
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Kutudan çıktığı gibi WMF 5 içeren Windows 10:

Name                           Value
----                           -----
PSVersion                      5.0.10586.122
WSManStackVersion              3.0
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.122
CLRVersion                     4.0.30319.42000
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Gördüğünüz gibi, sürümü $PSVersionTable.WSManStackVersion.Majoryalnızca WMF 4 kurulumunda değişiyor gibi görünüyor ve daha sonra 3'te kalıyor $PSVersionTable.PSVersion.Major. WMF'nin doğru sürümünü bildiriyor gibi görünüyor.


Size en güvenilir göstergenin ne olacağını söyleyeceğim. Windows'un her sürümü için varsayılan WMF'yi ve her bir Windows Yönetim Çerçevesi için hangi KB numaralarının kullanıldığını bulun ve bu sürümleri / KB'leri kontrol edin ve büyük bir vaka bildirimi yapın. Yani, muhtemelen PSVersion yeterince iyidir, ancak belirtildiği gibi bunu bilmiyoruz. Ya da en azından bunu bilmiyorum. Ancak, KB'lerin ve işletim sistemi sürümünün olup olmadığını, WMF'nin yüklü olduğunu bileceğinizden emin olabilirim. (Yine de bir adım geri atarak neden WMF sürümünü bilmek gerektiğini merak ediyorum ve PSVersion yeterli olmayacak.)
Todd Walton

Bu kabul edilen cevap olmalı. Tüm KB'leri bulmak kapsamlı bir yanıt sağlarken, bu cevap en az bir Windows sürümünde (2012 R2) onaylayabileceğim makul bir yaklaşımdır.
RichVel

@ToddWalton O zaman neden WMF sürümüne ihtiyaç duyduğumla ilgili ayrıntıları hatırlamıyorum. Hatırladığım tek şey, yaptığım bir şeyin WMF'nin belirli bir sürümünün yüklü olması ve PowerShell olmamasıydı. Ne olduğunu hatırlamıyorum, belki de PowerShell kullanılan bir şeydi. Yaklaşık 2 yıldır bu işte bile çalışmadım, bu yüzden bu görevle ilgili anılarım İsviçre peynirli peynir.
Loduwijk

@RichVel Haklıydınız, bu cevap kabul edilmiş olmalı. Onay işaretini neden hiç değiştirmediğimden emin değilim. Bununla birlikte, bu noktada, son zamanlarda gerçekten kesin, yetkili bir cevap verilmiştir, bu yüzden bunun yerine kabul ettim. Mike'a cevabının geçen yıl kontrol edilmediğine üzgünüm.
Loduwijk

3

PowerShell'de şu adresten edinilebilir: $PSVersionTable.WSManStackVersion.Major

Ev Windows 7 sistemim:

PS C:\Users\Brian> $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.5485
BuildVersion                   6.1.7601.17514
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1


PS C:\Users\Brian> $PSVersionTable.WSManStackVersion.Major
2
PS C:\Users\Brian>

Ardından daha yeni bir Windows Yönetim Çerçevesi yükledikten sonra:

PS C:\Users\Brian> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.34209
BuildVersion                   6.3.9600.16406
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2


PS C:\Users\Brian>

1
Bunun yanlış olduğuna inanıyorum. WMF 5.1'i WSManStackVersion, başlangıçta 3.0 olan bir Windows Server 2012 R2 sistemine yükledim ve 3.0'da kaldı. Bence en iyi rehber, ilk iki bileşeni PSVersionWMF sürümü ile aynı olacak.
RichVel

0

Yüklü ise, "appwiz.cpl" de bulabilirsiniz. WMF farklı Windows sürümleri için benzersiz KB numaralarıyla bir Windows güncellemesi olarak dağıtıldığından, "Yüklü güncelleştirmeleri görüntüle" altına bakmayı unutmayın.

WMF 3.0, Windows 7 SP 1 altında yüklü


0

Windows Yönetim Çerçevesi'nin (WMF) hangi sürümünün yüklü olduğunu görmek için denetlediğiniz sürümün KB numarasını belirleyip bu örnekte, bu KB numarasının yüklü olup olmadığını belirlemek için wmic sorgusunu kullanın. Bu örneklerin tümü, komutları çalıştırmak için cmd.exe'yi kullanmaya dayanır.

** WMF 4.0'ı Denetleme Komutları

wmic qfe get hotfixid | find "KB2819745"
echo %ERRORLEVEL%

** Komutları çalıştırma örneği:

C:\Program Files\Tivoli\TSM\baclient> wmic qfe get hotfixid | find "KB2819745"
KB2819745

C:\Program Files\Tivoli\TSM\baclient> echo %ERRORLEVEL%
0

Yukarıdaki örnekte WMF 4.0 yüklüdür: KB, wmic sorgusundan ve sıfır dönüş kodundan döndürülür.

** WMF 5.0'ı Denetleme Komutları

wmic qfe get hotfixid | find "KB3134760"
echo %ERRORLEVEL%

** Komutları çalıştırma örneği:

C:\Program Files\Tivoli\TSM\baclient> wmic qfe get hotfixid | find "KB3134760"
C:\Program Files\Tivoli\TSM\baclient> echo %ERRORLEVEL%
1

Yukarıdaki örnekte WMF 5.0 yüklü değil: wmic sorgusu ve sıfır olmayan bir dönüş kodundan döndürülen hiçbir şey yok.

WMF'nin belirli bir düzeyini yüklemek için farklı bir KB kullanmanız mümkündür, ancak şu anda çalıştığım şey bunlar.

Ve her zaman PowerShell'i (WMF'nin bir parçası olarak yüklü veya yükseltilmiş) kontrol ederim:

powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -Command "Write-Host $PSVersionTable.PSVersion"
echo %ERRORLEVEL%

.NET 4.5 yüklü değilse WMF 4.0'a (ve daha sonra 5.0'a) yükseltilirken sorunlar vardır, bu nedenle PS komutu bir hata verirse muhtemelen .NET 4.5'i yüklemelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.