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. 

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

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!