Tech Tips

 

[C#] WMIを利用してOS情報取得する方法(OS名、バージョン、ServicePackなど)

まず、参照に「System.Management」を追加してください。

 

WMIを利用してOS情報を取得する方法は下記のとおりです。

 

 

System.Management.ManagementClass objCS = new System.Management.ManagementClass("Win32_OperatingSystem");

System.Management.ManagementObjectCollection objCol = objCS.GetInstances();

 

foreach (System.Management.ManagementObject objMgmt in objCol)

{

    Console.WriteLine("-.OS名(Caption) : " + objMgmt["Caption"]);

    Console.WriteLine("-.OS名詳細(Name) : " + objMgmt["Name"]);

    Console.WriteLine("-.説明(Description) : " + objMgmt["Description"]);

    Console.WriteLine("-.Bit(OSArchitecture) : " + objMgmt["OSArchitecture"]);

    Console.WriteLine("-.ServicePack(ServicePackMajorVersion) : Sp" + objMgmt["ServicePackMajorVersion"]);

    Console.WriteLine("-.OSバージョン(Version) : " + objMgmt["Version"]);

    Console.WriteLine("-.OSビルド番号(BuildNumber) : " + objMgmt["BuildNumber"]);

    Console.WriteLine("-.OSの製造者(Manufacturer) : " + objMgmt["Manufacturer"]);

    Console.WriteLine("-.OS言語(Locale) : " + objMgmt["Locale"]);

    Console.WriteLine("-.OS言語番号(OSLanguage) : " + objMgmt["OSLanguage"]);

    Console.WriteLine("-.シリアル番号(SerialNumber) : " + objMgmt["SerialNumber"]);

    Console.WriteLine("-.OSインストール日時(InstallDate) : " + objMgmt["InstallDate"]);

    Console.WriteLine("-.最終Booting日時(LastBootUpTime) : " + objMgmt["LastBootUpTime"]);

    Console.WriteLine("-.Windows Directory(WindowsDirectory) : " + objMgmt["WindowsDirectory"]);

    Console.WriteLine("-.システムドライブ(SystemDrive) : " + objMgmt["SystemDrive"]);

    Console.WriteLine("-.OS System Device(SystemDevice) : " + objMgmt["SystemDevice"]);

    Console.WriteLine("-.OS Boot Device(BootDevice) : " + objMgmt["BootDevice"]);

    Console.WriteLine("-.PlusのID(PlusProductID) : " + objMgmt["PlusProductID"]);

    Console.WriteLine("-.Plusのバージョン(PlusVersionNumber) : " + objMgmt["PlusVersionNumber"]);

 

 

    objMgmt.Dispose();

}

 

objCol.Dispose();

objCS.Dispose();

 

 

もしくは、下記のように記述してもできます。

 

 

System.Management.ManagementObjectSearcher objCS = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");

 

foreach (System.Management.ManagementObject objMgmt in objCS.Get())

{

    Console.WriteLine("-.OS名(Caption) : " + objMgmt["Caption"]);

    Console.WriteLine("-.OS名詳細(Name) : " + objMgmt["Name"]);

    Console.WriteLine("-.説明(Description) : " + objMgmt["Description"]);

    Console.WriteLine("-.Bit(OSArchitecture) : " + objMgmt["OSArchitecture"]);

    Console.WriteLine("-.ServicePack(ServicePackMajorVersion) : Sp" + objMgmt["ServicePackMajorVersion"]);                

    Console.WriteLine("-.OSバージョン(Version) : " + objMgmt["Version"]);

    Console.WriteLine("-.OSビルド番号(BuildNumber) : " + objMgmt["BuildNumber"]);

    Console.WriteLine("-.OSの製造者(Manufacturer) : " + objMgmt["Manufacturer"]);

    Console.WriteLine("-.OS言語(Locale) : " + objMgmt["Locale"]);

    Console.WriteLine("-.OS言語番号(OSLanguage) : " + objMgmt["OSLanguage"]);

    Console.WriteLine("-.シリアル番号(SerialNumber) : " + objMgmt["SerialNumber"]);

    Console.WriteLine("-.OSインストール日時(InstallDate) : " + objMgmt["InstallDate"]);

    Console.WriteLine("-.最終Booting日時(LastBootUpTime) : " + objMgmt["LastBootUpTime"]);

    Console.WriteLine("-.Windows Directory(WindowsDirectory) : " + objMgmt["WindowsDirectory"]);

    Console.WriteLine("-.システムドライブ(SystemDrive) : " + objMgmt["SystemDrive"]);

    Console.WriteLine("-.OS System Device(SystemDevice) : " + objMgmt["SystemDevice"]);

    Console.WriteLine("-.OS Boot Device(BootDevice) : " + objMgmt["BootDevice"]);

    Console.WriteLine("-.PlusのID(PlusProductID) : " + objMgmt["PlusProductID"]);

    Console.WriteLine("-.Plusのバージョン(PlusVersionNumber) : " + objMgmt["PlusVersionNumber"]);

}


このエントリーをはてなブックマークに追加
2015-05-19 13:20:34   1841

コメント

IPアドレス サブネットマスク(subnet mask) 情報

-.日付:2016-09-27   カテゴリ : -   閲覧数:295

[C#] WindowsのOS情報取得

-.日付:2016-08-18   カテゴリ : -   閲覧数:361

Glyphicons一覧

-.日付:2016-02-17   カテゴリ : -   閲覧数:475

jQuery Cookie ようなlocalStorageの使い方

-.日付:2015-12-23   カテゴリ : -   閲覧数:523

[ASP.NET] MS Chart利用中に「Stack が空です。」エラー対応方法

-.日付:2015-09-11   カテゴリ : -   閲覧数:1251

Google TimeLine Chart Source

-.日付:2015-07-24   カテゴリ : -   閲覧数:915

Copyright © 2015 INNOYA.COM All rights reserved. RSS