Verteilung von Thunderbird in Unternehmen per GPO und Batchdatei

Bereits in der Vergangenheit hatte ich das Fehlen einer GPO kompartiblen .msi Installationsdatei für Thunderbird angesprochen. Nun, Klagen hilft nicht. In diesem Zusammenhang bin ich bereits daran gescheitert mittels Freeware Tools die Setup-EXE in eine .msi umzuwandeln und diese dann erfolgreich zu verteilen.

 

Nach Erscheinen von Thunderbird 10 mit verlängertem Support (ESR) ging ich das Problem erneut an. 

Auf der Suche nach weiteren Möglichkeiten wurde in diesem Blog erläutert wie man Firefox per Batch Skript installiert welches durch die GPO aufgerufen wird.

Softwareverteilung per Batch ist nicht gerade simpel und reich an Fallen, funktioniert aber praktisch mit fast allen .exe und liefert durch Log Dateien auch ein Feedback, was es sonst leider nicht gibt.

Die obige Beschreibung und der Code ist zunächst nur für Firefox nutzbar und muss für Thunderbird geändert werden, aber er weist den Weg. Ebenso erfolgt das Vorgehen im ursprünglichen Code unter der Prämisse möglichst viel als Script zu erledigen, wohingegen ich eine dominierende Rolle der GPO wünsche. Das äußert sich z.B. in der beschriebenen Verwendung von Dateien mit PC Listen anstatt dem Security Filtering der GPM oder einer globalen Sicherheitsgruppe des Active Directory.

 

Einem sehr guten Ansatz für die Verteilung von TB kann man hier folgen.

 

Fassen wir also die Anleitungen zusammen und wandeln sie unseren Bedürfnissen nach ab. Das heißt wir verzichten zunächst auf die Übertragung von Konfigurationseinstellungen und beschränken uns lediglich auf die Verteilung von Thunderbird ESR. 

 

  • Gegeben sei auf dem Windows-Server ein Verzeichnis zur Softwareverteilung mit versteckter Freigabe (\\servername\Softwareverteilung$\Thunderbird\)
  • In dieses kopieren wir die zu verteilende Installationsdatei ((\\servername\Softwareverteilung$\Thunderbird\Thunderbird Setup xx.x.xesr.exe)
  • Ebenfalls erstellen wir dort die Installer Batch Datei firefox-installer.bat sowie die log.txt, beides in Form einer normalen Textdatei.

Es ist sorgsam darauf zu achten das auf die Verzeichnisse ausreichende Rechte seitens des Clients bestehen, nicht nur auf NTFS Ebene sondern auch von Seiten der Freigaberechte.

Meine Variante der Batch sei hier mal wiedergegeben,  da sie in mehreren Punkten von der oben verlinkten Version abweicht, insbesondere hinsichtlich der Registryabfrage und dem Versionsvergleich. Bei einer angezielten Verteilung von Mozilla ESR Produkten muss man z.B. auch "ältere" über "neuere" Versionen installieren können.

Die ganze echo Geschichte kann man sich größtenteils sparen, die sieht der User ab W7 bei der Installation sowieso  nicht, und wenn man es unter XP doch sichtbar schaltet rennt das Ganze nicht lesbar in einem Fenster runter und der User ist total irritiert.

Die Logs sollte man eventuell in ein separates Log Verzeichnis legen in dem auch Schreibrechte bestehen.

 

REM _______________________________________________________________
REM WICHTIG! Hier die aktuelle zu verteilende Version eingeben.
REM Die Installerdatei muss so benannt sein: Thunderbird[Version].exe
set newversion=10.0.3
REM _______________________________________________________________

set wd=\\gmbu-server\Softwareverteilung$\MozillaThunderbird\
set log=\\gmbu-server\Log$\Thunderbird-Installationen-Log.txt
set instversion=99999
 
echo Thunderbird Installation wird geprueft...

for /f "tokens=3" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird" /v "CurrentVersion" ^|findstr "CurrentVersion"') do set instversion=%%a

if "%instversion%"=="%newversion%" echo %date% %time% - %computername% hat bereits Version %newversion% installiert. >> %log% & goto end

echo %date% %time% - %computername% hat die Thunderbird Installation %instversion%. >> %log%
echo %date% %time% - %computername% startet die Thunderbird Installation %newversion%. >> %log%

"%wd%\Thunderbird Setup %newversion%esr.exe" -ms
 
REM 32bit Einstellungsdateien kopieren
if exist "%programfiles%\Mozilla Thunderbird\" copy /Y "%wd%\override.ini" "%programfiles%\Mozilla Thunderbird\"
if exist "%programfiles%\Mozilla Thunderbird\" copy /Y "%wd%\mozilla.cfg" "%programfiles%\Mozilla Thunderbird\"
if exist "%programfiles%\Mozilla Thunderbird\" copy /Y "%wd%\local-settings.js" "%programfiles%\Mozilla Thunderbird\defaults\pref"
 
REM 64bit Einstellungsdateien kopieren
if exist "%ProgramFiles(x86)%\Mozilla Thunderbird\" copy /Y "%wd%\override.ini" "%ProgramFiles(x86)%\Mozilla Thunderbird\"
if exist "%ProgramFiles(x86)%\Mozilla Thunderbird\" copy /Y "%wd%\mozilla.cfg" "%ProgramFiles(x86)%\Mozilla Thunderbird\"
if exist "%ProgramFiles(x86)%\Mozilla Thunderbird\" copy /Y "%wd%\local-settings.js" "%ProgramFiles(x86)%\Mozilla Thunderbird\defaults\pref"
 
echo %date% %time% - %computername% hat die Thunderbird Installation %newversion% abgeschlossen... >> %log%

:end
::pause
endlocal

 

Hinweise:

- durch Entfernen von :: vor pause stoppt das Script nach Ablauf, und sofern man in der GPOE - Computerkonfiguration - Adm. Vorlagen - System - Scripts run Startup scripts auf VISIBLE gestellt hat kann man unter XP auch sehen ob es irgendwo hakt.

 

Weitere Optionen:

- bei Bedarf müßte noch nach normalen Versionen und ESR Versionen unterschieden werden

- Das Einbinden von Errorleveln wäre eine Überlegung wert.

 

 

  • Zur Erstellung der Verteilung öffen wir die Group Policy Managmet Console (gpmc.msc). Rechtsklick auf die Domäne und Create and Link a GPO Here...
  • Als Name vergeben wir MozillaThunderbird
  • So, jetzt weichen wir (nur für den Testrechner oder auch prinzipiell) etwas von der Norm ab. Statt im AD in einer OU eine Sicherheitsgruppe "MozillaThunderbird" zu erstellen und dort alle Computer einzuordnen benutzen wir für in der GPO den Reiter Scope / Security Filtering und sortieren dort alle Computer rein die die Verteilung betrifft (Zunächst nur einen Testrechner). Das ist wesentlich übersichtlicher da alles an einem Punkt gebündelt ist, statt das die GPO eine OU mit SG enthällt in der auch nichts weiter steht als die PCs. Dieses Vorgehen ist in unserem Fall der Softwareverteilung ok und nicht zu verallgemeinern. Wenn der IP Park einer Firma stark mit OUs strukturiert ist kann das die weniger optimale Lösung sein.
  • Rechtsklick auf die GPO und Edit..öffnet den Group Policy Object Editor der GPO.
  • in diesem Editor: Computerkonfiguration / Windows-Einstellungen / Skripts (Start/Herunterfahren) / Starten / Hinzufügen.... .....Thunderbird-Installer.bat

 

Das wars, die Installation sollte funktionieren :-) .

 

Die obige Installer-Batch-Datei wurde auf Funktionstüchtigkeit getestet in folgenden Client- Ausgangskonstellationen:

 

XP Prof SP3 ohne Thunderbird -> ok

XP Prof SP3 mit TB 9.x -> ok

W7 Prof SP1 32bit ohne Thunderbird -> ok

W7 Prof SP1 32bit mit TB 10.0.1 -> ok

 

Ich danke an dieser Stelle Hannes Schurig, dessen Script mir die Tür zur Verteilung mittels Batch Datei öffnete und der mich auf dem steinigen Weg der Anpassung begleitete.

 

---------------------------------------------------------------------------------------------------------

Eine Frage die Admins in Kürze ins Haus stehen wird ist übrigens der Umgang mit automatischen Silent Updates die in einer der anstehenden neuen TB Versionen eingeführt wird. Sicher werden einige die einfach aktivieren und froh sein das Updateproblem vom Tisch zu haben. 

 

 

 

Kommentar schreiben

Kommentare: 3
  • #1

    lustigerpinguin (Mittwoch, 19 September 2012 08:40)

    Hi,
    die Registry - Abfragen funktionieren scheinbar nicht unter Windows 7 SP1 64bit.

    Gruß
    Karsten

  • #2

    (Mittwoch, 19 September 2012 22:42)

    Das ist korrekt, damit das auch unter x64 funktioniert muss für die Abfrage z.B. eine ODER Verknüpfung mit der Registry Zeile erfolgen unter der der Eintrag auf x64 Systemen erstellt wird. Hannes Schurig hat auf seiner Webseite den angepassten Code angegeben. .....SOFTWARE\6432NODE\......

    Die Angaben sind insofern nicht mehr aktuell, da mittlerweile bei uns (auch für die x64 PC's) der Umstieg auf LUP erfolgte.

  • #3

    Juicer Reviews (Donnerstag, 18 April 2013)

    This particular article was in fact precisely what I had been looking for!