佐々木屋

技術的なことから趣味まで色々書きます

オペレーションシステムの情報を取得

System.Management名前空間のManagementClassクラスにWin32_OperatingSystemを渡すと、オペレーションシステムの情報が取得できます。
詳細は以下を参照して下さい。
Win32_OperatingSystem class - Windows applications | Microsoft Docs


基本的にオペレーションシステムの名前とインストール日くらいが分かればいいのでは。
なお、参照設定で「System.Management」の追加が必要です。

using (System.Management.ManagementClass mc 
        = new System.Management.ManagementClass("Win32_OperatingSystem")) {
    System.Management.ManagementObjectCollection moc = mc.GetInstances();
    foreach (System.Management.ManagementObject mo in moc) {
        Console.WriteLine(mo["BuildNumber"].ToString());
        Console.WriteLine(mo["Caption"].ToString());
        Console.WriteLine(mo["Manufacturer"].ToString());
        Console.WriteLine(mo["InstallDate"].ToString());
        mo.Dispose();
        break;
    }
    moc.Dispose();
}
Using mc As System.Management.ManagementClass _
        = New System.Management.ManagementClass("Win32_OperatingSystem")
    Dim moc As System.Management.ManagementObjectCollection = mc.GetInstances()
    For Each mo As System.Management.ManagementObject In moc
        Console.WriteLine(mo("BuildNumber").ToString())
        Console.WriteLine(mo("Caption").ToString())
        Console.WriteLine(mo("Manufacturer").ToString())
        Console.WriteLine(mo("InstallDate").ToString())
        mo.Dispose()
        Exit For
    Next
    moc.Dispose()
End Using



結果は以下のように表示されます。

9600
Microsoft Windows Server 2012 R2 Standard
Microsoft Corporation
20180515150136.000000+540