如何用PowerShell列出你机器上的.NET Framework的版本号和SP服务补丁

代码下载:本文提到的脚本,可以从微软的代码库下载, How to determine versions & service pack levels of .NET Framework by Powershell

案例场景

作为开发人员或者IT管理员的你,一个非常常见的场景是你需要知道你的或者客户的机器上安装了哪些微软.NET Framework的版本,有没有比较好的快速的方法可以获取所有的.NET Framework版本信息?

解决方案

方案是相当的多啊,比方说下面常见的:

  • 使用Windows Explorer获取
  • 通过查看注册表获取
  • 通过在Command Prompt运行命令行程序获取

然“花有千百种,我只恋一只”,今天我们这里介绍一个及其有用的另外一种方式,使用PowerShell脚本获取.NET Framework的版本号和SP服务补丁信息。

这个脚本的核心原理也是通过读取注册表,但毕竟不是每个人每天都要和注册表打交道,像小编我这样的,面对着注册表一堆信息,那是两眼一抹黑啊!!!所以有了这样的一个直接可以运行的脚本,那就省事多啦~~

运行要求

咱是有要求的,机器上安装了PowerShell 2.0那是必须滴!

如何使用?

  1. 去微软的官方代码库下载这段脚本(很小,1.73K)- https://gallery.technet.microsoft.com/How-to-determine-versions-d3669799. 解压到桌面DetermineNetframeworkVersion.ps1。
  2. 用管理员的身份打开PowerShell,然后运行下面这段命令:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  3. 有提示后,输入A
  4. 右击刚刚下载的脚本DetermineNetframeworkVersion.ps1, 在安全项中点击 unblock并确认.

5. 最后运行脚本.\DetermineNetframeworkVersion.ps1,并得到结果:

代码学习

对于有上劲心的小猿们,不学习学习怎么实现的怎么放心呢:

Function Get-NETFrameworkVersion 
{ 
    $RegistryPrefix = "Registry::"; 
 
#4-Client 
    Try { 
        IF (((Get-ItemProperty -ErrorAction Stop -Path ($RegistryPrefix + "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client") | SELECT -ExpandProperty "Install") -eq 1) -and 
                ((Get-ItemProperty -ErrorAction Stop -Path ($RegistryPrefix + "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client") | SELECT -ExpandProperty "Version") -eq "4.0.30319.0")) { 
            Write-Host ".NET Framework 4 - Client"; 
        } 
    } Catch {} 
 
#4-Full 
    Try { 
        IF (((Get-ItemProperty -ErrorAction Stop -Path ($RegistryPrefix + "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full") | SELECT -ExpandProperty "Install") -eq 1) -and 
                ((Get-ItemProperty -ErrorAction Stop -Path ($RegistryPrefix + "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full") | SELECT -ExpandProperty "Version") -eq "4.0.30319.0")) { 
            Write-Host ".NET Framework 4 - Full"; 
        } 
    } Catch {} 
# ..... 
} 
 
Get-NETFrameworkVersion 
时间: 2024-12-31 11:40:08

如何用PowerShell列出你机器上的.NET Framework的版本号和SP服务补丁的相关文章

转:visualvm监控远程机器上的Java程序

转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当

visualvm 监控 远程 机器上的 Java 程序

JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程.类加载情况.JVM GC情况进行监控,是一个很好的免费的监控工具. 监控范围:JDK1.4及以上版本的程序都能够监控. 它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当前最新版本是: 1.3.2,如下所示: 在图中已经列出了它的官方网站地址: http:

显示器分辨率不同,部分winform控件在其他机器上显示不全

在开发机器上效果如下: 而到其他电脑上效果如下: 解决办法: 将窗体的AutoScaleMode属性设置为None,尝试一下,应该可以了. 关于AutoScaleMode的属性,可以参考 http://technet.microsoft.com/zh-cn/magazine/system.windows.forms.autoscalemode(VS.90).aspx

如何用git将项目代码上传到github

注册账户以及创建仓库 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程.步骤如下: 打开https://github.com 直接在首页上注册 点按钮注册成功之后,在页面上方用户菜单上选择 "+"->New repository 创建一个新的仓库 为仓库取一个名字,点击创建仓库按钮 你将成功创建一个

如何用 LaunchBar 一键下载网页上的所有文件?

本文标签: Mac效率工具 Mac小工具 MacOS LaunchBar 一键下载网页文件 有时候我们会遇到这种问题,一个页面上挂了好多文档需要下载: 依次点开再按 ? S 或是逐个右击再选择下载都不像是聪明的方法.我们可以通过 Automator 来实现这样的情况下文件的批量下载. 用 Automator 制作下载文件的工作流 启动 Automator,选择新建服务,依次加入如下六个操作模块: 首先先读取当前 Safari 所在页面的网页,接着获取这个网页下的所有网址,对它们进行过滤,过滤内容

关于LogStash运行在AIX 64位机器上的问题与临时解决方案

需求;logstash运行在SUSE,LINUX,PPC LINUX,AIX机器上,并监控文件发送日志到KAFKA中去, 问题:在AIX机器上,file插件总是报异常,无法完成数据的读取 NotImplementedError: stat.st_dev unsupported or native support failed to load 分析:环境 :AIX 64 OSLEVEL :6.1.0 7.1.0 JDK : IBM JAVA 71 64 报错显示:是在获取设备的主辅号时出了问题,显

在本地windows机器上安装SecureCRT客户端

一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持SSH,同时支持Telnet和rlogin协议. SecureCRT是一款用于连接运行包括Windows.UNIX和VMS的理想工具.通过使用内含的VCP命令行程序可以进行加密文件的传输. 二.在本地windows机器上安装SecureCRT客户端. 安装完成.

避免在同一机器上同时运行同一应用程序的多个实例

通常,使用有名互斥体(named mutex).但是该方案有以下的缺陷 互斥体的名称有被其他应用程序使用的较小,潜在风险.此时,该方案不再有效,并且很难检测到bug. 该方案无法实现允许一个应用程序产生N个实例这样的一般问题. 使用Process类. 1 /// <summary> 2 /// check whether other instance of the application is running. 3 /// </summary> 4 /// <returns&

如何用OpenSSL从https网站上导出SSL的CA证书?

我们在访问https的时候,对于有的程序需要提供访问网站的CA证书,这个时候客户端才能访问系统网站,比如使用TIBCO Business Workspace 5 HTTP send request activty 去访问Google API提供的REST 服务的时候,就需要我们提供www.googleapis.com网站的CA证书.一般来说,用两种比较常用的方式,第一种方式是通过浏览器访问这个网站,然后在网站的地址栏的右边有一个锁,可以通过点击这个锁来查看和导入证书,这种方式只适合那种网站可以在