【发布时间】:2016-02-11 21:05:56
【问题描述】:
我创建了一个 VBS 脚本,当在 Windows 8 家庭计算机上手动运行时,即使在没有管理员权限的 ID 上也能正常运行。无论我使用什么用户凭据通过计算机启动时的计划任务运行它,相同的脚本都会反复失败。我已经尝试了机器上的系统、管理员和非特权用户 ID,但都没有成功。
同样的 VBS 脚本在多台 Windows 7 和 Windows 8.1 Home 和 Professional 计算机上从计划任务运行时完全没有问题。
此脚本尝试成功 ping 一个网站,并在成功 ping 后将数据以本地计算机的当前时间 POST 到网页。
boolExitFlag = False
Do
If Ping("HOSTNAME") Then
Call pingsuccess
boolExitFlag = True
End If
WScript.sleep 1000
Loop while boolExitFlag <> True
Sub pingsuccess
set oHTTP = CreateObject("Microsoft.XMLHTTP")
oHTTP.open "POST", "URL",false
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "Content-Length", Len("send=send&time=" & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now))
oHTTP.send "send=send&time=" & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
End Sub
Function Ping(strHost)
Dim oPing, oRetStatus, bReturn
Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address='" & strHost & "'")
For Each oRetStatus In oPing
If IsNull(oRetStatus.StatusCode) Or oRetStatus.StatusCode <> 0 Then
bReturn = False
Else
bReturn = True
End If
Set oRetStatus = Nothing
Next
Set oPing = Nothing
Ping = bReturn
End Function
当计划任务在 Windows 8 机器上运行时,我看到 “任务当前正在运行。(0x41301)”没有成功。除了编写批处理脚本来运行 VBS 脚本之外,我已经尝试了几乎所有方法来尝试使其正常工作。不过,这似乎过于不必要了。
【问题讨论】:
标签: post vbscript windows-8 scheduled-tasks