- ベストアンサー
作業前/作業後のレジストリ比較方法について
- Windows Server 2008 R2 SP1での作業前/作業後のレジストリ比較方法を教えてください。
- 「DF」というフリーソフトで作業前/作業後のレジストリを比較できない理由を教えてください。
- 作業前にレジストリエクスポートし、作業後にもエクスポートして比較したいが、インストールできない場合にほかの方法はありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> Windows標準コマンドで比較できる方法があれば、ありがたいです。 コマンドを使えるかたにはpowershell のcompareコマンドレットが便利だと思います。 object処理ですのでテキストファイルだけではなく、registryなども可能です。 --- powershellのヘルプまたはマイクロソフトの説明および事例のページを参照してください。 「Compare-Object コマンドレットの使用」 https://technet.microsoft.com/ja-jp/library/ee156812.aspx
その他の回答 (3)
- toi_awase_01
- ベストアンサー率31% (133/429)
少し面倒ですが、DF.exeでそれぞれを比較できます。 レジストリーファイルをそのままでは、DF.exeでは扱えません。 レジストリーファイルはメモ帳で開けるので、開いて中身を全て 複写して別のメモ帳へ貼り付けて、XXX.txtで保存して下さい。 同様に比較したいレジストリーファイルも別のメモ帳へコピペして YYY.txtで保存して下さい。 このXXX.txtとYYY.txtをDF.exeへ夫々ドロップすると比較結果が 正しく表示されます。 何故、そうしないとイケナイのか。。。分かりません。(笑)
お礼
ありがとうございます。 サクラエディタにレジストリをドラッグアンドドロップして「名前を付けて保存」を選択する際に「文字コードセット」が「Unicode」になっていました。 DFで「文字コードセット」が「Unicode」のテキストファイルを比較したところ、開かれたテキストファイルが文字化けしていたので「文字コードセット」が「Unicode」はDFでは扱うことができないようです。 試しにレジストリを「文字コードセット」を「SJIS」にして保存したところ、開かれたファイルが文字化けせずに比較できました。
- mk48a
- ベストアンサー率56% (1133/2007)
DFで比較できない理由はわかりませんが、ここはテキスト比較の定番のWinMergeを試してみてはどうでしょうか? インストール不要のポータブル版が作成されています。 http://portableapps.com/apps/utilities/winmerge_portable インストールではなく、バイナリの使用がダメだと使えませんが。 Webで差分を解析してくれるサービスもあります。 https://www.google.co.jp/search?q=%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88DIFF+%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&ie=utf-8&oe=utf-8&hl=ja ただし、会社の業務データの場合はダメな場合が多いので使用の確認をとっておく必要があります。 私に考えられる方法はこれくれいです。
お礼
ありがとうございます。 社内ポリシーで許可されているソフトウェアまたはOS標準のコマンド以外使用できず、外部への接続が遮断されております。 顧客情報程ではないですが、レジストリもシステムを構成する情報なので、外部へのアップロードは禁止されております。 ご紹介頂きましたが方法が使用することができず、ほかに確認できる方法が見つかったため、その方法を検討したいと思います。
- 121CCagent
- ベストアンサー率52% (15527/29843)
直接の回答でなくて申し訳ないのですが http://winmerge.org/ WinMergeとか使えると良いのですが… このあたりのソフトも社内ポリシーに抵触するんでしょうね。 「DF」レジストリが比較できない理由は分かりませんが若しかしたらレジストリだとファイルサイズがデカすぎるのかも。レジストリ全部だと200MBとか超えるのがダメなのかも。一度100KBとか200KBとかにレジストリファイルを分割してみるとか。 レジストリのファイルもバイナリデータでは無いので中身は普通のテキストファイルと同じなので比較できない理由は確かに理解に苦しむところですね。
お礼
ありがとうございます。 取得しているレジストリは、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog」だけなので100MBではなく、373KBです。 OS標準のfcコマンドを使用してできました。 fc /n 作業前のレジストリ 作業後のレジストリで比較することができました。結果は、「FC:相違点は検出されませんでした」でした。 fcコマンドは行単位で見るコマンドなので例えば1行目と3行目に同じ文字列があると相違点があると相違点があると表示されるのでdfでできればよかったのですが・・・。 下記の場合、fcだと差分はbbb、cccとなりますが、dfだと差分はcccとなる ので、dfで何とかできる方法がないかなと調べていました。 作業前/作業後でレジストリに差がないということを証明することが目的なので今回は、fcでもいいのかなと思っております。 ----------- <作業前> aaa bbb ----------- ----------- <作業後> aaa ccc bbb -----------
お礼
ありがとうございます。 必要にせまられてPowerShellを勉強するようになりましたが、そのようなコマンドレッドがあることは知りませんでした。 今回は、取得した作業前/作業後のレジストリの文字コードをSJISにして別のファイル名で保存して、DFを使用して比較しようと思います。 今回はcompareコマンドレッドは使用しませんが、いつでも使用することができるように勉強したいと思います。