Była sobie aplikacja, zaimplementowana na około 30 serwerach. Na niektórych z nich zainstalowano pakiet oprogramowania w wersji X a na innych w wersji Y. Na niektórych z tych serwerów pojawiały się pewne kłopoty, a na innych nie. W każdym razie wygląda na to, że przyczyną tych kłopotów może być zbyt niska wersja tego pakietu. Co robić?
Rozwiązanie numer 1 – otworzyć sesję RDP do każdego z serwerów, na każdym wejść w Dodaj/Usuń programy, poszukać mojego pakietu i… spisać jego wersję. A jak za miesiąc przyjdzie znowu sprawdzić to samo, trzeba będzie otworzyć sesję RDP do każdego z serwerów, na każdym wejść w Dodaj usuń/programy… never ending story…
Rozwiązanie numer 2 – skorzystać z powershella:
Najpierw tworzymy listę komputerów do sprawdzenia. Można ją przechowywać nawet w pliku, tutaj inicjuję ją po prostu w zmiennej:
$computers = "Server01", "Server02", "Server30"
Jest sobie taka klasa WMI o nazwie Win32_Product, kóra prezentuje w sobie zainstalowane na danym systemie oprogramowanie. Aby sprawdzić, czy na komputerze jest zainstalowany dany produkt można wykonać zapytanie WMI:
Get-WMIObject -Class Win32_Product -filter "Name LIKE '%PDW%'" -ComputerName $c
Co się tutaj stało? Get-WMIObject nawiązuje połaczenie z komputerem, którego nazwę zapisaliśmy w zmiennej $c. Gdyby opuścić parametr -filter, to zwrócona zostałaby informacja o każdym zainstalowanym programie, a to trochę za dużo (chociaż też kiedyś może się przydać). My w parametrze filter oczekujemy, że nazwa programu ma zawierać napis PDW. Zwróć uwagę, że wyrażenie w filtrze wygląda jak zapytanie SQL., tzn. stosujemy operator LIKE i stałą '%PDW%’. Ze zwróconego obiektu klasy Win32_product można by oczywiście wybrać tylko interesujące nas właściwości, ale tu zdecydowałem się na wyświetlenie wszystkiego.
To co pozostaje to oczywiście wywołać w/w polecenie w pętli, dla każdego koputera np. tak:
foreach ($c in $computers) { Write-Host $c Get-WMIObject -Class Win32_Product -filter "Name LIKE '%PDW%'" -ComputerName $c }
A gdy za miesiąc trzeba będzie sporządzić nowe zestawienie, to… uruchom jeszcze raz ten skrypt i po cichu myk myk do kuchni na kawę.
Komentarze:
[…] Sprawdzenie wersji oprogramowania na wielu komputerach […]