我正在尝试创建一个非常简单的脚本,该脚本将检查是否安装了特定程序,如果已安装,则返回该程序的版本号。
我已经可以运行脚本并可以返回二进制值(无论是否安装了程序),但是不确定如何返回该已安装程序的版本号。
如果安装了程序,我将发布的内容将只是我要返回的内容,并且在获取版本号时需要帮助。
function Check_Program_Installed {
$my_check = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, InstallDate |
Format-Table -AutoSize |
Out-String
# Check if Google Chrome is installed
$my_check -Match "Google Chrome"
}
Check_Program_Installed
如果您希望该函数查找特定的已安装程序而不是返回(表)格式的字符串,则可以简单地执行以下操作:
function Check_Program_Installed {
[CmdletBinding()]
Param(
[Parameter(Position = 0, Mandatory=$true, ValueFromPipeline = $true)]
$Name
)
$app = Get-ItemProperty -Path "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" |
Where-Object { $_.DisplayName -match $Name } |
Select-Object DisplayName, DisplayVersion, InstallDate, Version
if ($app) {
return $app.DisplayVersion
}
}
Check_Program_Installed "Google Chrome"
$null
找不到时返回,或者以字符串形式显示70.0.3538.67
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句