バッチファイルでのDNSサフィックス設定

このQ&Aのポイント
  • バッチファイルを使用してWindows7のネットワーク設定を効率的に行いたい場合、DNSサフィックスの設定方法がわかりません。
  • 具体的な手順は、「スタート」→「コントロールパネル」→「ネットワークと共有センター」→「アダプタの設定変更」→「ローカル接続エリア(を右クリック)」→「プロパティ」→「インターネットプロトコルバージョン4(のプロパティ)」→「全般タブの詳細設定ボタン」→「DNSタブの「この接続のDNSサフィックス」」です。
  • バッチファイルで「この接続のDNSサフィックス」の設定方法をわかりやすく説明してください。
回答を見る
  • ベストアンサー

バッチファイルでのDNSサフィックス設定

環境: OS:Windows7(32bit) 職場で複数台のPCのネットワーク設定をすることになりました。 バッチファイルを作成しようと思うのですが、いくつかの設定の内、DNSサフィックスだけコマンドでの設定方法がわかりません。 具体的には以下の箇所になります。(コントロールパネルの表示方法は「小さいアイコン」) [スタート] - [コントロールパネル] - [ネットワークと共有センター] - [アダプタの設定変更] - [ローカル接続エリア(を右クリック)] - [プロパティ] - [インターネットプロトコルバージョン4(のプロパティ)] - [全般タブの詳細設定ボタン] - [DNSタブの「この接続のDNSサフィックス」] ちなみに「以下のDNSサフィックスを順に追加する」の箇所はバッチファイルでの設定方法はわかっております。 「この接続のDNSサフィックス」の欄に設定する方法が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.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/dd315292.aspx VBスクリプトならVBスクリプトからWMIを使用する方法として下記を参考にして下さい。 http://www.wmifun.net/sample/win32_networkadapterconfiguration.html どちらのサンプルともにも言えることですが、設定する条件をIPEnabledとしているので 「ローカルエリア接続」だけに設定するためには、もう少しネットワーク接続名を特定する必要があります。 (GUIDよりはましだと思いますが) ネットワーク接続名がPC毎に異なると厳しいのは同じです。 ネットワーク接続の特定方法によってはWMICでも出来るかもしれません。

ultrasorry
質問者

お礼

VB、Powershellはまさに今から勉強しようとしていました。さすがにいつまでもバッチでは限界が。 見た感じ、私はVB利用の方がやりやすいかと。。。 いろいろ検索した結果、<Interface のGUID>がネックなところまではわかっていたのですが、他のやり方が見当がつかなかったところです。 ありがとうございました。とても助かりました!

その他の回答 (1)

  • m0r1_2006
  • ベストアンサー率36% (169/464)
回答No.1

参考 URL の真ん中当たりに netsh で無理だから regini でレジストリいじれとある.

参考URL:
http://pcmemorin.blog.fc2.com/blog-entry-380.html
ultrasorry
質問者

お礼

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

関連するQ&A

  • DNSサフィックス

    こんにちは。ネットワークに詳しい方に質問です。 仕事で、クライアント端末をセットアップしているのですが、ネットワークプリンタのポートを作って接続する際に、DNSサフィックスを付けずに接続できています。 これは、「ローカルエリア接続」のプロパティにある「以下のDNSサフィックスを順に追加する」に、会社のDNSサフィックスを入力しているからなのでしょうか? 「以下のDNSサフィックスを順に追加する」にDNSサフィックスを追加するとどのような効果があるのですか? 教えてください。 よろしくお願いします。

  • この接続のDNSサフィックス について

    環境 OS          :Windows XP、7、8  (DHCP) DNS         :CentOS 6.2 bind (固定IP) 現在テスト環境用にDNSサーバーをlinuxで構築しています。 この環境でクライアントPCのネットワーク設定を確認していたのですが、WindowsのTCP/IPの詳細設定にあるDNSタブの「この接続のDNSサフィックス」についての動きが見えず、いまいち理解できません。 これはどのような時に使用する項目なのでしょうか? 「以下のDNSサフィックスを順に~」でDNSサフィックスのリストを登録するとnslookやpingでの名前解決(正引き、逆引き)が出来るのは確認できました。 ですが、「プライマリおよび接続専用のDNSサフィックスを追加する」を選択し、「この接続のDNSサフィックス」を設定しても名前解決が出来ません。 接続専用のDNSサフィックスとは「この接続のDNSサフィックス」で設定していたものを指しているものと考えていたのですが間違っていたでしょうか。 クライアントPCの前提条件  ・システムのプロパティで設定する「DNS サフィックスと NetBIOS コンピュータ名」は未設定  ・ドメインではなくWORKGROUPでの運用  ・TCP/IPの設定でDNSサーバーのアドレスは「192.168.10.100」のみ(プライマリのみ)指定 この設定で「この接続のDNSサフィックス」での名前解決ができませんでした。 http://okwave.jp/qa/q1617383.html こちらを確認したところ、「この接続のDNSサフィックス」は接続毎に専用のDNSサフィックスを設定可能であると解釈したのですが、検証が取れずどの様な動作が行われるのかが分からないままです。 解釈自体間違っているでしょうか? いまいち理解できていない部分があり質問内容に至らない点があるかとは思いますがよろしくお願い致します。

  • DNSサフィックス

    ネットワーク初心者です。 DNSサフィックスって何ですか? サフィックスを設定していなくてもネットワークが組めるということを聞いたことがあるのですが、サフィックスを設定したときとしていないときは何ができ、何ができないのですか?また、設定したらメリットがあるのですか? よろしくお願いします。

  • DNSサフィックスが有効になっていない?

    ActiveDirectory環境のdomain Aというドメインの中にDCが1台、クライアントが4台あります。 DCは2003SP2でクライアントはXPです。クライアントは全台ドメイン参加しており、ドメイン上にあるファイルサーバ等にアクセスしています。 4台とも問題なかったのですが、うち、1台だけ何かの設定がおかしくなり、共有リソースにアクセスする際に、\\servername.A.local\xxx\yyy\....という感じで、DNSサフィックスを補わない状態でバッチファイルやexeを実行しようとすると、「指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可が無い可能性があります」と表示されます。 アクセス権については、別のPCから問題のPCと同じアカウントでログインして同ファイルサーバ上のリソースには問題なくアクセスできるのを確認しています。 (テストでevryoneをフルコンにしても同様のエラーが出ます) ただし、ディレクトリへファイルをコピーしたり、リネームは可能です。batやexeだけがエラーが出ます。エクセルやワード、メモ帳は開く事が出来ます。 DNSサフィックス設定箇所にはa.localと入力されています。 何が原因なのかわかるようでしたら教えて下さい。

  • XPのTCP/IP詳細設定のDNSタブに書いてあることについて

    お世話になっております。 XPのネットワーク接続のプロパティの TCP/IP詳細設定→DNSタブ に書いてあることについて教えてください http://www.microsoft.com/japan/windowsxp/pro/using/itpro/networking/tcpipdns.asp ↑こちらのページをみましたがどうも具体的にわからないのです。 >1.プライマリおよび各接続の DNS サフィックスを追加する →つまり、これは「非修飾 DNS 名を解決する」方法ですか? 「XXXX.ok.web.jp」とあったら、ブラウザのアドレスバーに「XXXX」と打つだけでWEBページがでるという意味ですか? >2.[プライマリ DNS サフィックスの親サフィックスを追加する] →「DNS サフィックスの親サフィックスを第 2 レベル ドメインまで検索する」方法らしいのですが、親サフィックスってなんでしょうか? 第2レベルドメインはわかるのですが、co.jp とあったら、coのことですよね??? >3.「以下の DNS サフィックスを順に追加する]という意味もイマイチ・・ そんな感じでここの設定がわかりません(/_<。) おしえてください。。。ペコリ(o_ _)o))

  • コンピュータ名のサフィックスについて

    お世話になっております。 Windows2003にIISのサイトを構築し、 http://マシン名/サイト/・・・ で起動を確認して使用もしております。 ところが、 http://マシン名.DNSサフィックス/サイト/・・・ と指定をすると 「サーバーが見つかりません」と、言うエラーが表示されてしまいます。 ipconfigやネットワークのプロパティ等でDNSサフィックスを確認すると 正しい内容が確認できます。 設定等足りない箇所があるのでしょうか? それとも、DNSサフィックス付きでは表示されないものなのでしょうか? 宜しくお願い致します。

  • DNSサフィックスの設定を変更するプログラムについて

    DNSサフィックスの設定を変更するプログラムについて Windowsのローカルエリアネットワークで設定されている「このDNSのサフィックス(※)」のテキストボックス内に記載されている内容をプログラム(VC++)で変更しようと調査しているのですが、分からず困っています。 ※ 設定を変更したい場所の詳細は添付画像をご確認下さい。 ご存知の方がいましたら、ご教授下さい。 宜しくお願い致します。

  • DNSサフィックスを追加するVBS

    DNSサフィックスを追加するVBS Serverを移行し、ClientPC(XPが対象で設定)に名前解決がうまくいっていないPCがあります。 LoginScriptにDNSサフィックスを追加するVBSを仕込み 追加したいのですが、どのようにすれば追加出来るでしょうか? なお、追加したサフィックスは2個あり、2個ともに、優先度1・2・既存を考えてます -----以下、MSのサンプルを見ました。 SET WSHShell = CreateObject("WScript.Shell") WSHShell.RegWrite "HKLM\System\CurrentControlSet\Services\TCPIP\Parameters\SearchList", "testadatum.com,test2adatum.net,test3adatum.gov", "REG_SZ" PC毎に既存の設定をクリアするのは気が引けますし 上記だと、既存の設定が消えてしまいます。 追加するには、http://support.microsoft.com/kb/275553/ja のように する以外ないでしょうか <参考> ClientPCのネットワーク設定>DNSは「以下のDNSサフィックスを順に追加する」に ほとんどが設定されており、スクリプトでなんとかならないか調べてます。 どなたかご教授下さい。

  • XPのTCP/IP詳細設定のDNSタブ

    お世話になっております。 以前にも質問したのですが、よく考えてみると、まだわからないことがありましたので質問します。 XPのネットワーク接続のプロパティの TCP/IP詳細設定→DNSタブ に書いてあることについて教えてください http://www.microsoft.com/japan/windowsxp/pro/using/itpro/networking/tcpipdns.asp 1.[プライマリおよび接続専用の DNS サフィックスを追加する] というところがありますが、ここにかいている「プライマリ」とはシステムのプロパティのコンピュータ名タブ→変更→詳細 のところにかいてあるものだとおもいますが、ここを設定して、「非修飾 DNS 名を解決する」というように↑のURLでは書いてありますが、私の環境では、ドメイン(ActiveDirectry)を設定していて、個々のパソコンでは、そのドメインの名前がはいっています。ドメインとそのDNSの関係がいまいちわかりません。 なぜそのドメインの名前を設定すると、、「非修飾 DNS 名を解決する」につながるのでしょうか? 2..[プライマリおよび接続専用の DNS サフィックスを追加する]   この「接続専用の・・」という意味はなんでしょうか 混乱気味ですので、詳細に説明してくださる方おまちしております。。 よろしくお願いいたします。

  • regファイルでDNSの設定を変更したいのですが・・・。

    regファイルでDNSの設定を変更したいのですが・・・。 Windows XPの環境で、TCP/IP詳細設定の中のDNSの項目で、 「この接続のDNSサフィックス(S)」欄に入力されている値の消し方がどうしてもわかりません。 どなたかregファイルの設定を教えていただければと思います。