Hei Olaf,
Nei, jeg har kjørt denne testen flere ganger, men jeg har kanskje ikke forklart det riktig når jeg sa versjon 10, det er bare hovedversjonen, jeg utelatt minor / build / revision.
jeg har et vauge-minne om å lese en artikkel som forklarer Hvordan Win32_OperatingSystem-versjonen returnerer den underliggende nt-versjonen og ikke det faktiske OPERATIVSYSTEMET, men jeg har ikke kunnet finne artikkelen igjen.
Server 1 – 2016
PS C:\Users\Administrator >:: osversion.Versjon
Major Mindre Bygge Revisjon
— — — —
10 0 14393 0
Server 2 – 2019
PS C:\Users\Administrator>(get-Ciminstance Win32_OperatingSystem).versjon
10.0.17763
PS C:\Users\Administrator>(get-Ciminstance Win32_OperatingSystem).bildetekst
Microsoft Windows Server 2019 Standard
PS C:\Users\Administrator >:: osversion.Versjon
Major Mindre Bygge Revisjon
— — — —
10 0 17763 0
for referanse, fra mine notater forrige versjon av windows er:
2012r2 – 6.3
2012r1 – 6.2
2008r2 – 6.1
2008r1 – 6.0
på grunn av tidligere endringer I Større/Mindre versjon med hver utgivelse som er all vår kode structed å håndtere, som sådan når vi treffer 2019 som har samme store/mindre som 2016, koden er ikke å skille.
jeg skjønte at dette var den perfekte tiden for å prøve å identifisere en renere mer generisk løsning, jeg sier generisk som jeg ikke aner hvordan eller når disse versjonsnumrene, spesielt bygg/revisjon vil endres, eller når. Jeg ønsker ikke å finne en oppdatering endrer disse tallene og dermed bryte koden igjen.
det beste jeg har kommet opp med litt langt, er å trekke UT OS-versjonen fra bildeteksten.