Kopano Deskapp Rollout per Batchdatei

Ich habe mir zuletzt ein paar Gedanken darüber gemacht, wie man das Rollout von Kopano vereinfachen könnte. Nachdem das Paket als MSI Datei vorliegt, kann man es per WSUS Package Publisher ausrollen. Was aber, wenn man keinen WSUS / Package Publisher hat und sich dennoch, das „herumgerenne“ sparen will?

Remoteausführung auf dem Client-PC

Grundsätzlich muss die MSI-Datei mit Administratorrechten auf einem Remote-PC ausgeführt werden.

Bei einer Neuinstallation, kann das Setup einzig mit dem MSI Zusatzparameter /quiet angestoßen werden.

Aufpassen muss man, sofern eine bestehende Kopano DeskApp Installation aktualisiert werden soll! In der Regel, hat der Benutzer die Deskapp offen. Wenn man nun ohne Parameter – per Remote – eine Installation anstößt, dann startet der PC nach Fertigstellung der Installation von selbst neu, ohne Rücksicht auf offene Programme etc zu nehmen, oder den Benutzer zu informieren.

In meiner Testumgebung wurde der Parameter (sinngemäß) „Prompt for Restart“ ignoriert, weshalb ich auf den Parameter /norestart zurückgegriffen habe.

Die Crux: Der Benutzer sollte den PC nach der Installation möglichst zeitnah neu starten.

Tool zur Remoteausführung von Programmen

Einigen vermutlich gut bekannt, ist der Befehl „psexec“, enthalten im Paket Windows Sysinternals (Entwickler Mark Russinovich). (Download hier).

Bitte downloaden und installieren, ohne geht’s nicht.

Vorgangsweise

Die Installation soll per Batchdatei auf einem PC in der Adminkonsole (in der Domäne > Ausführung als Domänenadmin) angestartet werden. Diese kopiert notwendige Setupdateien auf den Ziel-PC und startet die Installation.

Vor Start der Installationsprozedur,  soll aber geprüft werden, ob der Ziel-PC überhaupt online ist, da es ansonsten zu einer nervigen Verzögerung kommt, bis Windows „merkt“, dass der PC nicht online ist.

Die eigentlichen Installationsparameter + Verweis auf die MSI Datei sind in einer eigenen Batchdatei enthalten.

Eine separate Batchdatei (die am Admin-PC gestartet wird) schaut so aus:

@echo off
ping -n 1 -4 %1 | findstr /r /c:“[0-9] *ms“

if %errorlevel% == 0 (
cls
echo ————————————————-
echo === DEPLOYING KOPANO DESKAPP 2 ===
echo ————————————————-
echo –> Kopiere kopano.bat nach \\%1\C$
copy \\server\Daten\deploy\kopano.bat \\%1\c$
copy \\server\Daten\deploy\kopano-deskapp-2.0.31-x64.msi \\%1\c$
echo –>Starte PSEXEC und fuehre Remoteinstaller aus…
psexec \\%1 -u domäne\administrator -p <geheimespasswort> c:\kopano.bat
goto ende
) else (
goto error
)
:error
cls
echo ——————————————————-
echo Ping nicht ok! PC offline bzw. falscher PC-Name?!
echo ——————————————————-
:ende

Per Ping wird geprüft, ob der PC online ist, wenn ja (=Errorlevel ist 0), werden die darauffolgenden Befehle abgearbeitet.

Das %1 ist der „Platzhalter“ für den PC-Namen der beim Aufruf der BAT Datei als Parameter übergeben wird.

Bsp: Angenommen ihr startet obiges BAT-File mit dem Namen „kopano.bat“, dann würde der korrekte Befehlsaufruf so aussehen:

kopano.bat pc-name

Das BAT-File mit den Setupparametern von Kopano und die MSI Datei selbst, liegen in dem Fall auf einem Server und werden auf den PC kopiert, auf dem die Installation angestoßen werden soll.

Die BAT Datei, die auf den jeweiligen PC kopiert wird, sieht so aus:

c:\kopano-deskapp-2.0.31-x64.msi /quiet /norestart

Fazit

Es gibt sicher noch viel bessere Lösungen und auch in diesem Fall viel Luft nach oben. Braucht man eine kurzfristige Lösung, läuft aber auch diese Herangehensweise ganz gut. So könnte man beispielsweise die Installation direkt über ein Netzwerkshare anstarten, auf das alle Benutzer Zugriff haben etc.