#author("2018-09-11T23:34:44+09:00","","")
#author("2018-09-11T23:35:41+09:00","","")
#navi(../)
* PowerShellでWindowsの製品情報を取得する方法 [#k03621b9]
本資料では、PowerShellを使ってWindowsのエディション名やバージョン、32ビット/64ビットなど、~
Windows OSに関する情報を取得する方法を以下に記します。

#contents

* 使用環境 [#a295e983]
-Windows
 PS C:\> (Get-WmiObject Win32_OperatingSystem).Caption
 Microsoft Windows 10 Home
-PSVersion
 PS C:\> ($PSVersionTable).PSVersion.toString()
 5.1.17134.165

#htmlinsertpcsp(win-top.html,win-sp.html)

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

** Get-WmiObjectを使用する [#q58e141e]
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();
上記の通り、たくさんのプロパティがあるのが確認できます。~
実際に製品名を取得しています。
** 製品名の取得 [#zdc0dfb1]
Captionプロパティに製品名が格納されています。
 PS C:\> (Get-WmiObject Win32_OperatingSystem).Caption
 Microsoft Windows 10 Home

** OSアーキテクチャ(32bit or 64bit) [#h28833a9]
OSArchitectureプロパティにOSアーキテクチャーが格納されています。
 PS C:\> (Get-WmiObject Win32_OperatingSystem).OSArchitecture
 64 ビット

** OSバージョン [#cbf66bab]
VersionプロパティにOSバージョンが格納されています。
 PS C:\> (Get-WmiObject Win32_OperatingSystem).Version
 10.0.17134

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

* [System.Environment]::OSVersionを使う [#b7bb7b3d]
 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
 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アーキテクチャなどを取得する方法でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS