如何使用PowerShell检测系统安装了什么版本.NET

可以通过注册表查看

cd HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP
ls
SKC  VC Name                           Property
---  -- ----                           -------
  1   0 CDF                            {}
 23   6 v2.0.50727                     {Install, Version, Increment, SP...}
  2   5 v3.0                           {Version, CBS, Increment, Install...}
  1   5 v3.5                           {Version, CBS, Install, InstallPath...}
  2   0 v4                             {}
  1   1 v4.0                           {(default)}

检查是否安装了.NET 3.5 :

PS C:\> get-childitem -path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" | Where-Object -FilterScript {$_.name -match "v3.5"}

    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

SKC  VC Name                           Property
---  -- ----                           -------
  1   5 v3.5                           {Version, CBS, Install, InstallPath...}

查看更多属性:

PS C:\> (get-childitem -path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" | Where-Object -FilterScript {$_.name -m
atch "v3.5"} ).property
Version
CBS
Install
InstallPath
SP

上面实际上将字段输出为字符串,而不是我们期望的哈希表格式。 如果我们通过 regedit 查看相同的信息,我们会看到:

在这里,我们要查看突出显示的部分,要查看它们,我们使用“get-itemproperty”cmdlet,如下所示:

PS C:\> get-childitem -path "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" | Where-Object -FilterScript {$_.name -ma
tch "v3.5"} | Get-ItemProperty

PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
PSChildName  : v3.5
PSProvider   : Microsoft.PowerShell.Core\Registry
Version      : 3.5.30729.5420
CBS          : 1
Install      : 1
InstallPath  : C:\Windows\Microsoft.NET\Framework64\v3.5\
SP           : 1
日期:2020-07-07 20:54:38 来源:oir作者:oir