Last-modified: 2012-06-10 (日) 08:37:55 (1901d)

 このサイトのドメイン名は livedoor domainJ-SPEED のダイナミックDNSサービスを利用させて頂いております。どちらのサービスでも、クイックアップデート(特定のURLにアクセスすると、アクセス元のIPアドレスからDDNSのIP登録を更新する)機能が提供されています。これに対応したWSHを作ってみました。
※ 似たような機能をもつソフトではDiCEがメジャーですね。

 

value domainのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト

fileddnsUpdate_20120610.vbs (5.91KB)

cscript //B //Nologo ddnsUpdate.vbs {ddns domainname} {ddns password} [hostname]
  • 個別ホスト名を指定可能とした

fileddnsUpdate_20090904.vbs (4.94KB)

cscript //B //Nologo ddnsUpdate.vbs {ddns hostname} {ddns password}
  • DDNS情報をコマンドライン引数化

fileddnsUpdate_20080328.vbs (4.63KB)

cscript //B //Nologo ddnsUpdate.vbs
  • タスクスケジューラなどで、10分毎に繰り返し実行することを想定しています。
    • 繰り返し時間間隔は、DDNS設定が反映されるタイムラグを考慮して設定します。
  • 利用時には、クイックアップデート用のURL、SMTP等、ファイル上部に記載されている各項目の設定をして下さい。
  • Microsoft.CDOを用いて、SMTP Auth機能を追加しました。
    • GmailのSMTP Serverにも送信可能です。(一部送信先アドレス制限がある?)
  • HTTPレスポンスにはIPアドレス変更情報がないので、DDNS更新前後に nslookup を実行して、IPアドレスの変化を判断しています。
 

livedoor domainのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト

fileddnsUpdate_1.3_hostname.vbs (5.56KB)

cscript //B //Nologo ddnsUpdate_hostname.vbs
  • タスクスケジューラなどで、繰り返し実行することを想定しています。
  • 利用時には、クイックアップデート用のURL、SMTP・POP用の設定をして下さい。
  • POP before SMTP対応のために、AS-POP3を使わせて頂いております。POP before SMTP動作時には、該当DLLの登録が必要です。。(2005/10/04)
  • livedoorのDDNS更新ページのレスポンスはASCII TEXTなので、J-Speed版のような文字コード対応は必要なく、一時ファイルの作成も行いません。
  • レスポンスだけでは、「IPアドレス変更があったかどうか」判別できないので、DDNS更新前に nslookup を実行して、IPの変化をみています。
 

J-SpeedのDDNS更新ページをHTTPリクエストし、IP更新があった場合、イベントログとメールで通知するスクリプト

fileddnsUpdate_1.1.vbs (3.88KB)

cscript //B //Nologo ddnsUpdate.vbs
  • タスクスケジューラなどで、繰り返し実行することを想定しています。
  • 利用時には、クイックアップデート用のURL、SMTP・POP用の設定をして下さい。
  • POP before SMTP対応のために、AS-POP3を使わせて頂いております。POP before SMTP動作時には、該当DLLの登録が必要です。。(2005/10/04)
  • Microsoft.XMLHTTPでテキストをダウンロードする機能はUTF-8(or UTF-16)にしか対応していないので、苦肉の策としてバイナリダウンロードし、Current_DIRに一時ファイルを生成します。そのため、実行にはCurrent_DIRへの書き込み権限が必要です。
  • 技術的なキモは、HTTPダウンロードにはMicrosoft.XMLHTTPとADODB.Streamの組み合わせが好いのじゃないか、というところです。
  • やっぱり、HTTPサーバからの応答がない場合にフリーズしちゃうのは困るので、タイムアウトの設定を追加しました。(2005/06/25)

添付ファイル: fileddnsUpdate_20120610.vbs 1756件 [詳細] fileddnsUpdate_20090904.vbs 2105件 [詳細] fileddnsUpdate_20080328.vbs 2518件 [詳細] fileddnsUpdate_1.3_hostname.vbs 2313件 [詳細] fileddnsUpdate_1.2_hostname.vbs 1093件 [詳細] fileddnsUpdate_1.1.vbs 2413件 [詳細] fileddnsUpdate_1.0.vbs 1103件 [詳細]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS