因此,我试图找到安装的软件使用卸载注册表项,但只想显示软件的某些出版商。在我的出版商数组中寻找我想使用通配符。我可以让这个只与一个出版商工作,但如果我有多个出版商,它返回什么。我已经尝试了我能想到的一切,我在这个网站和其他网站上搜索,但我不知道为什么它不会工作。
我已经尝试了它与和没有最后的每一个声明与相同的结果。我觉得这应该是一个简单的修复。代码如下:
$HKLM = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
$HKLM_Wow = "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
$HKCU = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
$InstalledSoftware = Get-ChildItem $HKLM, $HKLM_Wow, $HKCU
$allSoftware = [System.Collections.ArrayList]@()
$SoftwarePub = [System.Collections.ArrayList]@("Microsoft*", "Dell*")
foreach($obj in $InstalledSoftware) {
$software = New-Object -TypeName PSObject
$software | Add-Member -MemberType NoteProperty -Name DisplayName -Value $obj.GetValue("DisplayName")
$software | Add-Member -MemberType NoteProperty -Name Version -Value $obj.GetValue("DisplayVersion")
$software | Add-Member -MemberType NoteProperty -Name Publisher -Value $obj.GetValue("Publisher")
$software | Add-Member -MemberType NoteProperty -Name InstallDate -Value $obj.GetValue("InstallDate")
$null = $allSoftware.Add($software)
}
foreach ($pub in $SoftwarePub)
{
$allSoftware | Where-Object {$_.Publisher -like $SoftwarePub}
}
字符串
1条答案
按热度按时间6l7fqoea1#
在阅读了我之前的回复留下的反馈后,我研究了你的脚本,做了一些修改,并得到了下面的工作:
字符串
的数据