アプリ版:「スタンプのみでお礼する」機能のリリースについて

環境:
OS:Windows7(32bit)

職場で複数台のPCのネットワーク設定をすることになりました。

バッチファイルを作成しようと思うのですが、いくつかの設定の内、DNSサフィックスだけコマンドでの設定方法がわかりません。

具体的には以下の箇所になります。(コントロールパネルの表示方法は「小さいアイコン」)

[スタート] - [コントロールパネル] - [ネットワークと共有センター] - [アダプタの設定変更] - [ローカル接続エリア(を右クリック)] - [プロパティ] - [インターネットプロトコルバージョン4(のプロパティ)] - [全般タブの詳細設定ボタン] - [DNSタブの「この接続のDNSサフィックス」]

ちなみに「以下のDNSサフィックスを順に追加する」の箇所はバッチファイルでの設定方法はわかっております。

「この接続のDNSサフィックス」の欄に設定する方法が知りたいです。

「バッチファイルでのDNSサフィックス設定」の質問画像

A 回答 (2件)

レジストリの場所は下記になると思います。


GUIで設定をしてレジストリの変化を確認すればわかると思います。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Interface のGUID>\Domain

バッチ化する上で問題となるのは、インターフェースのGUIDがPC毎に異なることに有ると思います。
なんらかの方法でGUIDを取得してそれを元にレジストリ設定のコマンドを作成するようにバッチを組むことになるのかなと思います。

GUIDの取得についてあまりいい方法が思いつかないのですが、

getmac /v /fo list

上記コマンドで取得した結果からGUIDを切り出すようにすれば出来ることは出来そうです。
※ネットワーク接続名がPC毎に異なるとそもそもバッチでの変更は難しくなるので注意

もう少しましな方法としてはWMIを使用する方法が考えられます。

設定すべきところは
Win32_NetworkAdapterConfiguration プロバイダの
SetDNSDomain メソッド
になります。

PowerShellが使用出来るのであれば、
下記Webサイトの「ネットワーク アダプターの DNS ドメインの割り当て」を参考にして下さい。
http://technet.microsoft.com/ja-jp/library/dd315 …

VBスクリプトならVBスクリプトからWMIを使用する方法として下記を参考にして下さい。
http://www.wmifun.net/sample/win32_networkadapte …

どちらのサンプルともにも言えることですが、設定する条件をIPEnabledとしているので
「ローカルエリア接続」だけに設定するためには、もう少しネットワーク接続名を特定する必要があります。
(GUIDよりはましだと思いますが)
ネットワーク接続名がPC毎に異なると厳しいのは同じです。

ネットワーク接続の特定方法によってはWMICでも出来るかもしれません。
    • good
    • 1
この回答へのお礼

VB、Powershellはまさに今から勉強しようとしていました。さすがにいつまでもバッチでは限界が。
見た感じ、私はVB利用の方がやりやすいかと。。。

いろいろ検索した結果、<Interface のGUID>がネックなところまではわかっていたのですが、他のやり方が見当がつかなかったところです。

ありがとうございました。とても助かりました!

お礼日時:2013/10/22 00:48

参考 URL


の真ん中当たりに

netsh で無理だから

regini でレジストリいじれとある.

参考URL:http://pcmemorin.blog.fc2.com/blog-entry-380.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

私もそのURLを見ましたが、そのやり方は「以下のDNSサフィックスを追加する」の箇所の設定方法でした。
私が知りたかったのは「この接続のDNSサフィックス」の箇所です。調べても出てきません・・

お礼日時:2013/10/21 00:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています