実行結果はイベントログの Application ログに記録される。
ddns-xgj-update.wsf
<job id="ddns update job"> <comment>DDNS Update for xgj.jp</comment> <object id="WshShell" progid="WScript.Shell" /> <object id="objIE" progid="InternetExplorer.Application" /> <object id="adoStream" progid="ADODB.Stream" /> <script language="JScript"> function encodeBody(str){return encodeURIComponent(str);} </script> <script language="VBScript"> Option Explicit Const HOST_NAME = "hostname" Const PASSWORD = "password" Const TIMEOUT = 10 Const UPDATE_URL = "https://www.xgj.jp/ddns_mod.php" Const HEADER_OPTION = "Content-type: application/x-www-form-urlencoded" Const evError = 1 Const evInfo = 4 Dim postData,countdown,resultText adoStream.Open adoStream.Charset = "Shift_JIS" adoStream.WriteText "host=" & encodeBody(HOST_NAME) & "&pass=" & encodeBody(PASSWORD) adoStream.Position = 0 adoStream.Type = 1 postData = adoStream.Read adoStream.Close objIE.Navigate UPDATE_URL,,,postData,HEADER_OPTION & vbCrLf countdown = TIMEOUT * 2 Do While objIE.Busy Or objIE.readystate <> 4 WScript.Sleep 500 countdown = countdown - 1 If countdown <= 0 Then Exit Do Loop If countdown <= 0 Then WshShell.LogEvent evError, REMOTE_CHECK & " Timeout." Else resultText = objIE.Document.body.innerText If Left(resultText,1) = "O" Then WshShell.LogEvent evInfo,resultText Else WshShell.LogEvent evError,resultText End If End If objIE.Quit </script> </job>