Phương pháp phát hiện phiên bản Windows Management Framework


12

Windows 7 và Windows 2008 R2 có khả năng có thể cài đặt WMF 2, WMF 3 hoặc WMF 4 . Windows 2012 có thể có WMF3 hoặc 4 và 2012 R2 có WMF 4.

Tôi đang tìm kiếm một phương pháp để tìm phiên bản nào được cài đặt. Hy vọng điều này có thể được tìm thấy qua WMI, vì vậy tôi có thể sử dụng nó trong cả hai bộ lọc Chính sách nhóm và như một kiểm tra trong các tập lệnh Powershell mà tôi dự định xây dựng chỉ yêu cầu chức năng nếu WMF 3 hoặc 4.

Tôi phải đặt câu hỏi sai cách vì tôi không tìm thấy câu trả lời trên Google.


Bạn đang hỏi làm thế nào để chạy một cái gì đó như $PSVersionTable.PSVersionnhưng sử dụng WMI?
TheCleaner

Phiên bản $PSVersionTable.PSVersionluôn luôn tương ứng với phiên bản WMF được cài đặt? Nếu vậy, điều đó có thể là đủ. Có thể nhận được giá trị đó thông qua WMI sẽ hữu ích.
Zoredache

Nó sẽ không phải là $ PSVersionTable.WSManStackVersion cho phiên bản WMF chứ?
ErikE

@ErikE - Tôi đoán nó phụ thuộc vào việc anh ta cần phiên bản Máy chủ hay phiên bản Powershell thực tế.
TheCleaner

2
@Zoredache - Nếu bạn đang tìm cách để đảm bảo rằng bạn có thể chạy tập lệnh GPO hoặc PS trên máy tính, tôi nghĩ trước tiên bạn cần xác định xem Powershell có được cài đặt hay không và đó là phiên bản nào. Điều này có thể được thực hiện thông qua sổ đăng ký HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEnginecho ver 1 hoặc 2 và HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEnginecho ver 3 hoặc 4 ... dưới PowerShellVersiongiá trị. Có phải đó là những gì bạn đang theo đuổi?
TheCleaner

Câu trả lời:


9

Nếu bạn đang tìm cách để đảm bảo rằng bạn có thể chạy tập lệnh GPO hoặc PS trên máy tính, tôi nghĩ trước tiên bạn cần xác định xem Powershell có được cài đặt hay không và đó là phiên bản nào. Điều này có thể được thực hiện thông qua sổ đăng ký HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEnginecho ver 1 hoặc 2 và HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEnginecho ver 3 hoặc 4 ... dưới giá trị PowerShellVersion. Có phải đó là những gì bạn đang theo đuổi?

Biến Powershell: $ PSVersionTable.PSVersion cũng giữ thông tin liên quan đến WMF.


WMF hay còn gọi là phiên bản Powershell là một mảng: "PSCompiverseVersions {1.0, 2.0, 3.0, 4.0}".
AnneTheAgile

6

Bạn chỉ cần nhập "máy chủ" trong Powershell, bạn sẽ có thể xem phiên bản "Khung quản lý Windows".

PS> (host).Version
Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1      

0

Gói cài đặt cho PowerShell nằm trong trình cài đặt WMF. Phiên bản của trình cài đặt WMF phù hợp với phiên bản PowerShell; không có trình cài đặt độc lập cho Windows PowerShell.

Phiên bản PS = Phiên bản WMF

Nếu bạn cần cập nhật phiên bản PowerShell hiện có của mình, trong Windows, hãy sử dụng bảng sau để định vị trình cài đặt cho phiên bản PowerShell mà bạn muốn cập nhật.

Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (xem Note1) Windows Server 2016 - - đã cài đặt Windows 8.1 Windows Server 2012 R2 - đã cài đặt WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 đã cài đặt WMF 4.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Máy chủ 2008 R2 SP1 WMF 3.0 WMF 4.0 WMF 5.0 WMF 5.1

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.