bună Olaf,
nu, am rulat acest test de mai multe ori, dar poate că nu l-am explicat corect când am spus versiunea 10, Aceasta este doar versiunea majoră, am omis minorul/construirea/revizuirea.
am o memorie vauge de a citi un articol care explică modul în care versiunea Win32_OperatingSystem returnează versiunea nt de bază și nu Sistemul de operare real, dar nu am reușit să găsesc din nou articolul.
Server 1 – 2016
PS C:\Users\Administrator >:: osversion.Versiune
revizuire majoră a construcției minore
— — — —
10 0 14393 0
Server 2 – 2019
PS C:\Users\Administrator>(get-Ciminstance Win32_OperatingSystem).versiune
10.0.17763
PS C:\Users\Administrator>(get-Ciminstance Win32_OperatingSystem).legendă
Microsoft Windows Server 2019 Standard
PS C:\Users\Administrator >:: osversion.Versiune
revizuire majoră a construcției minore
— — — —
10 0 17763 0
pentru referință, din notele mele versiunea anterioară de windows sunt:
2012r2 – 6.3
2012r1 – 6.2
2008R2 – 6.1
2008r1 – 6.0
datorită modificărilor anterioare în versiunea majoră/minoră cu fiecare versiune care este tot codul nostru este structurat să se ocupe, ca atare, atunci când am lovit 2019 care are același major/minor ca 2016, codul nu reușește să se diferențieze.
m-am gândit acest lucru a fost momentul perfect pentru a încerca și de a identifica o soluție mai curat generic, spun generic ca nu am nici o idee cum sau când aceste numere de versiune, în special construi/revizuire se va schimba, sau când. Nu doresc să găsesc o actualizare modifică aceste numere, rupând astfel codul din nou.
cel mai bun am venit cu unele departe este de a extrage versiunea sistemului de operare din legendă.