Comment trouver la version de Windows que j'utilise?
J'utilise PowerShell 2.0 et j'ai essayé:
PS C:\> ver
The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha
t the path is correct and try again.
At line:1 char:4
+ ver <<<<
+ CategoryInfo : ObjectNotFound: (ver:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Comment puis-je faire cela?
Réponses:
Puisque vous avez accès à la bibliothèque .NET, vous pouvez accéder à la
OSVersion
propriété de laSystem.Environment
classe pour obtenir ces informations. Pour le numéro de version, il y a laVersion
propriété.Par exemple,
Les détails des versions de Windows peuvent être trouvés ici .
la source
[Environment]::OSVersion
fonctionne dans Windows-10 ,OSVersion.Version.Major
renvoie 10.winver
il me montre la version 1607. Mais la commande PowerShell ci-dessus ne donne pas 1607. Où puis-je obtenir ce numéro "1607" dans Powershell?(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId).ReleaseId
[System.Environment]::OSVersion
n'est pas obsolète, la méthode qu'elle utilise en arrière-plan est obsolète. Les nouvelles versions PS modifient le comportement du backend: github.com/PowerShell/PowerShell/issuesPour obtenir le numéro de version de Windows, comme Jeff le note dans sa réponse , utilisez:
Il est à noter que le résultat est de type
[System.Version]
, il est donc possible de vérifier, par exemple, Windows 7 / Windows Server 2008 R2 et versions ultérieures avecCependant cela ne vous dira pas s'il s'agit de Windows client ou serveur, ni le nom de la version.
Utilisez la
Win32_OperatingSystem
classe de WMI (toujours une seule instance), par exemple:retournera quelque chose comme
la source
Malheureusement, la plupart des autres réponses ne fournissent pas d'informations spécifiques à Windows 10.
Windows 10 a des versions de son propre: 1507, 1511, 1607, 1703, etc . C'est ce que
winver
montre.Voir également la question relative au superutilisateur .
Comme pour les autres versions de Windows, utilisez
systeminfo
. Emballage Powershell:Sortie Windows 10 pour la même commande:
la source
winver
sur le bureau etsysteminfo
sur le serveur. Cela m'a déconcerté pendant des années qu'il n'y ait pas de moyen uniforme d'obtenir ces informations.OS Version : 6.3.9600 N/A Build 9600
. Ainsi, dans les versions inférieures à W81, il peut être plus instructif de regarder les versions LTSB (toujours négligées). Voir sortie: ce(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").BuildLabEx
qui peut ressembler à :9600.19179.amd64fre.winblue_ltsb_escrow.181015-1847
. Je suppose que la181015
partie est la date de construction, alors que la version1847
est de construction ou de publication. Vous devrez peut-être également comparer cela à kernel, hal .Ou golfé
Résultat
la source
Cela vous donnera la version complète de Windows (y compris le numéro de révision / build) contrairement à toutes les solutions ci-dessus:
Résultat:
la source
10.0.10586.0 (th2_release.151029-1700)
, tandis que winload.exe l'a10.0.10586.63 (th2_release.160104-1513)
.version
. Le système d'exploitation est construit (et mis à jour) par parties, c'est-à-dire le noyau, la HAL, l'UBR et les fonctionnalités, etc. Donc, nous devrions vraiment les afficher toutes. À cet égard, je penseBuildLabEx
,Kernel
etHAL
(dans cet ordre) serait le moyen le plus approprié de donner une version plus appropriée . Mais puisque vous semblez savoir ce qui ne va pas , vous devez publier ce qui est juste .Retour
la source
Depuis PowerShell 5:
Je pense que cette commande essaie à peu près les 1001 façons différentes découvertes jusqu'à présent pour collecter des informations système ...
la source
Si vous souhaitez faire la différence entre Windows 8.1 (6.3.9600) et Windows 8 (6.2.9200), utilisez
pour obtenir la bonne version.
[Environment]::OSVersion
ne fonctionne pas correctement sous Windows 8.1 (il renvoie une version de Windows 8).la source
[Environment]::OSVersion
fonctionne dans Windows-10 ,OSVersion.Version.Major
renvoie 10.(Get-CimInstance Win32_OperatingSystem).Version
et[Environment]::OSVersion
œuvres pour moi et le même résultat: 6.3.9600.0J'affine une des réponses
J'ai atteint cette question en essayant de faire correspondre la sortie de winver.exe:
Version 1607 (OS Build 14393.351)
J'ai pu extraire la chaîne de construction avec:
Résultat:
14393.351
Mise à jour : voici un script légèrement simplifié utilisant regex
la source
J'ai pris les scripts ci-dessus et les ai légèrement modifiés pour arriver à ceci:
Pour obtenir un résultat comme celui-ci:
Microsoft Windows 10 Famille Version 64 bits: 1709 Build: 16299.431 @ {WindowsInstallDateFromRegistry = 18-01-01 02:29:11 AM}
Astuce: j'apprécierais une main dépouillant le texte du préfixe de la date d'installation afin que je puisse le remplacer par un en-tête plus lisible.
la source
[timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970')).AddSeconds($(get-itemproperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion").InstallDate)
elle est un peu plus complexe, mais elle s'exécute beaucoup plus rapidement. Vous pourrez peut-être même omettre la partie du fuseau horaire:([datetime]'1/1/1970').AddSeconds($(get-itemproperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion").InstallDate)
Comme le dit MoonStom,
[Environment]::OSVersion
ne fonctionne pas correctement sur un Windows 8.1 mis à niveau (il renvoie une version de Windows 8): lien .Si vous souhaitez faire la différence entre Windows 8.1 (6.3.9600) et Windows 8 (6.2.9200), vous pouvez utiliser
(Get-CimInstance Win32_OperatingSystem).Version
pour obtenir la version appropriée. Cependant, cela ne fonctionne pas dans PowerShell 2. Utilisez donc ceci:la source
Utilisation:
la source
Si vous essayez de déchiffrer les informations que MS met sur leur site de correctifs tel que https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
vous aurez besoin d'un combo tel que:
$name=(Get-WmiObject Win32_OperatingSystem).caption $bit=(Get-WmiObject Win32_OperatingSystem).OSArchitecture $ver=(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId Write-Host $name, $bit, $ver
Microsoft Windows 10 Famille 64 bits 1703
la source
Windows PowerShell 2.0:
Windows PowerShell 3.0:
Pour l'affichage (les deux versions):
la source
Pour produire une sortie identique à winver.exe dans PowerShell v5 sous Windows 10 1809:
la source
la source
C'est vraiment un long fil, et probablement parce que les réponses, bien que correctes, ne résolvent pas la question fondamentale. Je suis tombé sur ce site: numéros de version et de build qui ont fourni un aperçu clair de ce qui est quoi dans le monde de Microsoft Windows.
Étant donné que mon intérêt est de savoir avec quel système d'exploitation Windows je m'occupe, j'ai laissé de côté la version entière de l'arc-en-ciel et je me suis plutôt concentré sur le BuildNumber. Le numéro de build peut être atteint soit par:
ou par:
le choix vous appartient, quelle que soit la manière dont vous le préférez. Donc, à partir de là, je pourrais faire quelque chose du genre:
Remarque: comme vous pouvez le voir, j'ai utilisé ce qui précède uniquement pour les systèmes de serveur, mais il pourrait facilement être appliqué aux postes de travail ou même intelligemment étendu pour prendre en charge les deux ... mais je vous laisse cela.
Profitez et amusez-vous!
la source
Cela vous donnera la version complète et CORRECT (le même numéro de version que vous trouvez lorsque vous exécutez winver.exe) de Windows (y compris le numéro de révision / build) À DISTANCE contrairement à toutes les autres solutions (testées sur Windows 10):
la source
J'ai beaucoup cherché pour trouver la version exacte, car le serveur WSUS affiche la mauvaise version. Le mieux est d'obtenir la révision de la clé de registre UBR.
la source
En utilisant Windows Powershell, il est possible d'obtenir les données dont vous avez besoin de la manière suivante
Légende:
ReleaseId:
version:
la source
[résolu]
la source
Vous pouvez également utiliser quelque chose comme ça, en vérifiant OSVersion.Version.Major:
la source
Vous pouvez utiliser python, pour simplifier les choses (fonctionne sur toutes les versions de Windows et toutes les autres plates-formes):
la source
Sur Windows 10 renvoie: 10.0.10586.420
Vous pouvez ensuite utiliser la variable pour accéder aux propriétés pour une comparaison granulaire
En outre, vous pouvez comparer les versions du système d'exploitation à l'aide des éléments suivants
la source