Post VBS脚本在Windows 8中作为计划任务调用时无法运行

Post VBS脚本在Windows 8中作为计划任务调用时无法运行,post,vbscript,windows-8,scheduled-tasks,Post,Vbscript,Windows 8,Scheduled Tasks,我创建了一个VBS脚本,在Windows 8家用计算机上手动运行时,即使在没有管理员权限的ID上,它也能运行得非常好。无论我在计算机启动时使用何种用户凭据来运行该脚本,它都会重复失败。我尝试了机器上的系统、管理员和非特权用户ID,但都没有成功 在多台Windows 7、Windows 8.1家用和专业计算机上从计划任务运行此VBS脚本时,根本没有任何问题 此脚本尝试成功ping网站,成功ping后,将使用本地计算机的当前时间将数据发布到网页 boolExitFlag = False Do

我创建了一个VBS脚本,在Windows 8家用计算机上手动运行时,即使在没有管理员权限的ID上,它也能运行得非常好。无论我在计算机启动时使用何种用户凭据来运行该脚本,它都会重复失败。我尝试了机器上的系统、管理员和非特权用户ID,但都没有成功

在多台Windows 7、Windows 8.1家用和专业计算机上从计划任务运行此VBS脚本时,根本没有任何问题

此脚本尝试成功ping网站,成功ping后,将使用本地计算机的当前时间将数据发布到网页

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
boolExitFlag=False
做
如果Ping(“主机名”),则
呼叫pingsuccess
boolExitFlag=True
如果结束
WScript.sleep 1000
在boolExitFlag为True时循环
亚平成功
设置oHTTP=CreateObject(“Microsoft.XMLHTTP”)
oHTTP.open“POST”,“URL”,false
oHTTP.setRequestHeader“内容类型”、“应用程序/x-www-form-urlencoded”
oHTTP.setRequestHeader“内容长度”,Len(“send=send&time=”&Hour(Now)&“&Minute(Now)&“&Second(Now))
oHTTP.send“send=send&time=“&Hour(Now)&”:“&Minute(Now)&”:“&Second(Now)
端接头
函数Ping(strHost)
昏昏欲睡
设置oPing=GetObject(“winmgmts:{impersonationLevel=impersonate}”).ExecQuery(“从Win32中选择*,其中地址=””&strHost&“”)
对于oPing中的每个oRetStatus
如果为空(oRetStatus.StatusCode)或oRetStatus.StatusCode 0,则
bReturn=False
其他的
bReturn=True
如果结束
设置oRetStatus=无
下一个
设置oPing=无
Ping=bReturn
端函数
当计划任务在Windows8机器上运行时,我看到
“任务当前正在运行。(0x41301)”未成功。除了编写一个批处理脚本来运行VBS脚本之外,我已经尝试了几乎所有的方法来实现这一点。不过,这似乎太不必要了。

我能够设法让Windows 8运行此VBS脚本的唯一方法是创建一个名为VBS的批处理文件,并选中计划任务中的“以最高权限运行”框。如果没有这两个脚本,脚本将无法运行。我不能100%确定为什么只有Windows8在没有这样做的情况下惨遭失败

批处理文件仅包含以下代码

start "" "C:\path\to\script.vbs"

如果计算机从冷启动打开,此解决方案在Windows 8中仍然不起作用。如果重新启动,脚本将正常运行。。。。什么给??