Ciao Olaf,
No, ho eseguito questo test più volte ma potrei non averlo spiegato correttamente quando ho detto la versione 10, che è solo la versione principale, ho omesso il minore/build/revisione.
Ho una memoria vauge di leggere un articolo che spiega come la versione Win32_OperatingSystem restituisce la versione NT sottostante e non il sistema operativo effettivo, ma non sono stato in grado di trovare di nuovo l’articolo.
Server 1 – 2016
PS C:\Users\Administrator>:: osversion.Versione
Major Minor Build Revision
— — — —
10 0 14393 0
Server 2-2019
PS C:\Users\Administrator> (get-ciminstance Win32_OperatingSystem).versione
10.0.17763
PS C:\Users\Administrator> (get-ciminstance Win32_OperatingSystem).didascalia
Norma di Microsoft Windows Server 2019
PS C:\Users\Administrator>:: osversion.Versione
Major Minor Costruire Revisione
— — — —
10 0 17763 0
Per riferimento, le mie note precedenti versioni di windows sono:
2012r2 – 6.3
2012r1 – 6.2
2008r2 – 6.1
2008r1 – 6.0
a Causa della precedente variazioni Maggiori/Minori versione con ogni release, che è di tutti, il nostro codice è structed da gestire, in quanto tali quando ci ha colpito il 2019, che ha le stesse maggiori/minori come il 2016, il codice non riesce a distinguere.
Ho pensato che questo fosse il momento perfetto per cercare di identificare una soluzione più pulita e più generica, dico generica perché non ho idea di come o quando questi numeri di versione, in particolare la build/revisione cambierà, o quando. Non voglio trovare un aggiornamento cambia questi numeri rompendo così il codice tutto da capo.
Il meglio che ho trovato è estrarre la versione del sistema operativo dalla didascalia.