因此,我一直在构建蝙蝠/ powershell工具,以使我的工作更轻松。它包含用于根据客户的公司标准修复,修改和配置系统的脚本。在过去的6个月中,我刚刚禁用了会错误地将我的脚本检测为恶意程序的AV程序。
我想解决此问题并切换到一种工作方式,而当我忘记禁用AV时,由于使用它们而不会删除文件。
该系统主要在Powershell中运行,但是由于我们仍在处理许多Windows 7计算机,因此我必须有一个批处理程序来启动脚本来安装powershell模块。同时,它将所有要运行该程序的文件复制到C:下的文件夹中。 我已经研究了bat2exe解决方案,但是为了将其自己和powershell轻松使用,我将所有内容分解为多个小文件。根据我的理解,我也无法将批处理和Powershell编译为一个exe。
我最好只是将其重写为一种编译语言,还是让我的小项目围绕AV的误报而工作的一种方式?
答案 0 :(得分:4)
正确的答案是对脚本进行签名。正确配置A / V的具体过程可能会因不同的A / V工具而异,但是对Powershell脚本进行签名是验证Powershell代码完整性的可靠方法。
对于批处理脚本,我不确定是否可以通过A / V白名单中的目录或文件路径来运行它们。
This blog post包含一些有关自签名Powershell脚本或使用来自AD证书服务的证书的良好信息。
Here is Microsoft's official doc on Powershell script signing as well。
更新:如果您仍在开发脚本,但还没有准备好如注释之一所示对脚本进行签名,那么暂时禁用A / V可能会有些费劲。通常,在开发系统上,工程师将A / V白名单添加(或者,如果他们无权访问,则将其IT部门添加)他们的项目/源文件夹,这应防止A / V干扰您的开发代码。