Ämne: Bestäm OS-Version (2016/2019)

Hej Olaf,

Nej, Jag har kört detta test flera gånger men jag kanske inte har förklarat det korrekt när jag sa version 10, Det är bara huvudversionen, jag utelämnade minor/build/revision.

jag har ett vauge-minne om att läsa en artikel som förklarar hur Win32_operatingsystemversionen returnerar den underliggande nt-versionen och inte det faktiska operativsystemet men jag har inte kunnat hitta artikeln igen.

Server 1 – 2016

PS C:\Users\Administrator>:: osversion.Version

större mindre Byggrevision
— — — —
10 0 14393 0

Server 2-2019

PS C:\Users\Administrator>(get-ciminstance Win32_OperatingSystem).version
10.0.17763

PS C:\Users\Administrator>(get-ciminstance Win32_OperatingSystem).bildtext
Microsoft Windows Server 2019 Standard

PS C:\Users\Administrator>:: osversion.Version

större mindre Byggrevision
— — — —
10 0 17763 0

som referens, från mina anteckningar tidigare version av windows är:

2012r2 – 6.3

2012r1 – 6.2

2008r2 – 6.1

2008r1 – 6.0

på grund av de tidigare ändringarna i större/mindre version med varje version som är all vår kod structed att hantera, som sådan när vi träffar 2019 som har samma Major/Minor som 2016, koden misslyckas med att skilja.

jag tänkte att det här var den perfekta tiden att försöka identifiera en renare mer generisk lösning, jag säger Generisk eftersom jag inte har någon aning om hur eller när dessa versionsnummer, speciellt byggnaden/revisionen kommer att förändras, eller när. Jag vill inte hitta en uppdatering ändrar dessa siffror och bryter därmed koden igen.

det bästa jag har kommit med några långt är att extrahera OS-versionen från bildtexten.

Lämna ett svar

Din e-postadress kommer inte publiceras.