Feedback

C# - OS & Servicepack ermitteln

Veröffentlicht von am 10.04.2008
(3 Bewertungen)
Gibt im Klartext zurück, welches Betriebssystem und welcher Servicepack auf der Maschine laufen.
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

private string GetOSandServicepack()
{
      OperatingSystem os = Environment.OSVersion;
      string osText = "";
      if (os.Version.Major == 5)
      {
            switch (os.Version.Minor)
            {
                  case 0: osText = "Windows 2000";
                        break;
                  case 1: osText = "Windows XP";
                        break;
                  case 2: osText = "Windows Server 2003";
                        break;
                  default: osText = os.ToString();
                        break;
            }
      }
      else
      {
            if (os.Version.Major == 6)
                  osText = "Windows Vista";
            else
                  osText = os.ToString();
      }
      string osVersion = os.VersionString;
      string spText = os.ServicePack;
      // parameterweise zurück ..
      
      return string.Format("{0} , {1}", osText, spText );
}
Abgelegt unter OS, Servicepack, OS Info.

4 Kommentare zum Snippet

Thomas Klimstein schrieb am 16.10.2009:
Nicht schlecht, aber du hast Win7 vergessen :)

Case 0 wäre Vista und Case 1 Win7
Thomas Klimstein schrieb am 16.10.2009:
Mir ist noch ein kleiner Fehler aufgefallen:
osVersion ist immer null, da du nicht in String umwandelst. Hier ein verbesserungsvorschlag

            else
{
if (os.Version.Major == 6)
switch (os.Version.Minor)
{
case 0: osText = "Windows Vista";
break;
case 1: osText = "Windows 7";
break;
default: osText = os.ToString();
break;
}
}
string osVersion = os.VersionString.ToString();
string spText = os.ServicePack;
// parameterweise zurück ..

return string.Format("{0} , {1}, {2}", osText, spText, osVersion);
Sperneder Patrick schrieb am 16.10.2009:
Nun Danke!
Das dieser Snippet noch kein Windows7 erkennt, liegt einfach daran, das als ich den Snippet geschrieben hab es noch nicht einmal eine Ahnung von Win7 gab. ;)
Und du hast recht: Der string osVersion ist zwar niemals NULL aber der Wert wird einfach nicht bei der Rückgabe verwendet...
Ich werde deine Rückmeldungen baldigst in den Snippet einfliessen lassen.
Koopakiller schrieb am 03.12.2014:
Man kann den Namen auch mit Hilfe der WMI ermitteln:
http://dotnet-snippets.de/snippet/os-version-name-mit-wmi/4929
 

Logge dich ein, um hier zu kommentieren!