[powershell] 설치된 PowerShell 버전 확인

컴퓨터에 설치되어있는 PowerShell 버전과 실제로 설치되어있는 PowerShell 버전을 어떻게 확인할 수 있습니까?



답변

$PSVersionTable.PSVersion엔진 버전을 확인하는 데 사용 합니다. 변수가 존재하지 않으면 엔진이 version이라고 가정하는 것이 안전합니다 1.0.

점에 유의 $Host.Version하고 (Get-Host).Version신뢰할 수 없습니다 – 그들은 호스트뿐만 아니라 엔진의 버전을 반영합니다. PowerGUI, PowerShellPLUS 등은 모두 호스팅 응용 프로그램이며 제품 버전을 반영하도록 호스트 버전을 설정합니다. 이는 완전히 정확하지만 원하는 것은 아닙니다.

PS C:\> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1


답변

나도 사용하는 것이 GET-호스트 또는 $ PSVersionTable을 . Andy Schneider가 지적했듯이 $PSVersionTable버전 1에서는 작동하지 않습니다. 버전 2에서 도입되었습니다.

get-host

Name             : ConsoleHost
Version          : 2.0
InstanceId       : d730016e-2875-4b57-9cd6-d32c8b71e18a
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-GB
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

$PSVersionTable

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


답변

내장 변수를 볼 수 있습니다 $psversiontable. 존재하지 않는 경우 V1입니다. 존재하는 경우 필요한 모든 정보를 제공합니다.

1 >  $psversiontable

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


답변

PowerShell이 ​​설치되어 있는지 확인하려면 레지스트리가 있는지 확인하십시오.

HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3

그리고 블로그 게시물에 설명 된대로 값이 1 (설치된 경우)인지 여부는 PowerShell 설치 여부 및 버전 확인을 참조하십시오 .

설치된 PowerShell 버전을 확인하려면 레지스트리 키를 확인할 수 있습니다

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\PowerShellVersion

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine\PowerShellVersion

.ps1 스크립트에서 설치된 PowerShell 버전을 확인하려면 PowerShell.com에서 실행중인 PowerShell 버전 에 자세히 설명 된대로 다음 단일 라이너를 사용할 수 있습니다 .

$isV2 = test-path variable:\psversiontable

동일한 사이트는 버전을 반환하는 기능도 제공합니다.

function Get-PSVersion {
    if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
}


답변

명령 프롬프트와 같이 외부 에서 PowerShell을 호출하여 한 줄로만 버전을 직접 확인할 수 있습니다.

powershell -Command "$PSVersionTable.PSVersion"

에 따르면 @psaul 당신이 할 수 실제로 (CMD, PowerShell을 또는 Pwsh)를 온 곳에서 불가지론 하나 개의 명령이있다. 고마워

powershell -command "(Get-Variable PSVersionTable -ValueOnly).PSVersion"

테스트를 거쳤으며 CMD와 PowerShell 모두에서 완벽하게 작동했습니다.

영상


답변

다음 확인을 완료하여 Windows PowerShell 버전이 설치되었는지 확인할 수 있습니다.

  1. 시작, 모든 프로그램, 보조 프로그램, Windows PowerShell, Windows PowerShell을 차례로 클릭합니다.
  2. Windows PowerShell 콘솔의 명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누릅니다.

    Get-Host | Select-Object Version

다음과 같은 출력이 표시됩니다.

Version
-------
3.0

http://www.myerrorsandmysolutions.com/how-to-verify-the-windows-powershell-version-installed/


답변

PowerShell이 ​​설치되어 있는지 확인하고 설치된 버전을 확인하기 위해 Microsoft에서 권장하는 정방향 호환 방법 은 두 개의 특정 레지스트리 키를 보는 것입니다. 링크가 끊어 질 경우를 대비하여 여기에서 세부 사항을 재현했습니다.

링크 된 페이지에 따르면 :

다른 레지스트리 키 또는 PowerShell.exe 버전 또는 PowerShell.exe의 위치에 따라 장기적으로 작동하지 않을 수 있습니다.

있는지 확인하려면 모든 버전 PowerShell을의가 설치되어있는 레지스트리에서 다음 값을 확인 :

  • 주요 위치 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1
  • 값 이름 : 설치
  • 값 종류 : REG_DWORD
  • 값 데이터 : 0x00000001 (1

확인하려면 버전 1.0 또는 2.0 여부를 PowerShell을의를 설치, 레지스트리에서 다음 값을 확인 :

  • 주요 위치 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
  • 값 이름 : PowerShellVersion
  • 값 종류 : REG_SZ
  • 값 데이터 : <1.0 | 2.0>