ESET NOD32 – odinstalowanie za pomoca GPO i skryptu VBS

Deinstalacje ESET NOD32 w środowisko domenowym możemy przeprowadzić na kilka sposobów. Pierwszym, który sam się nasuwa (w przypadku kiedy do instalacji wykorzystaliśmy polityki z Software Distribution) jest usuniecie polityki, która paczki z NOD32 instalowała. W przypadku gdypodczas wdrażania polityki zaznaczyliśmy w opcjach rozmieszczania paczki Odinstalują tę aplikacje, gdy znajdzie się ona poza zasięgiem zarzadzania NOD powinien ładnie się odinstalować. Natomiast jeżeli konfiguracja klienta była chroniona hasłem (a jest taka możliwość) ten sposób nie zadziała. Dostaniemy komunikaty błędów na stacji klienckiej świadczące o braku dostępu. Drugi sposób to deinstalacja ESET NOD32 za pomocą ERA (opisane tu). Ale i ona nie zawsze daje oczekiwane rezultaty. Szczególnie wtedy kiedy nie chcemy modyfikować ustawień firewalla (i zmiennych środowiskowych) na stacji klienckiej. W takim przypadku z pomocą przychodzą nam znów polityki GPO oraz skrypty.
Zobaczmy jak wygląda polecenie odinstalowania NOD32 na stacji roboczej. W tym celu szukamy w skrótu Start > Programy > ESET NOD32 > Odinstaluj i sprawdzamy jego właściwości. W okienku Element Docelowy: widzimy polecenie jakie jest wykonywane przy próbie deinstalacji.

String deinstalacji NOD32

Wystarczy przepisać to do .bat i juz mamy zalążek skryptu. Natomiast do ideału dużo mu brakuje.

  • Po pierwsze – proces ma byc cichy, bez żadnych okien dialogowych.
  • Po drugie – jeżeli mamy ustawione hasło na konfiguracje klienta w procesie deinstalacji musimy je podać – czyli w naszym przypadku zaszyć w skrypcie.
  • Po trzecie – do całkowitej deinstalacji potrzebny jest restart.
  • A po czwarte i ostatnie – do wykorzystania w środowisku domenowym starajmy się pisać skrypty w VBScripcie a nie używać skryptów powłoki .bat. O ile proste czynności możemy w nich (.bat) zautomatyzować (np podłączenie dysków, drukarek) o tyle nie możemy (bez wykorzystania oprogramowania firm trzecich) odwołać się do Active Directory z użyciem ADSI np. do sprawdzenia członkostwa grup
  • No ot ok…podstawowy skrypt wygląda tak:

    Option Explicit
    On Error Resume Next

    Dim objShell, strCmd

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run """C:\Program Files\ESET\ESET NOD32 Antivirus\callmsi.exe""" & "/x" & """{B3B5F219-79E6-4307-8AC1-9B32BE37CD48}""" & " /qn" & "REBOOT=Force PASSWORD=pass"

    gdzie:
    /x – przełącznik deinstalacji
    /qn – proces odbedzie sie cicho
    pass – hasło konfiguracji klienta NOD32
    B3B5F219-79E6-4307-8AC1-9B32BE37CD48 – identyfikator instalacji produktu – kiedy mamy rożne systemy operacyjne i rożne wersje NOD32 niestety te identyfikatory także będą rożne. Trzeba je odczytać we właściwościach skrótu Odinstaluj lub w gałęzi rejestru HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info\ProductCode.

    W moim przypadku miałem zainstalowanego NODa32 w wersje 4.2 na dwóch rodzajach systemów Windows 7 32-bit i Windows 7 64-bit. Dlatego skrypt lekko rozbudowałem dodając instrukcje warunkową if oraz funkcje odczytującą klucz z rejestru.
    Docelowa wersja skryptu wygląda tak:

    Option Explicit
    On Error Resume Next

    Dim objShell, Temp

    Temp = ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info\ProductCode")

    If Temp = "{B3B5F219-79E6-4307-8AC1-9B32BE37CD48}" Then

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run """C:\Program Files\ESET\ESET NOD32 Antivirus\callmsi.exe""" & "/x" & """{B3B5F219-79E6-4307-8AC1-9B32BE37CD48}""" & " /qn" & "REBOOT=Force PASSWORD=pass"

    Else

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run """C:\Program Files\ESET\ESET NOD32 Antivirus\callmsi.exe""" & "/x" & """{D7647425-7A6F-4DC6-9F9A-71148AB424CD}""" & " /qn" & "REBOOT=Force PASSWORD=pass"

    End If

    Function ReadReg(RegPath)
    Dim objRegistry, Key
    Set objRegistry = CreateObject("Wscript.shell")
    Key = objRegistry.RegRead(RegPath)
    ReadReg = Key
    End Function

    Aby powyższy skrypt wykonał się podczas uruchomienia komputera ustawiamy politykę w następującej gałęzi Konfiguracja komputera > Zasady > Ustawienia systemu Windows > Skrypty > Autostart.

Dodaj komentarz