Lista zainstalowanych programów w CMD
Pamiętacie mój artykuł o generowaniu listy zainstalowanych sterowników? Dzisiaj temat bardzo blisko z nim związany, czyli „oprogramowanie”.
Informacja o zainstalowanych programach, szczególnie w firmie, jest bardzo istotna na przykład gdy:
- re-instalujemy komputer użytkownika i chcemy wiedzieć, jakie programy on posiadał, aby oddać mu maszynę taką, jak przed instalacją 🙂
- dokumentujemy informacje o zainstalowanych programach na serwerach wypadek katastrofy (tzw. „disaster recovery plan”),
- chcemy kontrolować zainstalowane oprogramowanie w celach bezpieczeństwa,
- zliczamy ilość zużytych licencji,
- któryś ze skryptów, musi wiedzieć czy dany program jest na liście, aby wykonać (lub nie) swoje dalsze działanie np. podniesienie wersji.
Niestety nie każda firma posiada u siebie zaawansowane narzędzia, które automatycznie zbierają te informacje z komputerów ( jak choćby Microsoft’owy SCCM). Może tez się zdarzyć, że posiadany system czasowo nie działa, a lista programów potrzebna jest „na teraz”. W takiej sytuacji prosty skrypt w CMD może okazać się bardzo pomocny:)
Jak w wierszu poleceń wygenerować listę zainstalowanych programów?
Od razu odsyłam Was do WMI:
wmic product
Efekt będzie podobny do tego (ale o wiele dłuższy):
1 Skype Toolbars Skype Toolbars http://www.skype.com/ {981029E1-7FC1-4CF3-A039-6F666621921A} 20101126 C:\ProgramData\Skype\{D102C4BA-F105-437A-8049-DB24763BBE36}\ 5 1033 C:\Windows\Installer\d7aa.msi Skype Toolbars C:\Windows\Installer\d7aa.msi {97DCA425-E553-11113-8F5B-F507650167AA} SkypeToolbars.msi Skype Technologies S.A. 1.0.4051 2
1 Windows Live Remote Service Resources Windows Live Remote Service Resources {480F28F0-8BCE-767A-A51E-0D4B7D1EE2EF} 20101126 C:\Program Files (x86)\Common Files\Windows Live\.cache\bc9527ed1cb8d9c0e\ 5 21 C:\Windows\Installer\d7f7.msi Windows Live Remote Service Resources C:\Windows\Installer\d7f7.msi {4796CB65-BE5F-4058-A3A5-BDAB0B35C1A1} wlremoteservicelang-amd64.msi
Raport jest bardzo szczegółowy, bo jak widać, zawiera między innymi nazwę, wersję i ścieżkę. Wygenerowanie go może zająć chwilkę w zależności od ilości wpisów i będzie dość trudny do odczytania. Warto wygenerować go w formacie CSV i zapisać w pliku:
wmic product get /format:csv >raport.csv
Stąd już tylko malutki kroczek aby “uczłowieczyć” go w jakimś innym narzędziu – choćby Excelu.
Do łączenia ze zdalnym komputerem polecam PSEXEC z pakietu PSTOOLS:
psexec \\komputer_zdalny wmic product get /format:csv > \\serwer\udział_sieciowy\%computername% raport.csv
Do sprawdzenia wielu komputerów na raz:
psexec @lista_komputerów.txt wmic product get /format:csv >> \\serwer\udział_sieciowy\%computername% raport.csv
Gdybyście jednak potrzebowali czegoś prostego, zbierającego same nazwy programów, to w pakiecie PSTOOLS znajduje się PSINFO.EXE, który ma flagę odpowiadającą za samo wyświetlenie nazw programów:
psinfo –s
Łączenie ze zdalnym komputerem wykonamy w ten sposób:
psinfo \\komputer_zdalny -s
Zebranie listy zainstalowanych programów wielu maszyn po kolei:
psinfo @lista.txt –s
A Wy, jaki macie sprawdzony sposób na zbieranie informacji o zainstalowanych programach?
sprawdzony sposób to Dodaj / Usuń programy 😀 ok błysnąłem ciekawym patentem 😉
Thank you, Captain Obvious! 🙂
takie komentarze zawsze powodują wiele radości 😉
Niby captain obvious ale czy dodaj/usuń programy pokazuje naprawdę wszystkie programy ?
Wystarczy porównać listę z WMI, PSINFO i Add/Remove Programs any wiedzieć (uwaga, spoiler! ) .. ŻE NIE 🙂
A co jeśli psinfo -s daje mi tak długą listę, że nie mieści się w konsoli?
Opcji jest kilka, w zależności od tego co dla Ciebie wygodniejsze:
– używasz rury – psinfo-s | more
– zwiększasz wysokość buforu ekranu w aktywnym okienku cmd
– przekierowujesz wynik do pliku – psinfo -s > psinfo.txt
http://spece.it/windows-serwer-artykuly/przekierowanie-wyniku-polecenia-zcmd-dopliku-tekstowego-lubschowka
Mam taki problemik.
Muszę przeprowadzić w firmie audyt oprogramowania.
Pobrałem pstools i uruchamiając np psinfo.exe pojawia mi się na ułamek sekundy okno a później znika.
Co z tym mogę zrobić?
Kolejną sprawą jest to, że jeśli wygeneruję wmic product get /format:csv >raport.csv
Nie mam na tej liście np antywirusa czy 7zip
Jak pobrać wszystkie informacje o zainstalowanych programach.
Bardzo proszę o szybką pomoc.
Pozdrawiam Piotr Truś
Niektóre programy mogą rzeczywiście nie pojawiać się na liście „add/remove programs”.
Jeżeli potrzebujesz bardzo dokąłdnych wyników, a nie masz u siebie zaawansowanych narzedzi typu SCCM, musisz uśmiechnąć się w strone programów firm 3cich. W tym wątku, na forum goldenline, pada sporo nazw darmowych i komercyjnych programów do wykonania profesojonalnego audytu oprogramowania.
http://www.goldenline.pl/forum/494086/najlepsze-programy-do-inwentaryzacji-oprogramowania-i-sprzetu/
Można też tak:
wmic product list brief >programs.txt