このエントリーをはてなブックマークに追加


PowerShellでWindowsの製品情報を取得する方法

本資料では、PowerShellを使ってWindowsのエディション名やバージョン、32ビット/64ビットなど、
Windows OSに関する情報を取得する方法を以下に記します。

使用環境

  • Windows
    PS C:\> (Get-WmiObject Win32_OperatingSystem).Caption
    Microsoft Windows 10 Home
  • PSVersion
    PS C:\> ($PSVersionTable).PSVersion.toString()
    5.1.17134.165

Windowsの製品名を取得する

Windowsの製品名を取得するサンプルスクリプトを以下に記します。

Get-WmiObjectを使用する

Get-WmiObjectコマンドレットを使うと簡単にWindowsの情報を取得することができます。

PS C:\> Get-WmiObject Win32_OperatingSystem

SystemDirectory : C:\WINDOWS\system32
Organization    :
BuildNumber     : 17134
RegisteredUser  : xxxxxxxxxx
SerialNumber    : 00000-00000-00000-00000
Version         : 10.0.17134

しかし上記のコマンド出力では、製品名が表示されていません。
ここで、Get-WmiObject Win32_OperatingSystem で返却されたオブジェクトに
どのようのプロパティがあるかGet-Memberコマンドレットを使用して確認してみます。

PS C:\> (Get-WmiObject Win32_OperatingSystem) | Get-Member

  TypeName: System.Management.ManagementObject#root\cimv2\Win32_OperatingSystem

Name                                      MemberType    Definition
----                                      ----------    ----------
PSComputerName                            AliasProperty PSComputerName = __SERVER
Reboot                                    Method        System.Management.ManagementBaseObject Reboot()
SetDateTime                               Method        System.Management.ManagementBaseObject SetDateTime(System.St...
Shutdown                                  Method        System.Management.ManagementBaseObject Shutdown()
Win32Shutdown                             Method        System.Management.ManagementBaseObject Win32Shutdown(System....
Win32ShutdownTracker                      Method        System.Management.ManagementBaseObject Win32ShutdownTracker(...
BootDevice                                Property      string BootDevice {get;set;}
BuildNumber                               Property      string BuildNumber {get;set;}
BuildType                                 Property      string BuildType {get;set;}
Caption                                   Property      string Caption {get;set;}
CodeSet                                   Property      string CodeSet {get;set;}
CountryCode                               Property      string CountryCode {get;set;}
CreationClassName                         Property      string CreationClassName {get;set;}
CSCreationClassName                       Property      string CSCreationClassName {get;set;}
CSDVersion                                Property      string CSDVersion {get;set;}
CSName                                    Property      string CSName {get;set;}
CurrentTimeZone                           Property      int16 CurrentTimeZone {get;set;}
<省略>
PSStatus                                  PropertySet   PSStatus {Status, Name}
ConvertFromDateTime                       ScriptMethod  System.Object ConvertFromDateTime();
ConvertToDateTime                         ScriptMethod  System.Object ConvertToDateTime();

上記の通り、たくさんのプロパティがあるのが確認できます。
実際に製品名を取得しています。

製品名の取得

Captionプロパティに製品名が格納されています。

PS C:\> (Get-WmiObject Win32_OperatingSystem).Caption
Microsoft Windows 10 Home

OSアーキテクチャ(32bit or 64bit)

OSArchitectureプロパティにOSアーキテクチャーが格納されています。

PS C:\> (Get-WmiObject Win32_OperatingSystem).OSArchitecture
64 ビット

OSバージョン

VersionプロパティにOSバージョンが格納されています。

PS C:\> (Get-WmiObject Win32_OperatingSystem).Version
10.0.17134

他にもいろいろな情報を取得できますので試してみてください。

[System.Environment]::OSVersionを使う

PS C:\> [System.Environment]::OSVersion

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.17134.0 Microsoft Windows NT 10.0.17134.0

PS C:\> [System.Environment]::OSVersion | Format-List

Platform      : Win32NT
ServicePack   :
Version       : 10.0.17134.0
VersionString : Microsoft Windows NT 10.0.17134.0

以上、PowerShellを使ってWindowsの製品名やOSアーキテクチャなどを取得する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-11 (火) 23:35:41