ich hatte hier:
https://www.deskmodder.de/blog/2015/01/ ... ent-215977
seinerzeit gefragt, wie das mit dem WINAERO Universal Watermark Disabler funktioniert.
@DK2000 hatte dann einige Hinweise gegeben.
Auf
https://github.com/0xda568/Universal-Wa ... ngineering hat jemand mal versucht das Ding per Reverse Engineering nachzubauen.
https://github.com/0xda568/uwd-oss
Durch diese beiden Hinweise konnte ich jetzt ein Script erstellen, welches mir das Wasserzeichen einer Windows Testversion (z.B. Windows Server 2025) auf dem Desktop entfernt; ohne die Original App von Winaero nutzen zu müssen.
Ich nutze lediglich das Know-How und die ausschlaggebende DLL (painter_x64.dll).
Vorteil:
die Original App von WINAERO lässt sich m.E. nicht silent installieren, verlangt also nach Bestätigung und ist infolgedessen für mich unbrauchbar in einer "Zero-Touch" Installation/autounattend-Installation.
Da auch in bestimmten Bereichen der Registry "rumgepfuscht" wird, die normalerweise nicht zugänglich sind, bedarf es einer Möglichkeit, den TrustedInstaller (erhöhte Rechte) zu nutzen. Für diesen Zweck besorgt euch PowerRun hier:
https://www.sordum.org/9416/powerrun-v1 ... rivileges/
https://www.sordum.org/files/download/p ... werRun.zip
Das ZIP-Archiv entpacken und daraus benötigen wir nur die PowerRun_x64.exe
Alle benötigten Dateien gehören in ein einziges Verzeichnis. Die Bezeichnungen der Dateien nicht ändern, da das Ganze sonst so nicht funktioniert.
zum Installieren:
1. trustedinstaller.cmd
Code: Alles auswählen
@echo off
pushd "%~dp0"
"%~dp0PowerRun_x64.exe" installer.bat
2. installer.bat
Code: Alles auswählen
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
setlocal enabledelayedexpansion
taskkill /IM explorer.exe /f >nul
copy /y .\painter_x64.dll %SystemRoot%\System32\ >nul
regini painter.tmp
reg add HKLM\SOFTWARE\Classes\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 /t REG_EXPAND_SZ /ve /d %SystemRoot%\System32\painter_x64.dll /f >nul
cls
echo.
echo der Benutzer wird jetzt abgemeldet
echo alle Daten gesichert?
pause >nul
shutdown /l
exit /B
3. painter.tmp
Code: Alles auswählen
\registry\machine\software\classes\clsid\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 [17 1]
4. painter_x64.dll
entpacken aus:
painter_x64.zip
5. PowerRun_x64.exe
s. Quelle oben
jetzt einfach in dem Verzeichnis mit den 5 Dateien die trustedinstaller.cmd aufrufen.
Das Script kopiert die erforderlichen Dateien, ändert die Registry und killt den Explorer/startet ihn neu.
Der aktuelle Benutzer muss noch einmal abgemeldet werden und sich dann wieder anmelden.
Aus Sicherheitsgründen solltet ihr das nicht auf einem Produktivsystem machen. Aber da es hier ja um Testversionen von Windows (mit Wasserzeichen) geht, gehe ich davon aus, dass ihr die auch nicht produktiv, sondern zu Testzwecken einsetzt.
Möchte man (aus irgendwelchen Gründen) das Wasserzeichen wieder zurück haben; hier die erforderlichen Scripte:
1. trusteduninstaller.cmd
Code: Alles auswählen
@echo off
pushd "%~dp0"
"%~dp0PowerRun_x64.exe" uninstaller.bat
2. uninstaller.bat
Code: Alles auswählen
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
setlocal enabledelayedexpansion
taskkill /IM explorer.exe /f >nul
del /f "%SystemRoot%\System32\painter_x64.dll" >nul
reg add HKLM\SOFTWARE\Classes\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 /t REG_EXPAND_SZ /ve /d %SystemRoot%\System32\explorerframe.dll /f >nul
cls
echo.
echo der Benutzer wird jetzt abgemeldet
echo alle Daten gesichert?
pause >nul
shutdown /l
exit /B
Da auch diese Batch die PowerRun_x64.exe benötigt, einfach in den gleichen Ordner kopieren, wo die anderen Dateien schon liegen und dann die trusteduninstaller.cmd aufrufen.
Hier noch ein paar Links, die sich mit dem Thema beschäftigen:
viewtopic.php?p=381086&hilit=watermark#p381086
viewtopic.php?p=372756&hilit=watermark#p372756
viewtopic.php?p=373413&hilit=watermark#p373413
Fragen, Anregungen, Verbesserungsvorschläge immer willkommen!