我创建了一个VBS脚本,即使在没有管理员权限的ID上,也可以在Windows 8 Home计算机上手动运行时完美运行。无论我用什么用户凭据通过计算机启动时的计划任务运行它,同样的脚本都会反复失败。我已经尝试过机器上的系统,管理员和非特权用户ID都没有成功。
这个相同的VBS脚本在多个Windows 7以及Windows 8.1 Home和Professional计算机上的计划任务中完全没有问题。
此脚本尝试成功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
当我在Windows 8计算机上运行计划任务时,我看到了 &#34;任务当前正在运行。 (0x41301)&#34;没有成功。我已经尝试了几乎所有尝试在编写批处理脚本以运行VBS脚本之外的工作。这似乎过分没必要了。
答案 0 :(得分:0)
我可以设法让Windows 8运行此VBS脚本的唯一方法是创建一个调用VBS的批处理文件,并选中计划任务中的框以“#34;以最高权限运行”#34; 。没有这两个脚本就不会运行。我不是百分之百确定为什么只有Windows 8在没有这样做的情况下失败。
批处理文件仅包含以下代码。
RecyclerView