【问题标题】:VBS script fails to run when called as a Scheduled Task in Windows 8在 Windows 8 中作为计划任务调用时,VBS 脚本无法运行
【发布时间】: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


    【解决方案1】:

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

    批处理文件只包含以下代码。

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

    【讨论】:

    • 如果计算机从冷启动状态打开,此解决方案仍然无法在 Windows 8 中运行。如果重新启动,脚本运行没有问题....什么给出了??
    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 2014-05-05
    • 2020-07-07
    相关资源
    最近更新 更多