我编写了一个从 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 项政策:
欲了解更多信息,请访问: 执行策略