代码下载:本文提到的脚本,可以从微软的代码库下载, 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 

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

  1. Shell获取Aix/linux/unix机器上db2和os的信息并上传到指定服务器

    (之前写过一篇类似的文章,当时传输文件用的是ftp,因为项目觉得ftp不够安全所以这次换成了scp,同时对脚本的一些地方也做了一些调整) 其实做这个东西还是因为项目的需求,需要获取某些机器(目前主要是 ...

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

    JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...

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

    转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...

  4. 开发机器上利用vs2013调试远程IIS上的c#程序

    当远程IIS上的C#程序出现问题,怎么排错,一般我们通过看日志排查错误的方法,这种方法在程序异常日志都打印出来的情况下是可以解决的,但如果程序日志不详细,或者从日志看不出有用的内容的时候怎么排错? 本 ...

  5. 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装

    一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到  ...

  6. XP机器上WCF采用X509证书加密时IIS读取证书的授权

    XP机器上WCF采用X509证书加密时IIS读取证书的授权 XP下的授权命令为:winhttpcertcfg -g -c LOCAL_MACHINE\My -s 证书名称 -a "ASPNE ...

  7. 如何知道SQL Server机器上有多少个NUMA节点

    如何知道SQL Server机器上有多少个NUMA节点 文章出处: How can you tell how many NUMA nodes your SQL Server has? http://i ...

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

    一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...

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

    需求;logstash运行在SUSE,LINUX,PPC LINUX,AIX机器上,并监控文件发送日志到KAFKA中去, 问题:在AIX机器上,file插件总是报异常,无法完成数据的读取 NotImp ...

随机推荐

  1. arcgis arcengine Using environment settings

    In this topic About using environment settings Environment settings summary table About using enviro ...

  2. IOS开发札记(2015-08-20)

    View显示数据借助Model的一个比较好的理由也是因为:有时候从服务器获取的数据相同的value可能对应不同的key(服务端多人协作开发时经常会出现这种情况) 这里盗图描述一下使用Model的好处 ...

  3. UTF-8和GBK等中文字符编码格式介绍及相互转换

    我们有很多时候需要使用中文编码格式,比如gbk.gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换.可是在我使用的过程中,却发 ...

  4. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  5. LruCache缓存

    LruCache通常用于实现内存缓存,采用的缓存算法是LRU(Least Recently Used)即近期最少使用算法,其核心思想是:当缓存满的时候,会优先淘汰那些近期最少使用的缓存对象. 1.Lr ...

  6. ListView setOnItemClickListener无效原因分析

    前言 最近在做项目的过程中,在使用listview的时候遇到了设置item监听事件的时候在没有回调onItemClick 方法的问题.我的情况是在item中有一个Button按钮.所以不会回调.上百度 ...

  7. iOS 摇一摇的功能

    效果如下 相关素材 相关代码如下 #import "ShakeViewController.h" #import <AudioToolbox/AudioToolbox.h&g ...

  8. iOS可执行文件瘦身方法

    缩减iOS安装包大小是很多中大型APP都要做的事,一般首先会对资源文件下手,压缩图片/音频,去除不必要的资源.这些资源优化做完后,我们还可以尝试对可执行文件进行瘦身,项目越大,可执行文件占用的体积越大 ...

  9. readonly

    readonly 关键字是可以在字段上使用的修饰符.  当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中. 示例     在此示例 ...

  10. 在执行xp_cmdshell的过程中出错,调用'LogonUserW'失败,错误代码:'1909'

    在上篇文章Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5里面,我介绍了SQL ...