重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

閲覧ありがとうございます。
タスクスケジューラを利用して、コマンドラインから
非対話的に特定PCにおいてDHCPの停止と再開を行いたいのですが、
どのように記述すれば良いのか分かりません。
子供が使うPCのインターネット回線を制御したいため、
プログラムにipconfig、引数に/releaseや/renewを設定たのですが、
再起動で回避されていまいます。
何卒ご教示のほど、よろしくお願い申し上げます。

OS:Windows 7 Ultimate SP1

A 回答 (1件)

netshコマンドを使えばどうでしょうか。



DHCPに設定した状態で、コマンドプロンプトから、
netsh interface dump > dhcp.txt

次にDHCPでなく固定IP設定で、通信不可能な値(1.1.1.1とか)を設定して、同じく、
netsh interface dump > error.txt

タスクスケジューラーでは、netsh < dhcp.txt とか netsh < error.txt とかすれば、状態が復元されます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ご提示いただきました内容を参考に、若干ご教示いただきました内容とは
手法が異なりましたが、うまく動作いたしました。
なお、タスクスケジューラに設定した内容は下記となります。

コマンドプロンプトからipconfigを出力させたところ
インターフェイスの構成が"ローカル エリア接続"となっていたため、
タスクの作成から、操作→新規→操作→プログラムの開始→プログラム/スクリプト→
netshと記述→引数の追加(オプション)→
interface ip set address "ローカル エリア接続" static 254.255.0.1 255.255.255.0 192.168.1.1
と言う設定で停止させ、引数を
interface ip set address "ローカル エリア接続" dhcp
に変更したもので再開とさせることで動作いたしました。
ほかの方のために記述いたしますと、DHCPをカットし固定IP化をさせ、
返り値にエラーとなる数値を割り当てることで、
インターネット回線を遮断し、DHCPに戻すことで自動的に復帰すると言う流れとなります。
なお、この内容は、http://www.atmarkit.co.jp/fwin2k/win2ktips/1264n …
より拝借いたしました。

お礼日時:2012/05/28 17:12

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