Ma première hypothèse est quelque chose impliquant WMI. Est-ce que quelqu'un sait mieux?
Clarification [Modifier avant le changement de titre]: One-Liner ne renvoie que la dernière version pour chaque installation de .NET [sur chaque ligne].
Ma première hypothèse est quelque chose impliquant WMI. Est-ce que quelqu'un sait mieux?
Clarification [Modifier avant le changement de titre]: One-Liner ne renvoie que la dernière version pour chaque installation de .NET [sur chaque ligne].
Si vous allez utiliser le registre, vous devez répéter afin d'obtenir la version complète pour le Framework 4.0. Le plus tôt les réponses de retourner le nombre de racines sur mon système .Net 3.0 (où la WCF et WPF numéros, qui sont imbriqués sous 3.0, sont plus élevés -- je ne peux pas expliquer qu'), et ne retourne rien pour la version 4.0 ...
Cela ressemble le droit de me (notez que les sorties de séparer les numéros de version de la WCF ET WPF sur la 3.0, je ne sais pas ce qui est à peu près). Il a également des sorties à la fois Client et 4.0 (si vous en avez installé):
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version
Syntaxe correcte:
[System.Runtime.InteropServices.RuntimeEnvironment]::GetSystemVersion()
#or
$PSVersionTable.CLRVersion
L' GetSystemVersion
de la fonction retourne une chaîne de caractères comme ceci:
v2.0.50727 #PowerShell v2.0 in Win 7 SP1
ou comme ceci
v4.0.30319 #PowerShell v3.0 (Windows Management Framework 3.0) in Win 7 SP1
$PSVersionTable
est en lecture seul objet. Le CLRVersion propriété est structuré un numéro de version comme ceci:
Major Minor Build Revision
----- ----- ----- --------
4 0 30319 18444
Pas beau. Certainement pas jolie:
ls $Env:windir\Microsoft.NET\Framework | ? { $_.PSIsContainer } | select -exp Name -l 1
Cela peut ou peut ne pas fonctionner. Mais en ce qui concerne la dernière version, cela devrait être assez fiable, car il existe essentiellement des dossiers vides pour les anciennes versions (1.0, 1.1) mais pas pour les plus récents - ceux-ci n'apparaissent que lorsque le cadre approprié est installé.
Pourtant, je soupçonne qu'il doit y avoir une meilleure façon.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.