You need to enable JavaScript to run this app. 下载的PowerShell脚本被Windows Defender删除的相关技术咨询
优惠活动
大模型
产品
解决方案
定价
更多

下载的PowerShell脚本被Windows Defender删除的相关技术咨询

自有PowerShell脚本被Windows Defender误删相关问题技术解答

一、脚本下载后是否可编程化添加至Windows Defender排除列表

  • 该操作完全可行,属于Windows Defender原生支持的能力,可直接通过PowerShell命令完成,无需依赖第三方工具。
  • 常用的排除规则配置命令(需管理员权限执行,普通用户权限会被系统拒绝修改,规则配置完成后即时生效,无需重启Defender服务):
    • 按文件夹路径添加排除:Add-MpPreference -ExclusionPath "你的自有脚本存储的完整文件夹路径"
    • 按进程添加排除:Add-MpPreference -ExclusionProcess "powershell.exe", "pwsh.exe"
    • 按文件类型添加排除(仅建议在专属隔离的脚本目录场景使用,避免全局开放风险):Add-MpPreference -ExclusionExtension ".ps1", ".psm1"
  • 关键操作提示:必须在脚本下载落地完成的第一时间添加排除规则。如果等Defender完成实时扫描、将文件判定为威胁并删除/隔离后再加排除,被清除的脚本不会自动恢复,需要从Defender隔离区手动还原。

二、Unrestricted执行策略的风险、自签名流程与临时策略切换方案的可行性

Unrestricted执行策略的实际安全边界

  • 相比RemoteSigned策略,Unrestricted的安全约束确实更宽松,但并非无防护的完全开放:
    • 核心规则差异:RemoteSigned要求所有从互联网下载的带Mark-of-the-Web(MotW)标识的脚本必须带有效签名才能运行;Unrestricted不强制要求互联网来源脚本的签名,但会在交互式执行这类文件时弹出确认窗口,要求用户手动授权后才能运行。
    • 真实风险点:如果脚本通过计划任务、无窗口后台进程等非交互方式启动,Unrestricted策略下的用户确认弹窗不会触发,无签名的恶意下载脚本会被直接放行执行,没有额外拦截。

PowerShell脚本自签名(含自签证书)的操作流程

  • 完全可以通过自签名证书完成自有脚本的签名,无需购买商业代码签名证书,所有操作均可通过系统原生PowerShell命令实现:
    1. 在本地用户证书存储生成代码签名类型的自签名证书:
      New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=LocalOwnPSCode" -CertStoreLocation "Cert:\CurrentUser\My"
    2. 将生成的自签名证书复制到本地受信任的根证书、受信任的发布者存储区,避免PowerShell运行时抛出“证书不受信任”的拦截报错:
    • 复制到受信任根目录:Copy-Item "Cert:\CurrentUser\My\<你的证书指纹字符串>" "Cert:\CurrentUser\Root\"
    • 复制到受信任发布者目录:Copy-Item "Cert:\CurrentUser\My\<你的证书指纹字符串>" "Cert:\CurrentUser\TrustedPublisher\"
    1. 对目标脚本添加数字签名:
      Set-AuthenticodeSignature -FilePath "你的脚本完整路径" -Certificate (Get-ChildItem "Cert:\CurrentUser\My" -CodeSigningCert)[0]
  • 签名完成后,保持RemoteSigned执行策略即可正常运行脚本,同时因为脚本不再是无签名的下载文件,被Defender误报删除的概率会大幅降低。

关于“临时切换为Unrestricted策略、下载文件、添加排除后切回RemoteSigned”的方案评估

  • 该方案的逻辑存在认知误区,实际操作中无法达到预期的避免文件被删的效果:
    • PowerShell的执行策略是脚本运行层面的拦截规则,仅作用于PowerShell进程自身的脚本加载流程;Windows Defender的文件扫描是独立的系统级防护机制,两者完全没有联动。就算临时把执行策略切到Unrestricted,Defender依然会在文件下载落地的瞬间启动实时扫描,该删除还是会删除,执行策略的切换对Defender的扫描动作没有任何影响。
  • 更合理的操作流程为:保持RemoteSigned执行策略不做临时切换 → 提前创建专属的自有脚本存储文件夹,第一时间把该文件夹路径加入Defender排除列表 → 下载自有脚本到该排除目录 → 按需完成脚本自签名 → 正常运行脚本即可。

内容的提问来源于stack exchange,提问作者YorSubs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.13 06:24:03