最初に開くときにマスターキーを変更する必要があるデータベースを作成しましたが、この変更後はマスターキーを変更できなくなります。これを実現するために、次のバッチ ファイルを作成しました。
@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
コードの一部は、私の質問には関係のない設定を変更するため、削除されています。
この方法は機能しますが、奇妙に感じられ、問題が発生する可能性が多数あります。たとえば、データベースを開く前に Enter キーを押した場合や、keepass がまだ開いているときに Enter キーを押した場合などです。最初のマスターパスワードの変更のみを許可する方法はありますか? 設定を何度も上書きする必要はありません。
質問を改善できる点があれば教えてください。ご協力ありがとうございます
編集: ここでのユーザーの提案を受けて、2 番目の構成ファイルを強制的に変更し、それを試しています。引き続き二重構成ファイルを使用することになりそうです。