是否有powershell命令返回已安装的非Microsoft应用程序更新列表? 示例:安装softwareA并将更新安装到softwareA后 - >可以在“控制面板 - 查看已安装的更新”部分中看到已安装的更新 如果安装了更新,是否有PowerShell命令或简单脚本返回true;如果未安装更新,是否返回false?
答案 0 :(得分:0)
尝试此操作并将程序名称字符串替换为您的程序。使用通配符来帮助缩小程序名称的范围。预期的输出将是卸载字符串的上次写入时间。假设当有补丁时,假设文件的最后写入时间正在改变。
$programname = "Notepad++*"
$32bit = Get-ItemProperty
HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
$64bit = Get-ItemProperty
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
$programs = $32bit + $64bit
foreach ($program in $programs){
$program = Write-Output $program | where Displayname -like $programname
if ($program.DisplayName -ne $null) {
$LastModified = (Get-Item $program.uninstallstring).lastwritetime
$properties = @{
ProgramName = $program.DisplayName
Publisher = $program.Publisher
Version = $program.DisplayVersion
UninstallString = $program.UninstallString
LastModified = $LastModified
}
$obj = New-Object -TypeName PSObject -Property $properties
Write-Output $obj
}
}
答案 1 :(得分:0)
Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.ParentDisplayName -like "*foo*" }
这将返回一个对象,其中ParentDisplayName
是您的程序,DisplayVersion
是更新版本。