Windows レジストリをマージできません

Windows レジストリをマージできません

私のコンピューター (Windows 7 Pro 64 ビット) に問題があり、サポート担当者によると、ログインが一時プロファイルに送られたことが原因とのことでした。そこで、サポート担当者は新しいプロファイルを作成しました。しかし、レジストリに保存されている PuTTY と WinSCP の設定が失われてしまいました。古いプロファイルからハイブをロードする方法を見つけ出し、WinSCP と PuTTY のブランチをエクスポートしました。しかし、レジストリにマージできず、「レジストリへのアクセス エラー」というメッセージが表示されます。管理者権限があり、regedit 経由でレジストリにアクセスできます。同じマシンからエクスポートした内容をマージできないのはなぜですか?

ありがとう!

編集

以下は、ASCII に変換した後にレジストリからエクスポートした putty.reg ファイルの一部です。

Windows Registry Editor Version 5.00

[HKEY_USERS\SimonTatham\Software\SimonTatham]

[HKEY_USERS\SimonTatham\Software\SimonTatham\PuTTY]

[HKEY_USERS\SimonTatham\Software\SimonTatham\PuTTY\Jumplist]
"Recent sessions"=hex(7):63,00,73,00,70,00,32,00,74,00,68,00,31,00,6e,00,6f,00,\
  20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,00,74,00,68,00,32,00,2e,00,6e,\
  00,6f,00,2e,00,63,00,67,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,\
  2e,00,69,00,6e,00,65,00,74,00,20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,\
  00,74,00,68,00,32,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,00,6c,00,61,00,\
  62,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,\
  00,74,00,20,00,28,00,6c,00,61,00,62,00,29,00,00,00,73,00,63,00,6d,00,32,00,\
  2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,00,6e,00,6d,00,73,00,2e,00,6d,00,6c,\
  00,62,00,2e,00,69,00,6e,00,65,00,74,00,00,00,63,00,73,00,70,00,31,00,74,00,\
  68,00,31,00,7a,00,7a,00,20,00,28,00,6c,00,61,00,62,00,29,00,00,00,63,00,73,\
  00,70,00,32,00,74,00,68,00,31,00,73,00,6f,00,20,00,28,00,70,00,72,00,6f,00,\
  64,00,29,00,00,00,74,00,68,00,31,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,\
  00,6e,00,6d,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,\
  20,00,28,00,70,00,72,00,6f,00,64,00,29,00,00,00,74,00,68,00,31,00,2e,00,6e,\
  00,6f,00,2e,00,63,00,67,00,2e,00,6c,00,61,00,62,00,2e,00,6e,00,6d,00,73,00,\
  2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,00,00,77,00,62,00,33,\
  00,63,00,6f,00,2e,00,73,00,6f,00,63,00,2e,00,73,00,68,00,61,00,77,00,2e,00,\
  63,00,61,00,00,00,73,00,72,00,31,00,2e,00,6e,00,6f,00,2e,00,63,00,67,00,2e,\
  00,6f,00,73,00,73,00,2e,00,6d,00,6c,00,62,00,2e,00,69,00,6e,00,65,00,74,00,\
  00,00,74,00,68,00,31,00,30,00,2d,00,70,00,72,00,6f,00,64,00,00,00,61,00,70,\
  00,70,00,36,00,73,00,6f,00,63,00,6c,00,61,00,62,00,00,00,00,00

ファイルは3000行以上あるため、すべてを投稿するわけではありません。ファイルのUnicodeバージョン(変換前)は次のように始まっています。ÿþ各文字の間にはスペースがあり、各新しい行の間には空行があります。例:

ÿþW i n d o w s   R e g i s t r y   E d i t o r   V e r s i o n   5 . 0 0 


[ H K E Y _ U S E R S \ S i m o n T a t h a m \ S o f t w a r e \ S i m o n T a t h a m ]


[ H K E Y _ U S E R S \ S i m o n T a t h a m \ S o f t w a r e \ S i m o n   T a t h a m \ P u T T Y ]

答え1

問題は、HKEY_USERSWindows インストールとマージするレジストリ ファイルの ID が異なることです。

Putty 構成を新しい Windows 7 環境にエクスポートするときにもまったく同じ問題が発生しました。解決方法は次のとおりです。

  • putty.regファイルを右クリックし、「編集」オプションを選択します。
  • マシン上でregeditを開いてputtyの設定をマージします
  • 新しいマシンからユーザーID番号をコピーしますHKEY_USERS\\*your user ID# is here*
  • putty.regの編集ウィンドウで古いID番号を新しいID番号に置き換えます。
  • レジストリ ファイルを問題なくマージできるはずです。

答え2

これを cmd プロンプトから実行する場合は、スタート メニューの cmd アイコンを右クリックして、「管理者として実行」を選択する必要があります。システムの管理者権限が既にある場合でも、この操作を行う必要があります。

その後、レジストリ エントリをマージできるようになります。

答え3

Windows 10 に移行したときにこのエラーが発生しました。

私は上記の組み合わせを実行して自分の問題を修正しました。
エクスポートすると、HKEY_Users\myname\Software... からのキーが Unicode 形式で保存されました。

私はファイルに対してグローバル置換を実行し、HKEY_Users\myname を HKEY_CURRENT_USER\ に置き換えました。その結果、ファイル内の行は次のようになりました: [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions]

その後、ANSI として保存する必要がありました。 Regedit を「管理者として」実行し、ファイル/インポート メニューからインポートしました。

これが誰かの役に立つことを願います。

答え4

緊急ブートCDを試す(http://www.prime-expert.com/ebcd/) オフライン レジストリ エディターが含まれているため、古いアカウント (HKEY_USERS\OldUsername) からレジストリ キーをエクスポートし、新しいアカウント (HKEY_USERS\NewUsername) にインポートできます。

EBCD は 25 ドルのシェアウェアです。エクスポートとインポートはテキスト (.REG) またはバイナリ形式で行うことができます。バイナリ形式はネイティブ NT ハイブと同じなので、キーのすべてのメタデータと権限が保持されます。

関連情報