• Powershell-抓取已安装软件


    function Get-InstalledSoftwares
    {
        #
        # Read registry key as product entity.
        #
        $script:lastname=@();
        function ConvertTo-ProductEntity
        {
            param([Microsoft.Win32.RegistryKey]$RegKey)
            $product = '' | select Name,Publisher,Version
            $product.Name =  $_.GetValue("DisplayName")
            $product.Publisher = $_.GetValue("Publisher")
            $product.Version =  $_.GetValue("DisplayVersion")
    
            if($product.Name  -in $script:lastname){            
            }
            else{
                if(-not [string]::IsNullOrEmpty($product.Name) -and -not [string]::IsNullOrEmpty($product.Publisher)){
                    $product
                    $script:lastname=$script:lastname+$_.GetValue("DisplayName")
                }
                
            }
            
    
            
        }
    
        $UninstallPaths = @(,
        # For local machine.
        'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall',
        # For current user.
        'HKCU:SoftwareMicrosoftWindowsCurrentVersionUninstall')
    
        # For 32bit softwares that were installed on 64bit operating system.
        if([Environment]::Is64BitOperatingSystem) {
            $UninstallPaths += 'HKLM:SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall'
        }
    
    
        $UninstallPaths | foreach {
            Get-ChildItem $_ |foreach {
                ConvertTo-ProductEntity -RegKey $_
            }
        }
    }
    
    
    Get-InstalledSoftwares
    
  • 相关阅读:
    EF
    采用什么架构,才能够承受大访问量
    13个MVC的扩展
    c#与.NET的区别
    整合Spring.net到asp.net网站开发中初探
    C#多线程编程简述
    ASP.NET页面传值的几种方式
    正则RegEXp
    C#中Cache用法
    c#程序将excel文件转换成xml文件
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/14859071.html
Copyright © 2020-2023  润新知