Jump to content

Julez

Newbie
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Julez

  • Rank
    Newbie
  1. Unser Systemhaus rollt Updates über WSUS aus. Hi Nils, hat leider nicht geklappt aber ich werde deinen :eof-Rat befolgen und mit einbauen. Mein abgeänderter Code hat zumindest mal zu einem messbaren Erfolg geführt: $Version = reg query HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\TeamViewer /f Version /t REG_SZ /c /e if ($Version -eq " Version REG_SZ 15.14.5 HC") {echo "ok"} else {echo "falsch"} Danke für eure Hilfe. Ich hab wohl noch einiges an Nachholbedarf, deshalb wird dieses Forum jetzt erstmal zum stöbern in die Favicons gepinnt =) Bis bald
  2. Hmm.. allen Anschein nach hänge ich da wirklich wohl in einer Zeitkapsel fest. Ich werde mir WSUS mal ansehen. SCCM wurde mir auch schon einmal empfohlen. Nur macht das glaube ich in unserem Fall nicht enorm viel Sinn: Wir haben zwar viele Clients und genau so viele Server Deutschlandweit, die Software ändert sich jedoch ausserhalb des Lebenszyklus nur geringfügig. Ich werde mich mal reinlesen, schaden kann es ja nicht - Danke für die Tipps. Hätte jedoch auch noch jemand eine Antwort auf meine doch so "triviale" Frage, wie ich diese Registrykey-Abfrage in meinen Code rein bekomme? Beste Grüße und vielen Dank.
  3. Danke, und wieder was dazu gelernt Ich bin offen für bessere Vorschläge Deinerseits
  4. Hallo zusammen, ich habe nun schon des Öfteren bei euch im Forum zu einigen Themen erfolgreich Hilfe gefunden - Danke dafür an die fleißigen Antworter. Nun habe ich eine Frage, die leider (nicht ganz) im Forum zu finden ist - verbessert mich gerne, falls ein Artikel hierfür schon existiert. Leider bin ich in Anwendungsentwicklung nie so richtig gut gewesen und krampfe mich immer durch dieses Thema =) Zur Aufgabenstellung: - Wir rollen derzeit auf allen Clients verschiedene Instanzen (Host/Full) des neuen TeamViewer Clients per GPO aus. - Hierfür haben wir ein Skript geschrieben welches die aktuell installierte Version finden, löschen und mithilfe der .msi vom Fileserver neu installieren soll. --> Das klappt auch schon super! - Grund hierfür ist die Bereitstellung des APITokens bei erneuter Installation, welchen wir auch zukünftig jedem neuen Client automatisch mitgeben möchten. - Wir benötigen noch eine Abfrage im Skript, die vorab prüft ob schon die aktuelle Version installiert ist, da er sonst diesen Vorgang mit jedem Reboot erneut ausführt. Unser aktueller Code: @echo off REM UNINSTALL CURRENT TEAMVIEWER INSTALLATION tasklist /FI "IMAGENAME eq TeamViewer.exe" 2>NUL | find /I /N "TeamViewer.exe">NUL if "%ERRORLEVEL%"=="0" (GOTO :KILL) ELSE (GOTO :REMOVEMSI) :KILL taskkill /f /im TeamViewer.exe TIMEOUT 2 GOTO :REMOVEMSI :REMOVEMSI wmic product where vendor="TeamViewer" if not "%errorlevel%"=="0" GOTO :CHECKOS for /f "tokens=2 delims==" %%f in ('wmic product Where "vendor like 'TeamViewer'" get IdentifyingNumber /value ^| find "="') do set "id=%%f" msiexec.exe /x "%id%" /qn GOTO :CHECKOS :CHECKOS cd\ Set "OS64=C:\Program Files (x86)" IF EXIST "%OS64%" (GOTO :UNINSTALL64) ELSE (GOTO :UNINSTALL32) :UNINSTALL64 cd\ Set "OLD64=C:\Program Files (x86)\TeamViewer\Version*" IF EXIST "%OLD64%" (GOTO :PREVIOUS64) ELSE (GOTO :REMOVE64) :UNINSTALL32 cd\ Set "OLD32=C:\Program Files\TeamViewer\Version*" IF EXIST "%OLD32%" (GOTO :PREVIOUS32) ELSE (GOTO :REMOVE32) :PREVIOUS32 cd\ cd %ProgramFiles%\TeamViewer\Version* IF NOT EXIST "*uninstall*" GOTO :REMOVE32 start uninstall.exe /S GOTO :REMOVE32 :REMOVE32 cd\ cd %ProgramFiles%\TeamViewer IF NOT EXIST "*uninstall*" GOTO :REMOVEFILES32 start uninstall.exe /S GOTO :REMOVEFILES32 :REMOVEFILES32 reg delete "HKLM\Software\TeamViewer" /f cd %temp% rd TeamViewer /s /Q GOTO :INSTALL :PREVIOUS64 cd\ cd %ProgramFiles(x86)%\TeamViewer\Version* IF NOT EXIST "*uninstall*" GOTO :REMOVE64 start uninstall.exe /S GOTO :REMOVE64 :REMOVE64 cd\ cd %ProgramFiles(x86)%\TeamViewer IF NOT EXIST "*uninstall*" GOTO :REMOVEFILES64 start uninstall.exe /S GOTO :REMOVEFILES64 :REMOVEFILES64 reg delete "HKLM\Software\Wow6432Node\TeamViewer" /f cd %temp% rd TeamViewer /s /Q GOTO :INSTALL :INSTALL start /wait msiexec.exe /i "\\Fileserver\file\Software\Verteilung\Teamviewer\Teamviewer 15\TeamViewerMSI\Host\TeamViewer_Host.msi" /qn CUSTOMCONFIGID="" APITOKEN=""-"" ASSIGNMENTOPTIONS="--reassign --alias %ComputerName% --grant-easy-access --group-id "" --proxy xxx.xxx.xxx.xxx:xxxx exit Nach etlichem Forengewälze erschien mir die Abfrage des Registry Keys als sinnvollere Alternative zu UNC-Pfad und .exe Suche Nun zu dem was ich in eurem Forum gefunden habe: Link: Forenbeitrag von MC Bain - Regkey per Batch abfragen reg query "\\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\TeamViewer\Version" /v "15.14.5 HC" if %errorlevel%==0 GOTO exit if %errorlevel%==1 GOTO :TASKCHECK :TASKCHECK - Der Registry Pfad entspricht dem auf unseren Clients. - Kann ich diesen Code einfach nach dem Echo einfügen um eine erneute Installation bei aktueller Programmversion zu verhindern? - Bonusfrage: Gibt es die Möglichkeit, den Erfolg der Datei zu "messen"? -- Hierbei dachte ich daran, bei übersprungener Installation eine Datei auszugeben die "Keine_erneute_Installation.txt" bzw. bei erfolgreicher Aktualisierung "Programmaktualisierung_durchgeführt.txt" heißt. -- Diese Ergebnisdateien werde ich nach meinen Tests aus dem Skript wieder entfernen - Interessehalber: Was bedeutet in diesem Fall "/v" ? Ich hoffe, ich konnte alles verständlich wiedergeben. Falls ihr noch weitere Informationen benötigt, gebe ich sie gerne weiter. Ich danke vielmals für eure Hilfe. Beste Grüße.
×
×
  • Create New...