尽管我是管理员,Windows 8 也不允许我运行 vbscript

尽管我是管理员,Windows 8 也不允许我运行 vbscript

我编写了一个从 Web 服务器下载文件的小型 vbscript。我理解这会让操作系统担心,但我以管理员身份登录,并且希望运行该脚本。

我得到的确切错误是

Error: Permission denied
Code:  800A0046

我怎样才能告诉 Windows 让管理员做他想做的事?

编辑

我把下载脚本放在下面,希望它能帮到你。之前在 Windows XP 上试过,运行起来没问题。但我家里的 Windows 8 不行。

HTTPDownload "http://site.com/fileA.dll", "C:\"
HTTPDownload "http://site.com/fileB.exe", "C:\"

Sub HTTPDownload( myURL, myPath )
    Dim i, objFile, objFSO, objHTTP, strFile, strMsg
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Set objFSO = CreateObject( "Scripting.FileSystemObject" )
    If objFSO.FolderExists( myPath ) Then
        strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) )
    ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then
        strFile = myPath
    Else
        Exit Sub
    End If
    Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )
    Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
    objHTTP.Open "GET", myURL, False
    objHTTP.Send
    For i = 1 To LenB( objHTTP.ResponseBody )
        objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
    Next
    objFile.Close( )
End Sub

答案1

Windows 8 默认禁用所有脚本的执行。这样做是为了确保不需要的脚本永远不会运行。可以重新启用以允许。

操作方法:
01.以管理员模式打开 Powershell。02
.输入:Set-ExecutionPolicy -ExecutionPolicy Unrestricted

这允许执行所有脚本。

重置方法:

设置执行策略 -执行策略未定义

更多信息:共有 6 项政策:

  • restricted [默认] : 仅允许命令。禁止脚本。
  • AllSigned:允许运行受信任(已签名)的脚本
  • RemoteSigned :允许未签名的本地脚本,但允许来自外部来源的签名脚本
  • 不受限制:允许所有脚本运行,但在运行外部脚本之前会发出警告
  • 绕过:没有任何限制。
  • 未定义:当前范围内未定义。
  • 欲了解更多信息,请访问: 执行策略

    相关内容