0

以下のvbscriptを使用して、GETリクエストを送信し、現在のユーザーをログオフする必要があります。アイデアは、デフォルトの「ログオフ」スタートメニュー項目をこのスクリプトに置き換えることです。

cscriptで実行すると、9行目にエラーがスローされます。

HTTPGet = IE.document.documentelement.outerhtml

何が悪いのかわかりません。ユーザーをログオフする前に応答を受信するのを待つ必要があるかもしれませんが、上記の行が機能していないように見えるため、すぐにログオフします。

TOKEN = "xxxxx"
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = 0
IE.navigate "https://something.com/?action=create&token=" & TOKEN
Do While IE.Busy
   WScript.Sleep 200  ' see the above notice of change
   Exit Do                  ' prevents script host from going crazy waiting for IE
loop
HTTPGet = IE.document.documentelement.outerhtml
IE.quit
Set IE = Nothing

'WScript.Echo HTTPGet   'good for debugging. shows what you got back.

Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\WINDOWS\system32\shutdown.exe -l"

重要な場合、これはIE8を搭載したWindowsXP専用です。

4

1 に答える 1

1

このコードを試してください:

Set IE = CreateObject("InternetExplorer.Application")
IE.visible = 0
IE.navigate "https://host/?a=" & TOKEN
i = 1
Do While (IE.readyState <> 4)
   WScript.Sleep 1000  ' see the above notice of change
   i = i + 1
   If (i > 10) Then
      Exit Do
   End If
loop
HTTPGet = IE.document.documentElement.outerHTML
IE.Quit()
Set IE = Nothing
于 2013-03-25T12:13:22.227 に答える