質問: 複数のコンピューター間でwindowsレジストリを同期する windows xpレジストリに、dropboxスタイルの2台のコンピューター間で同期したい特定のフォルダーがあります。レジストリを変更するたびに、そのようにしたいのです。 1台のコンピューターでは、他のコンピューターに表示されます。可能?どうやって?(なぜ私がこれをしたいのか知りたい場合:すべてのコンピューターで同じputtyセッションを持ちたいです。)
回答: 必要なエントリを正確に含むレジストリファイルを使用して、サイレントモードでregedit.exeを実行する方が簡単な場合があります。共有の場所から実行するように各コンピューターを設定できるため、ファイルを更新するだけで、次にスケジュールされたregedit.exeの実行が各コンピューターで実行されたときに、新しいエントリが取得されます。何かのようなもの:regedit.exe /s puttyentries.reg 1台のコンピューターからレジストリキーを取得するには、次を使用します。regedit.exe /e puttyentries.reg "registry_key" レジストリのリモート読み取り/書き込み機能でvbscriptまたはautoitを使用して、プロセス全体を自動化するより洗練された方法があるでしょう。これは、リモートコンピューターと30分ごとに同期するautoitの例です(注意、私は実際にこれをテストしていません):while 1 ;loop indefinitely $i1 = 1 ;set initial counter while 1 ;loops through all sessions $keyname = regenumval("\\remotecomputer\hkey_current_user\software\simontatham\putty\sessions", $i1) ;reads session names if @error <> 0 then exitloop ;exits when no more sessions exist $i2 = 1 ;set initial counter while 1 ;loops through all value in key until done $valuename = regenumval("\\remotecomputer\hkey_current_user\software\simontatham\putty\sessions" & "\" & $keyname, $i2) ;read value name from remote machine if @error <> 0 then exitloop ;errors and escapes when no more values to read $type = @extended ;sets registry value type $value = regread("hkey_current_user\software\simontatham\putty\session" & "\" & $keyname, $valuename) ;read value regwrite("hkey_current_user\software\simontatham\putty\session" & "\" & $keyname, $valuename, $type, $value) ;write key value to local machine $i2 = $i2 + 1 ;increment by 1 wend $i1 = $i1 + 1 ;increment by 1 wend sleep(1800000) ;sleep 30 min wend