어떤 버전의 Windows Management Framework가 설치되어 있습니까?


16

어떤 버전의 WMF (Windows Management Framework)가 설치되어 있는지 어떻게 확인합니까? 알아내는 것이 간단한 것 같아 보이지만 나는 할 수 없습니다. 심지어 다른 버전의 질문을 인터넷 검색하면 거의 아무것도 나타나지 않습니다.

appwiz.cpl에 없으며 regedit가 "Windows Management Framework"에 대해 아무것도 찾지 못하고 "wmf"에 대해 너무 많은 관련 항목을 찾지 못합니다.

합리적인 방법으로 확인하는 방법을 알고 싶습니다. 레지스트리 키가 있습니까? 확인할 수있는 파일이 있습니까? 아무것도???

내가 찾을 수있는 가장 가까운 것은 serverfault : Windows Management Framework 버전을 탐지하는 방법 입니다. 그 질문은 똑같이 시작하지만 GPO에서 사용되도록 특정 확인 방법을 요구하는 것 같습니다. 아마도 그것이 대답이없는 이유입니다.

이것을 확인하고 싶은 컴퓨터가 여러 대 있습니다. 내가 시작하는 것은 Windows Server 2008 R2 Standard입니다. 다른 Windows Server 운영 체제도 있습니다.

내가 가지고있는 것보다 더 잘 작동하는 태그를 알고 있다면 주석을 달거나 태그를 다시 지정하십시오. 나는이 질문을 잘 묘사 한 것을 찾을 수 없었다.


업데이트 : 일부 사람들은 " $PSVersionTable"(및 / 또는 다양한 속성)이 답 이라고 생각하는 것 같습니다 . 나는 최근에 이것이 PowerShell 변수라는 것을 깨달았습니다 ( 'PS'접두사가 나에게 그것을 주었을 수도 있지만 그렇지 않았습니다) 더 깊이 파고 들었습니다. 이로 인해 또 다른 질문이 생겼습니다. PowerShell의 $ PSVersionTable 내용은 무엇을 나타 냅니까? .

업데이트 2 : 지금 수집 한 모든 정보와 더 나은 이해를 바탕으로 PowerShell의 내장 변수 $PSVersionTable.PSVersion가 기술적으로 대답하지 않지만 종종 (때로는? 항상? 확실하지 않음) 확신합니다. 버전과 동일하게 진행될 수 있습니다. $PSVersionTable.WSManStackVersion변수는 내가 원하는 것을 할 수 있지만, WS-관리 스택을 나타내는 등 해당 속성 쇼의 공식에 대한 간단한 설명이 있습니다. WS-Management 스택이 WMF와 동일한 것입니까? 인터넷 검색은 그들이 밀접하게 관련되어 있다고 제안하지만 그 대답이 맞는지 확실하지 않습니다.


1
가능한 속임수 : serverfault.com/questions/555100/… 아직 답변이 없어도 댓글에 답변이 있습니다.
웨슬리

@ 웨슬리 나는 이미 그 질문에 대한 링크를 제공하고 언급했다. 답은 주석에 없습니다. " $PSVersionTable.PSVersionWMI를 사용 하는 것과 같은 것을 실행하는 방법을 묻고 있습니까?" 답이 아닙니다. 그게 무슨 뜻입니까? 그 의견을 받아 들여 실제로 사용할 수있는 답변으로 바꾸어 주시면 감사하겠습니다. 이것은 $PSVersionTable.PSVersion어딘가에 사용 가능한 어떤 유형의 변수입니까? 그렇다면 WMF 버전이 보장됩니까? 시도 echo $PSVersionTable.PSVersion하고 결과를 얻었습니다$PSVersionTable.PSVersion
Loduwijk

또한 그 질문에 대한 비슷한 의견도 마찬가지입니다.
Loduwijk

1
당신은 아마 당신이 달리고 결과 echo $PSVersionTable.PSVersion를 얻었다 는 공감을 얻었을 것 입니다 $PSVersionTable.PSVersion-다른 질문에 대한 내 의견 / 응답에서 무엇을 혼동합니까?
TheCleaner

1
"이 작업을 수행하여 결과를 얻었습니다"라고 말하면 공감대를 만들 수 없습니다. 그것은 그 사람이 바보라고 생각하기 때문에 당신이 downvoting하고 있음을 암시합니다. 그것은 내가 가정 한 "답변"을 사용하려고하는 한 가지 방법의 예일뿐입니다. 해당 변수가있는 주석은 일부 데이터를 제공했지만 유용한 방법은 없습니다. 나는 그것이 PowerShell의 변수라는 것을 몰랐고 아무도 그것을 말하지 않았다. 가장 가까운 것은 몇 사람이 PowerShell 버전도 언급했다.
Loduwijk

답변:


9

Microsoft의이 설명서를 참조하십시오.

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

"기존 Windows Powershell 업그레이드"섹션에서 구체적으로 다음과 같이 말합니다.

PowerShell 용 설치 패키지는 WMF 설치 프로그램에 포함되어 있습니다. WMF 설치 관리자 버전은 PowerShell 버전과 일치합니다 . Windows PowerShell 용 독립 실행 형 설치 관리자가 없습니다.

나는 이것이 응답자라고 생각합니다. $PSVersionTable.PSVersion버전을 얻으려면 실행하십시오 .


마지막으로 Microsoft의 결정적인 정답입니다. 감사합니다. 허용 및 +1
Loduwijk

10

나는 이것이 오래된 질문이라는 것을 알고 있지만 Google 검색에서 이것을 찾는 다른 사람들에게는 다음과 같습니다.

$PSVersionTable.PSVersionWMF 버전의 가장 신뢰할 수있는 지표 라고 주장하고 싶습니다 . 아래 예를 참조하십시오.

Windows 7 새로 설치 :

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 및 WMF 4 설치 후 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 설치 후 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

즉시 사용 가능한 WMF 5가 포함 된 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

보시 $PSVersionTable.WSManStackVersion.Major다시피 WMF 4 설치시에만 버전 이 변경되어 3으로 유지됩니다 $PSVersionTable.PSVersion.Major. 정확한 WMF 버전을보고 하는 것 같습니다.


가장 안정적인 지표가 무엇인지 알려 드리겠습니다. 각 Windows 버전의 기본 WMF와 각 Windows Management Framework에 사용되는 KB 번호를 찾은 다음 해당 버전 / KB를 확인하고 큰 사례를 작성하십시오. 아마도 PSVersion은 충분하지만, 지적한 바와 같이, 우리는 그것을 모른다. 또는 적어도 나는 그것을 모른다. 그러나 KB와 OS 버전이 있다면 WMF가 설치된 것이 무엇인지 알 수 있습니다. (단, 물러서서 왜 WMF 버전을 알아야하고 PSVersion으로는 충분하지 않은지 궁금합니다.)
Todd Walton

이것이 정답입니다. 모든 KB를 찾으면 철저한 답변을 얻을 수 있지만이 답변은 하나 이상의 Windows 버전 (2012 R2)에서 확인할 수있는 합리적인 방법입니다.
RichVel

@ToddWalton 그 당시 WMF 버전이 필요한 이유에 대한 구체적인 내용은 기억 나지 않습니다. 내가 기억하는 것은 특정 버전의 WMF가 설치되어 있어야한다는 전제 조건이 있었으며 PowerShell이 ​​아니라는 것입니다. 나는 그것이 무엇인지 기억하지 못하므로 PowerShell을 사용한 것일 수 있습니다. 나는 지금도 약 2 년 동안 그 일을하지 않았기 때문에 그 일에 대한 나의 기억은 스위스 치즈입니다.
Loduwijk

@RichVel 당신은 옳았습니다. 그 대답은 받아 들여졌어야했습니다. 왜 확인 표시를 그 표시로 바꾸지 않았는지 잘 모르겠습니다. 그러나이 시점에서 실제로 결정적이고 권위있는 답변이 최근에 제공되었으므로 대신이 답변을 수락했습니다. 작년에 그의 답변을 확인하지 못해서 Mike에게 죄송합니다.
Loduwijk

3

PowerShell에서는 다음에서 사용할 수 있습니다. $PSVersionTable.WSManStackVersion.Major

내 가정용 Windows 7 시스템 :

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>

그런 다음 최신 Windows Management Framework를 설치 한 후 :

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
나는 이것이 틀렸다고 믿는다. 방금 WSManStackVersion원래 3.0 인 Windows Server 2012 R2 시스템에 WMF 5.1을 설치 했으며 3.0으로 유지되었습니다. 가장 좋은 가이드는 PSVersionWMF 버전과 동일한 첫 두 구성 요소라고 생각합니다 .
RichVel

0

설치되어 있으면 "appwiz.cpl"에 있습니다. WMF는 다른 Windows 버전에 대해 고유 한 KB 번호를 가진 Windows 업데이트로 배포되므로 "설치된 업데이트보기"를 확인하십시오.

Windows 7 SP 1에 설치된 WMF 3.0


0

확인중인 버전의 KB 번호를 식별 한 다음이 경우 wmic 쿼리를 사용하여 해당 KB 번호가 설치되었는지 확인하여 설치된 WMF (Windows Management Framework) 버전을 확인합니다. 이 예제는 모두 cmd.exe를 사용하여 명령을 실행하는 것을 기반으로합니다.

** WMF 4.0 확인 명령

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

** 명령 실행의 예 :

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

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

위의 예에서 WMF 4.0이 설치되었습니다. KB는 wmic 쿼리에서 리턴되고 리턴 코드는 0입니다.

** WMF 5.0 확인 명령

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

** 명령 실행의 예 :

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

위의 예에서 WMF 5.0은 설치되지 않았습니다. wmic 쿼리에서 리턴 된 것은없고 0이 아닌 리턴 코드입니다.

주어진 수준의 WMF를 설치하기 위해 다른 KB를 사용했을 수도 있지만 이것들은 현재 내가 작업하고있는 것입니다.

그리고 나는 항상 PowerShell (WMF의 일부로 설치되거나 업그레이드 됨)을 확인합니다.

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

.NET 4.5가 설치되지 않은 경우 WMF 4.0 (및 나중에 5.0)으로 업그레이드 할 때 문제가 발생하므로 PS 명령이 오류를 출력하면 .NET 4.5를 설치해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.