gpt4 book ai didi

powershell - 检测是否在远程计算机上安装了HP Fortify

转载 作者:行者123 更新时间:2023-12-03 01:13:53 28 4
gpt4 key购买 nike

是否有人拥有脚本来扫描网络以查找主机列表,以确定是否安装了HP Fortify软件并提供版本?

我尝试使用PowerShell脚本扫描注册表的“添加/删除”部分,但Fortify没有出现在其中。

任何协助将不胜感激!

最佳答案

您至少有3种方法可以做到这一点。

  • 使用注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninst‌​all(在64位Windows版本上):如果该程序已通过安装程序安装,则应在此处列出。

  • 这是开始的方法:
    $base = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $ComputerName)
    if($key = $base.OpenSubKey("SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall")) {
    foreach($subkey in $key.GetSubKeyNames()) {
    $name = ($key.OpenSubKey($subkey)).GetValue("DisplayName")
    $version = ($key.OpenSubKey($subkey)).GetValue("DisplayVersion")
    if($name) { "$name ($version)" }
    }
    }
  • 使用Win32_Product WMI类(速度较慢,并非所有程序都显示在此处):
  • Get-WmiObject -ComputerName "127.0.0.1" -Class Win32_Product | Select Name,Version
  • 使用应用程序本身的文件,在C:\Program Files\HP_Fortify目录(或远程计算机的\\$computerName\c$\Program Files\HP_Fortify)中找到保存所需版本的可执行文件。您将可以使用Get-Item读取所需文件的Version属性。

  • 在计算机 C:\Program Files\HP_Fortify\main_service.exe上带有示例路径 SERVER001:
    $computerName = "SERVER001"
    $exePath = "\\$computerName\c$\Program Files\HP_Fortify\main_service.exe"

    if(Test-Path $exePath) {
    (Get-Item $exePath).VersionInfo.ProductVersion
    } else {
    "file not found: $exePath"
    }

    关于powershell - 检测是否在远程计算机上安装了HP Fortify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34135657/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com