Powershell - 如何为 defender 添加排除项

Powershell - 如何为 defender 添加排除项

我需要使用 powershell 为 defender 设置文件夹排除。问题是文件夹名称中有一个点../.m2/..(IDE IntelliJ IDEA 的文件夹)。如果我尝试使用以下命令创建此排除:

Add-MpPreference -ExclusionPath "%HOMEPATH%/.m2"

防御者将其视为文件排除而不是路径,检查此截图 辩护人排除

我尝试了上面提到的不同命令的修改,但问题仍然存在

Add-MpPreference -ExclusionPath "%HOMEPATH%\.m2"
Add-MpPreference -ExclusionPath "%HOMEPATH%\\.m2"
Add-MpPreference -ExclusionPath "%HOMEPATH%\.\.m2"
...

有人能帮助我吗?该怎么办?

我也尝试使用 SCCM 将其设置为我公司的另一台计算机,但问题相同。我无法将路径设置为带有变量的路径,例如 ${env:HOMEPATH} 等,答案中提到了这一点 - 路径无效 星火控制管理

答案1

Defender 无法识别该路径,因为它不会动态执行变量扩展;它希望调用程序将其扩展为精确的路径。

PowerShell 中变量扩展的语法不是%var%but$var${var},与 Bash 类似。具体来说,环境变量的访问方式为$env:FOO,例如$env:HOMEPATH

此外,HOMEPATH 不包含驱动器号 - 您几乎肯定希望将 HOMEDRIVE 与它一起使用,例如${env:HOMEDRIVE}${env:HOMEPATH}\.m2

并非所有程序都使用“主”路径——通常它们实际上将数据存储在 USERPROFILE 中,而主位置可能与配置文件位置不同。(Resolve-Path ~\.m2)是扩展配置文件相对路径的另一种方法,大致相当于$env:USERPROFILE\.m2

相关内容