Oi Olaf,
Não, eu tenho de executar este teste várias vezes, mas talvez eu não tenha explicado corretamente quando eu disse que a versão 10, que é apenas a versão principal, eu omiti o menor/construção/revisão.
eu tenho um vauge memória de ler um artigo explicando como Win32_OperatingSystem versão retorna subjacente NT versão e não o real do sistema operacional, mas eu não tenho sido capaz de encontrar o artigo novamente.
Servidor 1-2016
PS C:\Users\Administrator>:: osversion.Versão
Principais Compilação pequena Revisão
— — — —
10 0 14393 0
o Servidor 2 – 2019
PS C:\Users\Administrator> (get-ciminstance Win32_OperatingSystem).versão
10.0.17763
PS C:\Users\Administrator> (get-ciminstance Win32_OperatingSystem).legenda
Microsoft Windows Server 2019 Standard
PS C:\Users\Administrator>:: osversion.Versão
Principais Compilação pequena Revisão
— — — —
10 0 17763 0
Para referência, a partir de minhas notas de versão anterior do windows são:
2012r2 – 6.3
2012r1 – 6.2
2008r2 6.1
2008r1 – 6.0
Devido a alterações anteriores no Maior/Menor versão com cada versão que é tudo nosso código é construída para lidar, como tal, quando bateu de 2019, que tem a mesma maior/menor como de 2016, o código não está conseguindo diferenciar.
eu imaginei que este era o momento perfeito para tentar identificar uma solução mais limpa mais genérica, eu digo genérica como eu não tenho idéia de como ou quando esses números de versão, especificamente a compilação / revisão vai mudar, ou quando. Eu não quero encontrar uma atualização altera estes números quebrando assim o código de novo.
The best I have come up with some far is to extract OS version from the caption.