IPアドレスを自動的に取得する方法とは?

このQ&Aのポイント
  • ローカルネットワーク接続の設定でIPアドレスを固定から自動的に取得する方法を教えてください。
  • 使用するIPが「192.164.nn.nn」から「0.0.0.0」と変わるだけでなく、自動的に取得するに変更されないため、Win32_NetworkAdapterConfigurationを使う方法を知りたいです。
  • netshコマンドを使用することもできますが、できればWin32_NetworkAdapterConfigurationを使いたいです。
回答を見る
  • ベストアンサー

IPアドレスを自動的に取得

いつもお世話になります。 VBScriptのご質問です。 ローカルネットワーク接続の設定でIPアドレスを固定から 自動的に取得に変更するという要件なのですが ネットでは、Win32_NetworkAdapterConfigurationクラスの EnableDHCPが紹介されていたので試したところ、 使用するIPが「192.164.nn.nn」から「0.0.0.0」と変わっただけで 自動的に取得するに変更はされていませんでした。 netshコマンドをコマンド実行で埋め込んでもいいのですが 出来れば、Win32_NetworkAdapterConfigurationを使う方法を 知りたいです。 アドバイス宜しくお願い致します。

  • jp000
  • お礼率83% (36/43)

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

  • ベストアンサー
回答No.1

手動で自動取得設定にしたら DHCP からアドレスを受け取れるっていう大前提はクリアしていると勝手に期待しています。 まずはどんなスクリプトを書いたのか、提示できないのでしょうかね。 単純に DHCP を有効にするだけなのか、その他の設定も連動して変更するのかとか、要件があるでしょうに。 私のところでは DHCP 化するにあたり、以下の方針で行いました。 1. DHCP から受け取るもの IP アドレス ルーター(デフォルト ゲートウェイ) のアドレス DNS サーバーのアドレス DNS ドメイン名("この接続の DNSサフィックス" という項目) 2. 静的に設定するもの DNSの検索サフィックス順 (社内に複数のドメインが存在するため) スクリプトは以下のような流れ。 1. 無効化されていないアダプターのうち、DHCP が無効になっているアダプターのコレクションを取得する。 2. コレクションをループして 1つずつのアダプターに設定を以下の行う。 3. 静的に設定されていた DNS サフィックスを空にする。 4. 静的に設定されていた DNS サーバーのアドレスを空にする。 5. 3と4をアダプターごとに行う。 6. コレクション全体に対して DNS 検索サフィックス順を設定する。 Dim locatorObject, serviceObject Set locatorObject = WScript.CreateObject("WbemScripting.SWbemLocator") Set serviceObject = locatorObject.ConnectServer() serviceObject.Security_.ImpersonationLevel = 3 Dim dnsServers, dnsSuffixSearchOrders dnsServers = Array() dnsSuffixSearchOrders = Array("hoge1.local", "hoge2.local", "hoge3.local") Dim ipConfigItems, ipConfig Set ipConfigItems = serviceObject.ExecQuery( _           "SELECT * FROM Win32_NetworkAdapterConfiguration " & _           "WHERE (IPEnabled = True) AND (DHCPEnabled = False)") For Each ipConfig In ipConfigItems   ipConfig.SetDNSDomain()   ipConfig.SetDNSServerSearchOrder(dnsServers)   ipConfig.EnableDHCP() Next Set ipConfigItems = serviceObject.Get("Win32_NetworkAdapterConfiguration") ipConfigItems.SetDNSSuffixSearchOrder(dnsSuffixSearchOrders) 上記コードのインデントは全角空白なので、コピペしたら半角空白にすること。

jp000
質問者

お礼

temtecomai2様 お礼が遅くなりすみませんでした。 丁寧なご説明と、コードまで書いて頂き ありがとうございました。 勉強させて頂きます。

関連するQ&A

  • 固定IPか、自動取得IPかを調べる方法をご教授くだ

    固定IPか、自動取得IPかを調べる方法をご教授ください。 win7を使用しています。 ネットワークと共有センターを開いてみましたが、どうやって今自動IPでつながれているのか 固定IPでつながれているのかわかるのでしょうか? もしくはコマンドプロンプトからもわかりますか? コマンドプロンプトで「ipconfig/all」と打ったら、 IPv4アドレスは、192.168.11.21(優先)となっていました。

  • IPアドレスを自動的に取得するを選んでしまった

    IPアドレスを自動的に取得するを、ネットワーク接続のどこかで設定したら、動きが悪くなったので、元に戻したいんですが、もともと書かれていたIPとサブ?IPを覚えておらず、しかも、どこでIPを自動的に取得するを選んだかも覚えていません。 自分はXPでADSL12Mで固定IP契約じゃないんですが、どうにか、元に戻す方法、分からないでしょうか? 困ってます。 おねがいします。

  • コマンドでネットワーク設定を自動取得に戻したい

    手動にて設定された固定値のネットワーク接続設定に対して、 これを自動的に取得するへ戻したいと思いました。 netsh コマンドを調べてみたところ、 固定値の設定方法は沢山見るものの、 自動取得に戻す設定方法を見つける事が出来ませんでしたので、 コマンドにて戻す方法がありましたらご教示お願いします。

  • CMDによるIPアドレスの変更

    コマンドプロンプトからワイヤレス ネットワーク接続のIPアドレス変更する事ってできるのでしょうか? 変更したい内容は、「IPアドレス」と「サブネット」「デフォルトゲートウェイ」「DNSサーバ」と一式変更したいです。 できるとしたら、具体的にどんなコマンドを打つのでしょうか。 よろしくお願いします。 ちなみに、ローカルエリア接続の変更は以下のコマンドで変更できました。 netsh interface ip set address "ローカル エリア接続" static 192.168.1.1 255.255.255.0 192.168.1.10 netsh interface ip set dns "ローカル エリア接続" static 111.222.333.444 set wins "ローカル エリア接続" static 111.222.333.445 none quit

  • IPアドレスの自動取得について

    社内でのLANで、ルータからIPアドレスを自動取得さ せていたのですが、一部のPCを事情により固定で設定さ せることになりました。 ルータのIPアドレスは192.168.0.1で、自動 取得できる範囲は0.2~0.32までとしてあります。 クライアントはすべてWIN98で、全部で19台ありま す。 そのうち6台を0.20~0.25で固定取得の設定にし ました。ところが、0.20を立ち上げると既にそのアド レスは取得されているという旨のメッセージが出てしまい ました。 自動取得、というのは小さい順に取得していくという訳で はないのでしょうか? また、このようなケースでは、全 部のクライアントを固定にするか、ルータの自動取得の範 囲をせばめるか、どちらかなのでしょうか? アドバイスいただければと思います。宜しくお願い致します。

  • ”IPアドレスを自動的に取得する”に切り替わってしまう

    社内の無線LANに接続しているノートがあるのですが、固定IPを振って接続していました。 ところが、ワイヤレスネットワーク接続のTCP/IPのIPアドレスを設定しても、すぐに自動取得に切り替わってしまいます。 すみませんがお助け下さい。

  • IPアドレスの自動取得・固定取得

    IPアドレスの固定取得、自動取得をバッチファイルで楽に切り替えしたく、下のように作成したのですが、 添付画像のように、DHCPサービスの構成に失敗しました、と出てしまいます。 どこが原因か分かる方いらっしゃいましたらご教授頂けますと幸いです。 以下バッチファイルの中身 ------------------------------------------------------------------------- @echo off echo ******************************* echo 1. IPアドレスを固定取得 echo 2. IPアドレスを自動取得 echo ******************************* set /p i=1か2を選択してください: set name=イーサネット if %i%==1 ( netsh interface ipv4 set add name="%name%" source=static addr="XXX.XXX.XXX.XXX" mask="XXX.XXX.XXX.XXX" netsh interface ipv4 set dnsservers name=%name% source=dhcp ) else if %i%==2 ( netsh interface ipv4 set add name="%name%" source=dhcp netsh interface ipv4 set dnsservers name="%name%" source=dhcp ) else ( echo 1か2を選択してください。 ) pause exit ------------------------------------------------------------------------- (当たり前ですがXXX.XXX.XXX.XXXの部分は該当のIPアドレスを振っています) お手数おかけしますが、何卒よろしくお願いいたします。

  • IPアドレスについて

    ネットワークを構築しています。 ハード環境  サーバー PC-1:Win XP  PC-2:Win 98SE  PC-3:Win Me  Printer:ネットワークプリンタとして設定 其々のPCに固定IPと自動取得IPを併用して 2つのネットワーク接続設定しています。 PC-3がプリンターが使用できなくなりました。 各PCのIPアドレスは下記のとおりです。 自動取得IPは、インターネット使用(ルータモデム経由) 固定IP、はサーバーデータを使用 サーバ:接続(固定)192.168.1.1 PC-1:接続1(固定)192.168.1.11 接続2(自動)192.168.1.10 PC-2:接続1(固定)192.168.1.12 接続2(自動)192.168.1.11 PC-3:接続1(固定)192.168.1.13 接続2(自動)192.168.1.12 プリンタ-:192.168.1.200 という設定になっています。 固定IPと自動取得のIPが重複してしまってるのが 気になるのですが。PC-3だけがプリンターが使用できない 状態です。 どうすれば良いのかわかりません。

  • IP アドレスの変更

    ネットワークカメラをクロスイーサケーブルで PC に接続し、ipconfig コマンドを実行すると。 イーサネット アダプタ ローカルエリア接続: 自動構成 IPv4 アドレス .. : 169.254.163.69 と表示されます。 これがネットワークカメラに設定されている IP アドレスだと思うのですが、これを MS DOS コマンドまたは Windows の機能を使って 192.168.0.xxx に変更することは出来るのでしょうか。

  • IPアドレス。。

    WinXPでフレッツADSLを使用しています。  ネットワーク接続のローカルエリア接続にマウスを重ねると左下の詳細にIPアドとサブネットマスクが表示されると思います。このIPアドわ自動取得になっています。このIPはいつ取得されるのでしょうか?PCの電源を入れる度にでしょうか?それともAM0:00でかわってしまうのでしょうか?固定したいのですがすると支障きたすこともあるので中々固定しづらい状況なので・・・。