Option Explicit Dim objArgs, objHttp, strUrl, strParam, strUser, strPass, strErr, strTitle Dim objDOM, objRes, objShell Set objArgs = WScript.Arguments If objArgs.Unnamed.Count <> 3 Or objArgs.Named.Exists("h") Or objArgs.Named.Exists("help") Then WScript.Echo "cscript runtasks.vbs [endpoint url] [user] [api password]" WScript.Quit 0 End If strTitle = "runPeriodicTasks" strUrl = objArgs.Unnamed(0) strUser = objArgs.Unnamed(1) strPass = objArgs.Unnamed(2) Set objHttp = CreateObject("MSXML2.XMLHTTP") Set objDOM = CreateObject("MSXML2.DOMDocument") Set objShell = CreateObject("WScript.Shell") objDOM.Async = False strParam = "" & _ "mt.runPeriodicTasks" & _ "" & strUser & "" & _ "" & strPass & "" & _ "" objHttp.Open "POST", strUrl, False objHttp.SetRequestHeader "Method", "POST " & strUrl & " HTTP/1.1" objHttp.SetRequestHeader "Content-Type", "text/xml" objHttp.Send strParam If objHttp.Status <> 200 Then strErr = "接続できませんでした " & strUrl objShell.LogEvent 1, strErr Err.Raise vbObjectError + 512 + 1, strTitle, strErr WScript.Quit 1 End If objDOM.LoadXML(objHttp.responseText) Set objRes = objDOM.SelectSingleNode("/methodResponse") If objRes Is Nothing Then strErr = "レスポンスがありません " & strUrl objShell.LogEvent 1, strErr Err.Raise vbObjectError + 512 + 2, strTitle, strErr WScript.Quit 1 End If Set objRes = objDOM.SelectSingleNode("/methodResponse/fault") If Not objRes Is Nothing Then strErr = objDOM.SelectSingleNode("/methodResponse/fault/value/struct/member/value/string").text & " " & strUrl objShell.LogEvent 1, strErr Err.Raise vbObjectError + 512 + 3, strTitle, strErr WScript.Quit 1 End If ' objShell.LogEvent 0, "タスクを実行しました " & strUrl