Sujet: Déterminer la version du système d’exploitation (2016/2019)

Salut Olaf,

Non, j’ai exécuté ce test plusieurs fois mais je ne l’ai peut-être pas expliqué correctement quand j’ai dit la version 10, c’est juste la version majeure, j’ai omis la version mineure / build / revision.

J’ai une mémoire vauge de lecture d’un article expliquant comment la version Win32_OperatingSystem renvoie la version NT sous-jacente et non le système d’exploitation réel, mais je n’ai pas pu retrouver l’article.

Serveur 1 – 2016

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

Révision de construction Mineure majeure
— — — —
10 0 14393 0

Serveur 2 – 2019

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

PS C:\Users\Administrator > (get-ciminstance Win32_OperatingSystem).légende
Norme Microsoft Windows Server 2019

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

Révision Majeure de la version mineure
— — — —
10 0 17763 0

Pour référence, d’après mes notes, la version précédente de Windows est:

2012r2–6.3

2012r1–6.2

2008r2–6.1

2008r1–6.0

En raison des changements précédents dans la version majeure / mineure à chaque version qui est-ce que tout notre code est conçu pour gérer, en tant que tel lorsque nous frappons 2019 qui a le même majeur / mineur que 2016, le code ne parvient pas à se différencier.

J’ai pensé que c’était le moment idéal pour essayer d’identifier une solution plus générique plus propre, je dis générique car je n’ai aucune idée de comment ou quand ces numéros de version, en particulier la construction / révision va changer, ou quand. Je ne souhaite pas trouver une mise à jour qui modifie ces chiffres, brisant ainsi le code à nouveau.

Le mieux que j’ai trouvé est d’extraire la version du système d’exploitation de la légende.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.