我工作的IT公司要求我制作一个脚本,可以下载所需的文件并将其存储在文件夹中,以便以后安装
这是我使用的代码
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write xHttp.ResponseBody
BS.savetofile "putty.exe", 2 '//overwrite
If objFileSys.FileExists("putty.exe") Then
objFileSys.DeleteFile "putty.exe"
BS.SaveToFile "putty.exe", 2
Set objFile = objFso.GetFile("putty.exe")
'* If the file doesn't exist, it will be downloaded here.
Else
BS.SaveToFile "putty.exe", 2
Set objFile = objFso.GetFile("putty.exe")
End If
此代码没有问题,但是,此代码有:
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write xHttp.ResponseBody
' If the file does exist, it will be deleted and re-downloaded.
If objFileSys.FileExists("" + strDirectory + "\putty.exe") Then
objFileSys.DeleteFile "" + strDirectory + "\putty.exe"
BS.SaveToFile "" + strDirectory + "\putty.exe", 2
Set objFile = objFso.GetFile("" + strDirectory + "\putty.exe")
' If the file doesn't exist, it will be downloaded here.
Else
BS.SaveToFile "" + strDirectory + "\putty.exe", 2
Set objFile = objFso.GetFile("" + strDirectory + "\putty.exe")
End If
出于某种原因,防病毒软件(sophos)会标记第二个代码,但我不确定为什么
您可以看到的第一个代码只是下载文件并将其保存到.vbs,这是公司不喜欢的问题。我试图把文件放在C:中,但你需要管理员权限,这意味着你需要以管理员身份登录(ugh)
因此,我让脚本将所有需要的文件放入临时文件夹,“strDirectory”转到“C:\Users\NAME\AppData\Roaming\Work”我这样做的原因是,脚本将收集PC的用户名,即Bob,因此它将转到“C:\Users\Bob\AppData\Roaming\Work”示例: “C:\Users\”+PC NAME+“\AppData\Roaming\Work”
但是又是杀毒标志,我不知道为什么
谢谢
PS这不是我的脚本我在stackoverflow上找到的,我刚刚编辑过它以满足我的需要
PSS我无法上传公司问题的完整代码,但错误在下载部分
这两个脚本是相似的,但只是一个小的变化可以产生很大的差异
第一个限制为将可执行文件保存在执行脚本的位置
第二个不受限制,理论上可以将可执行文件保存在目标机器上的任何位置(取决于本地安全性、脚本的执行权限等)。
这是防病毒软件包的潜在危险信号,可能是第二个脚本被标记的原因。在不删除杀毒软件(我不建议这样做)的情况下,唯一的建议是在软件包支持的情况下将脚本列入白名单
通常,在企业网络中,防病毒软件是集中处理的,因此有可能从中央管理门户网站将脚本列入白名单,但您需要与IT基础架构团队沟通以促进这一过程
相关问题 更多 >
编程相关推荐