システムメンテナンスのお知らせ

netshコマンドを使用して、
IPアドレスを固定にするバッチと、自動取得にするバッチを作成致しました。

自動取得のバッチがうまく動いてくれません。

”DHCP はこのインターフェイスで既に有効です。”表示します。

個別には動くようですが、連続して行うとエラーになってしまいます。
エラーがでた後でも、
インタネットプロトコルTCP/IPv4のプロパティを開き、OKを押下してから、
再度バッチを実行すると成功するようです。

windows7とwindows8の2台で試しましたが同じ症状でした。
アカウントもadministrator権限で、
”管理者にて実行する”でバッチを起動させております。

netshコマンドとOSが対応していないのでしょうか?
手動登録する際の”TCP/IPの警告”が止めてしまっているのでしょうか?

以下が作成たバッチ内容です。

固定.bat
====ここから============
@echo off

echo.
echo ===========================
echo 「IPアドレス」の設定 [固定]
echo ===========================
echo.

rem ----- 環境変数の設定 -----
set INTERFACE=ワイヤレス ネットワーク接続

set IP=192.168.1.100

set SUBNET=255.255.255.0

set GATEWAY=192.168.1.254

rem -----「IPアドレス」の設定 -----
netsh interface ipv4 set add name="%INTERFACE%" source=static addr="%IP%" mask="%SUBNET%" gateway="%GATEWAY%" gwmetric=1

pause

exit
====ここまで============

自動.bat
====ここから============

@echo off

echo.
echo ==================================
echo 「IPアドレス」の設定 [自動]【既定】
echo ==================================
echo.

rem ----- 環境変数の設定 -----
set INTERFACE=ワイヤレス ネットワーク接続

rem -----「IPアドレス」の設定 -----
netsh interface ipv4 set address name="%INTERFACE%" source=dhcp

pause

exit

====ここまで============

gooドクター

A 回答 (2件)

>固定にしたいときに固定bat、自動にしたいときに自動batを叩くという使い方です。


自動→固定→自動→固定・・・・
ということですか。
>連続して行うとエラーになってしまいます。
自動にした場合、DHCPサーバーからIPアドレスの払い下げをしてもらいます。
ワイヤレスとの事ですし、IPをもらうのに時間がかかっているのではないでしょうか?

エラーメッセージとは関係ないと思いますが、
DNSサーバーの設定が無いのは、省略しているだけですか?
    • good
    • 1
この回答へのお礼

gao57830さん
何度もありがとうございます。

確かにその辺り考慮しないで作成しました。
手動で固定IP設定させた状態から、自動バッチを叩くと成功するので
待機時間の関係かもしれませんね。
そしてそれを組み込むのはC0L0020さんがおっしゃる通り自分には骨が折れそうです

dnsは不要なので省略しております。
dns未登録がエラーを引き起こしているのかと思い、
dnsありも試してみましたがエラーは同じでした。

お礼日時:2015/12/14 16:26

自動.batを連続して実行すると、エラーが出るということですよね?


恐らくですが、そのエラーを消すことは出来ないと思います。
どうしてもエラーにしたくないのであれば、かなり面倒ですが、
現在の設定を確認して、DHCPになっていたらコマンドを実行しないようにする事です。

ちなみに、固定.batの
rem -----「IPアドレス」の設定 -----
netsh interface ipv4 set add name="%INTERFACE%"

※set addはおかしくないですか?
    • good
    • 0
この回答へのお礼

gao57830さん
ご回答ありがとうございます。
連続というとニュアンスが変わってしまいますが、固定にしたいときに固定bat、自動にしたいときに自動batを叩くという使い方です。
本当はset addressですよね、色々調べてみたところset addのサイトがあったのでマネしてみました。

お礼日時:2015/12/11 18:19

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

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

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング