Ich habe eine Datenbank erstellt, bei der man den MasterKey beim ersten Öffnen ändern muss. Nach dieser Änderung sollte es nicht mehr möglich sein, den Masterkey zu ändern. Um dies zu erreichen, habe ich diese Batchdatei erstellt:
@CD /d "%~dp0"
KeePass-2.42.1-Setup.exe /verysilent
REM Installs KeePass 2.42.1 very silent
COPY KeePass.config.xml "C:\Program Files (x86)\KeePass Password Safe 2\"
REM Recplaces the Configuration File with a modified file. Modification are:
REM -Setting UIFLAG to 35
REM -CheckForUpdate to false and CheckForUpdateConfigured to true
REM - <Policy> <NewFile> to false
COPY Datenbank.kdbx "D:\Eigene Dateien\KeePass\"
REM Copies the modified Database onto the PC, this Database asks for a change of the masterkey the first time it gets opened
ECHO "Please open the database PasswortManager on your Desktop now, change the masterkey as prompted, save it and close Keepass. Press Enter after finishing"
PAUSE
COPY KeePass2.config.enforced.xml "C:\Program Files (x86)\KeePass Password Safe 2\"
REM Replaces the configuration file again this time with <ChangeMasterKey> to False
Einige Teile des Codes wurden entfernt, da sie Einstellungen ändern, die für meine Frage keine Rolle spielen.
Diese Methode funktioniert, fühlt sich aber seltsam an und kann auf viele Arten zu Problemen führen. Zum Beispiel, wenn sie vor dem Öffnen der Datenbank die Eingabetaste drücken oder die Eingabetaste drücken, während Keepass noch geöffnet ist. Gibt es eine Möglichkeit, nur die erste Änderung des Masterpassworts zuzulassen? Ohne die Konfiguration zwei Mal überschreiben zu müssen.
Wenn ich meine Frage verbessern kann, sagen Sie es mir bitte und danke für Ihre Hilfe
Edit: Nach einem Vorschlag eines Benutzers hier habe ich die zweite Konfigurationsdatei auf „erzwungen“ geändert und spiele damit herum. Scheint so, als würde ich weiterhin die doppelte Konfigurationsdatei verwenden.