powershell com对象windows安装程序
我想利用以下几点powershell com对象windows安装程序,powershell,com,Powershell,Com,我想利用以下几点 $wi=新对象-com WindowsInstaller.Installer 如果我使用$wi | gm我看不到我想要的“产品”方法。 我想迭代产品并显示系统上安装的所有项目的列表 所以我想。。。让我做一个$wi.gettype().invokemember 不确定要做什么$wi.gettype().invokemember(“产品”,“InvokeMethod”) 或者有些东西找不到过载 但现在我迷路了。我已经在别处看过了,但我不想创建一个完整的XML文件。我应该能够访问co
$wi=新对象-com WindowsInstaller.Installer
如果我使用$wi | gm
我看不到我想要的“产品”方法。
我想迭代产品并显示系统上安装的所有项目的列表
所以我想。。。让我做一个$wi.gettype().invokemember
不确定要做什么$wi.gettype().invokemember(“产品”,“InvokeMethod”)
或者有些东西找不到过载
但现在我迷路了。我已经在别处看过了,但我不想创建一个完整的XML文件。我应该能够访问com对象方法
Get-WmiObject Win32_Product
这里有一篇来自中国的相关文章
看来这种做法,所以最好避免
查询此类时,提供程序的工作方式是
在每个MSI上实际执行Windows安装程序“重新配置”
包在系统上作为其执行查询
下面是我的代码片段:
cls
$msi = New-Object -ComObject WindowsInstaller.Installer
$prodList = foreach ($p in $msi.Products()) {
try {
$name = $msi.ProductInfo($p, 'ProductName')
$ver = $msi.ProductInfo($p, 'VersionString')
$guid = $p
[tuple]::Create($name, $ver, $guid)
} catch {}
}
$prodlist
win32_产品存在很多问题,例如查询强制进行包对账。@rismoney:你说得对,我做了一项研究,并用另一个选项更新了答案。请检查一下。