파워셸에서 Windows 버전 가져오는 여러 방법 배우기

현재 Windows 버전을 확인해야 하는 시스템 문제로 고생 중이신가요? 다행히도 PowerShell을 사용하여 현재 사용 중인 Windows 버전을 간단히 확인할 수 있습니다.

사용 중인 Windows 버전을 확인하는 것은 시스템을 관리하는 데 중요합니다. 이 튜토리얼에서는 Windows 버전을 확인하는 여러 가지 방법을 배우게 됩니다.

계속 읽어보고 어떤 방법이 가장 적합한지 스스로 판단해보세요!

전제 조건

이 튜토리얼은 실습 중심으로 진행됩니다. 함께 따라하기 위해서는 Windows 시스템이 있어야 합니다. 이 튜토리얼은 PowerShell 7을 사용하는 Windows 11을 기준으로 합니다.

PowerShell을 사용하여 Windows 버전 확인하기

PowerShell로 복잡한 작업에 앞서 기본적인 것부터 시작해보세요. PowerShell을 사용하면 systeminfo 명령을 통해 빠르게 Windows 버전을 확인할 수 있습니다.

PowerShell을 열고 다음 명령을 실행하여 시스템에 대한 상세 정보(운영 체제 버전 포함)를 빠르게 얻을 수 있습니다.

systeminfo.exe

아래에서 현재 버전 번호를 포함한 OS에 대한 자세한 정보를 확인할 수 있습니다. 10.0.22622 N/A Build 22622.

Getting the Windows version via the SystemInfo

한국어 버전 선택

좋아요! 방금 시스템 정보를 자세히 가져왔습니다. 하지만 자세히 살펴보면 명령이 간단한 반면 출력물은 많아 보입니다.

특정 속성 값만 원한다면 Get-ComputerInfo 명령은 Windows 버전과 같은 특정 시스템 정보를 얻는 빠른 방법 중 하나입니다.

아래 명령을 실행하여 Windows 버전, 제품 이름, Windows 커널 버전 및 시스템 하드웨어의 작동 하드웨어 추상화 (OHA)를 얻을 수 있습니다.

Select-Object 명령을 Get-ComputerInfo 명령에 파이핑하면 특정 속성만 검색할 수 있습니다.

Get-ComputerInfo | Select-Object OSName, OSVersion, OsHardwareAbstractionLayer

보시다시피 Windows 10 Pro이 설치되어 있으며 해당 버전은 2009입니다.

Getting the Windows version with the Get-ComputerInfo command

System.Environment 클래스를 통한 Windows 버전 검색

Windows 버전을 얻는 또 다른 방법은 System.Environment 클래스를 통하는 것입니다. 이 클래스는 OS 버전, 사용자 이름 및 기타 환경 변수와 같은 시스템 정보에 액세스할 수 있습니다.

System.Environment 클래스에는 현재 OS에 대한 정보가 포함된 OSVersion이라는 속성도 있습니다.

다음 명령을 실행하여 System.Environment 클래스에서 OSVersion.Version 속성을 호출합니다. 더블 콜론 (::) 기호는 클래스에서 정적 메서드를 호출하는 데 사용됩니다.

[System.Environment]::OSVersion.Version

아래에서 볼 수 있듯이 출력은 다음과 같이 OSVersion 정보를 표시합니다:

Property Value Description
Major 10 Despite saying 10, this may indicate Windows 10 or 11 as both use the same Major version.
Minor 0 There are two types of Windows releases, major and minor. Major releases are the “big” updates like the Creator update, and minor releases are smaller cumulative updates.
Build 22622 The number used to check the Windows version. In this case, it is for version 22H2.
Revision 0 Denotes a sub-version of the build.
Getting the windows via the System.Environment class

Windows 버전 가져오기 위한 구체적인 속성 찾기

PowerShell cmdlet은 시스템에 대한 다양한 정보를 제공합니다. 그러나 Windows 버전만 가져오려면 Get-ItemProperty cmdlet이 다른 옵션입니다. 이 cmdlet 명령을 사용하면 레지스트리에 액세스하여 여러 속성을 가져올 수 있습니다.

아래 명령을 실행하여 레지스트리 (Get-ItemProperty)에 액세스하고 현재 Windows 버전의 DisplayVersion 을 검색합니다 (HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion). Display Version (ReleaseID는 사용되지 않음)은 각 Windows 버전에 대한 고유한 식별자입니다.

(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion

아래 명령은 현재 Windows 버전인 22H2를 검색하고 출력합니다.

Getting the Windows version via the Get-ItemProperty command

현재 Windows 버전 조회

속성에 액세스하는 방법을 보았으며 현재 Windows 버전을 얻는 데 사용할 수 있습니다. 그리고 속성에 관심이 있다면 Get-CimInstance cmdlet에 인사해 보세요.

Get-CimInstance cmdlet은 Windows 관리 인프라 (WMI) 개체를 쿼리하여 Windows 버전을 가져오는 다른 방법입니다. 이렇게 함으로써 시스템 하드웨어에서 다양한 속성에 액세스할 수 있습니다.

다음 명령을 실행하여 현재 Windows .version을 가져오려면 (Get-CimInstance) Win32_OperatingSystem 클래스 (WMI 개체)를 쿼리합니다. Win32_OperatingSystem 클래스는 OS에 대한 정보를 제공합니다.

(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version

아래 출력에서 보시다시피, 이 출력은 System.Environment 클래스를 사용하는 것과 유사합니다. 하지만 이번에는 속성 헤더없이 실제 OS 버전만 얻습니다. WMI 개체에서 사용할 수 없기 때문에 수정 사항도 생략되었습니다.

Querying WMI for the current Windows version

결론

이 자습서를 통해 PowerShell에서 현재 Windows 버전을 확인하는 다양한 방법을 배웠습니다. PowerShell에서 Windows 버전을 확인하는 것은 가치 있는 기술입니다. 이 기술은 시스템 문제를 해결하거나 현재 OS와 응용 프로그램의 호환성을 확인하는 경우에 유용합니다.

이제 왜 Windows 버전을 확인하는 스크립트를 만들지 않으세요? 어쩌면 스크립트를 특정 시간에 실행할 수 있도록 일정을 예약할까요?

Source:
https://adamtheautomator.com/powershell-to-get-the-windows-version/