W tym podręczniku pokażemy kilka sposobów uzyskania listy zainstalowanych programów w systemie Windows 10, Windows 8 lub Windows 7 za pomocą wiersza polecenia. Ta technika budowania listy programów w systemie może być przydatna przed ponowną instalacją systemu, gdy trzeba znaleźć niechciane oprogramowanie lub podczas inwentaryzacji zainstalowanego oprogramowania na komputerach w organizacji.
Rozważmy dwa sposoby: pierwszy obejmuje użycie wiersza polecenia i narzędzia wmic, drugi - PowerShell.
Treść
- Wyświetlanie listy programów za pomocą narzędzia wiersza polecenia WMIC
- Wyświetlanie programów za pomocą Windows PowerShell
Wyświetlanie listy programów za pomocą narzędzia wiersza polecenia WMIC
Listę programów zainstalowanych w systemie można uzyskać za pomocą narzędzia wiersza polecenia WMIC, za pomocą którego można uzyskać dostęp do przestrzeni nazw WMI i zapytać o nią. Uruchom wiersz poleceń z uprawnieniami administratora i uruchom polecenie:
produkt wmic otrzymuje nazwę, wersję
Po krótkim czasie na ekranie konsoli wyświetli się lista nazwisk i wersji programów zainstalowanych w systemie.
Tę listę można wyeksportować do pliku tekstowego za pomocą polecenia:
produkt wmic pobierz nazwę, wersję / format: csv> c: \ Temp \ Programs_% nazwa_komputera% .csv
Po zakończeniu polecenia przejdź do katalogu C: \ Temp i znajdź plik csv, którego nazwa zaczyna się na Programy_ [nazwa_komputera]. W tym pliku w formacie csv oprócz nazwy i wersji oprogramowania zawarta będzie również nazwa komputera (wygodne do dalszej analizy).
Wyświetlanie programów za pomocą Windows PowerShell
Listę zainstalowanych programów można również uzyskać za pomocą PowerShell. Ideą tej metody jest to, że lista zainstalowanych programów, które widzimy na liście Programy i funkcje Panel sterowania zbudowany na podstawie danych przechowywanych w gałęzi rejestru HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall
Naszym zadaniem jest wyświetlenie zawartości tego oddziału rejestru. Uruchom konsolę Powershell i uruchom polecenie:
Get-ItemProperty HKLM: \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize
Jak widać, wynikowa lista zawiera nazwę programu, wersję, programistę i datę instalacji.
Wskazówka. W przypadku aplikacji 32-bitowych w wersjach systemu Windows x64 należy również pobrać dane z gałęzi HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ UninstallMożesz wyeksportować wynikową listę do pliku csv takiego jak ten:
Get-ItemProperty HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Wybierz obiekt DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize> c: \ temp \ install-software.txt
Powyższa metoda pozwala wyświetlać dane tylko w klasycznych aplikacjach Windows. Aby wyświetlić listę zainstalowanych aplikacji Metro, użyj polecenia:
Get-AppxPackage | Wybierz Nazwa, PackageFullName | Format-Table -AutoSize> c: \ temp \ install_metro_apps.txt
Aby uzyskać listę zainstalowanego oprogramowania na komputerze zdalnym (na przykład o nazwie wks_name11), użyj polecenia cmdlet Invoke-command:
Invoke-command -computer wks_name11 Get-ItemProperty HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ * | Wybierz obiekt DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize
Aby porównać listy zainstalowanego oprogramowania otrzymanego z dwóch różnych komputerów i znaleźć brakujące aplikacje, możesz użyć tego polecenia:
Compare-Object -ReferenceObject (Get-Content C: \ temp \ Zainstalowane-oprogramowanie.txt) -DifferenceObject (Get-Content C: \ temp \ Zainstalowane-oprogramowanie2.txt)
W naszym przykładzie na dwóch porównywanych listach występują różnice w obu programach.
Innym sposobem wyświetlania listy zainstalowanych programów jest użycie polecenia cmdlet Get-WmiObject, które umożliwia także dostęp do przestrzeni WMI:
Get-WmiObject -Class Win32_Product | Wybierz obiekt - nazwę właściwości