Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Installerrel telepített alkalmazások a WMI lekérdezéseivel találhatók, de nem minden alkalmazás használja a Windows Installert. A más eszközökkel telepített alkalmazások megkeresésének speciális technikái a telepítő szoftverétől függenek.
Például a fájlok számítógépre másolásával telepített alkalmazások általában nem kezelhetők az itt tárgyalt technikákkal. Ezeket az alkalmazásokat fájlként és mappaként is kezelheti a Fájlok és mappák használata című témakörben ismertetett technikákkal.
Telepítőcsomag használatával telepített szoftverek esetén a Windows Installer a Win32Reg_AddRemovePrograms vagy a Win32_Product osztályokkal érhető el. Mindkettőnek azonban vannak problémái. A Win32Reg_AddRemovePrograms csak a System Center Configuration Manager (SCCM) használata esetén érhető el. És a Win32_Product osztály lehet lassú, és mellékhatásokat.
Figyelemfelhívás
A Win32_Product osztály nincs optimalizálva. A helyettesítő karaktereket használó lekérdezések miatt a WMI az MSI-szolgáltatót használja az összes telepített termék számbavételéhez, majd egymás után elemzi a teljes listát a szűrő kezeléséhez. Ez a telepített csomagok konzisztenciájának ellenőrzését, a telepítés ellenőrzését és javítását is kezdeményezi. Az ellenőrzés lassú folyamat, és hibákat okozhat az eseménynaplókban. További információkért keresse meg a tudásbáziscikk 974524.
Ez a cikk egy alternatív módszert kínál a telepített szoftverek keresésére.
A beállításkulcs eltávolítása lekérdezése a telepített szoftverek megkereséséhez
Mivel a legtöbb szabványos alkalmazás regisztrál egy eltávolítót a Windowsban, helyileg is használhatjuk őket a Windows beállításjegyzékében. Nincs garantált módja annak, hogy minden alkalmazást megtaláljon egy rendszerben. Az alábbi beállításkulcsban azonban megtalálhatja a Programok hozzáadása vagy eltávolítása listában megjelenő összes programot:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall.
A telepített alkalmazások számát a beállításkulcsok számának megszámolásával találjuk meg:
$UninstallPath = 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall'
(Get-ChildItem -Path $UninstallPath).Count
459
A különböző technikákkal tovább kereshetünk az alkalmazások listájában. A beállításkulcsok Uninstallalatti beállításkulcsok értékeinek megjelenítéséhez használja a GetValue() beállításkulcsok metódusát. A metódus értéke a beállításjegyzék-bejegyzés neve. Ha például meg szeretné keresni az alkalmazások megjelenítendő nevét a Uninstall kulcsban, használja a következő parancsot:
Get-ChildItem -Path $UninstallPath |
ForEach-Object -Process { $_.GetValue('DisplayName') } |
Sort-Object
Feljegyzés
Nincs garancia arra, hogy a DisplayName értékek egyediek.
Az alábbi példa a Win32Reg_AddRemovePrograms osztályhoz hasonló kimenetet hoz létre:
Get-ChildItem $UninstallPath |
ForEach-Object {
$ProdID = ($_.Name -split '\\')[-1]
Get-ItemProperty -Path "$UninstallPath\$ProdID" -ea SilentlyContinue |
Select-Object -Property DisplayName, InstallDate, @{n='ProdID'; e={$ProdID}}, Publisher, DisplayVersion
} | Select-Object -First 3
A rövidség kedvéért ez a példa Select-Object a visszaadott elemek számát háromra korlátozza.
DisplayName : 7-Zip 22.01 (x64)
InstallDate :
ProdID : 7-Zip
Publisher : Igor Pavlov
DisplayVersion : 22.01
DisplayName : AutoHotkey 1.1.33.10
InstallDate :
ProdID : AutoHotkey
Publisher : Lexikos
DisplayVersion : 1.1.33.10
DisplayName : Beyond Compare 4.4.6
InstallDate : 20230310
ProdID : BeyondCompare4_is1
Publisher : Scooter Software
DisplayVersion : 4.4.6.27483