日々の出来事や調べ物に関するネタを備忘録(Memorandum)として残していくBlogです。

regファイル実行でレジストリキーの効率良い登録/変更作業を行う

必要性に迫られてちょろっと作ってみた。まぁそこまで頻繁に使うものでも無いと思いますが、いざって時にはコマンド一発で上手いことやってくれるので覚えておいて損は無いかと。(併せて、実行には十分気を付けて頂きたい部分ではあります。)

regファイルの構造等に関する分かり易そうな情報は以下の辺りでしょうか。

そして作り方。複数回使うような/横展開(ユーザー数名が同じ処理を実践)する様な類のファイルならば、1回手動でキーを登録し、その内容をエクスポート→生成されたファイルの必要な部分のみを残した形で起動ファイル(*.reg)とした方が手っ取り早い事が分かった。レジストリの項目名やディレクトリ階層の内容を逐一定めていくよりも間違いは無いし何より効率が良かったです。
f:id:shinyaa31:20150210064505p:plain:w500

作成したファイル。上記エクスポートファイルから必要部分(追加したい項目の処理)だけを抜粋した形になっています。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]
"KeepAliveTime"=dword:00007530
"TcpMaxDataRetransmissions"=dword:0000000a
"KeepAliveInterval"=dword:000003e8

実行時の内容。
f:id:shinyaa31:20150210064934p:plain
f:id:shinyaa31:20150210065505p:plain

実行後の結果確認例 at コマンドプロンプト

C:\app>reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    ICSDomain    REG_SZ    mshome.net
    SyncDomainWithMembership    REG_DWORD    0x1
    NV Hostname    REG_SZ    HDL00096
    DataBasePath    REG_EXPAND_SZ    %SystemRoot%\System32\drivers\etc
    NameServer    REG_SZ
    ForwardBroadcasts    REG_DWORD    0x0
    IPEnableRouter    REG_DWORD    0x0
    Domain    REG_SZ
    Hostname    REG_SZ    HDL00096
    SearchList    REG_SZ
    UseDomainNameDevolution    REG_DWORD    0x1
    EnableICMPRedirect    REG_DWORD    0x1
    DeadGWDetectDefault    REG_DWORD    0x1
    DontAddDefaultGatewayDefault    REG_DWORD    0x0
    EnableWsd    REG_DWORD    0x1
    QualifyingDestinationThreshold    REG_DWORD    0x3
    EnableIPAutoConfigurationLimits    REG_DWORD    0x1
    KeepAliveTime    REG_DWORD    0x7530
    TcpMaxDataRetransmissions    REG_DWORD    0xa
    KeepAliveInterval    REG_DWORD    0x3e8