在机器上返回.NET框架版本的PowerShell脚本是什么?
我的第一个猜测是与WMI有关。还有更好的办法吗?
它应该是一行程序,在每一行上只返回。net安装的最新版本。
在机器上返回.NET框架版本的PowerShell脚本是什么?
我的第一个猜测是与WMI有关。还有更好的办法吗?
它应该是一行程序,在每一行上只返回。net安装的最新版本。
当前回答
我在osx的powershell中通过制表符补全发现了这个:
[System.Runtime.InteropServices.RuntimeInformation]:: get_FrameworkDescription () .NET Core 4.6.25009.03
其他回答
这是上一篇文章的衍生版本,但是在我的测试中得到了。net框架4的最新版本。
get-itemproperty -name version,release "hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\FULL"
这将允许你调用命令到远程机器:
invoke-command -computername server01 -scriptblock {get-itemproperty -name version,release "hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\FULL" | select pscomputername,version,release}
它通过ADModule和命名约定前缀设置了这种可能性:
get-adcomputer -Filter 'name -like "*prefix*"' | % {invoke-command -computername $_.name -scriptblock {get-itemproperty -name version,release "hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\FULL" | select pscomputername,version,release}} | ft
我想在PowerShell中试试这个: 为我工作!
(Get-ItemProperty "HKLM:Software\Microsoft\NET Framework Setup\NDP\v4\Full")。版本
正确的语法:
[System.Runtime.InteropServices.RuntimeEnvironment]::GetSystemVersion()
#or
$PSVersionTable.CLRVersion
GetSystemVersion函数返回一个像这样的字符串:
v2.0.50727 #PowerShell v2.0 in Win 7 SP1
或者像这样
v4.0.30319 #PowerShell v3.0 (Windows Management Framework 3.0) in Win 7 SP1
$PSVersionTable是一个只读对象。CLRVersion属性是一个结构化的版本号,如下所示:
Major Minor Build Revision
----- ----- ----- --------
4 0 30319 18444
如果您已经在计算机上安装了Visual Studio,那么打开Visual Studio开发人员命令提示符并键入以下命令: clrver
它将列出该机器上所有已安装的。net Framework版本。
我在osx的powershell中通过制表符补全发现了这个:
[System.Runtime.InteropServices.RuntimeInformation]:: get_FrameworkDescription () .NET Core 4.6.25009.03