需求背景
昨天收到同事提的一个需求,需要将多台服务器的多个文件夹路径添加到Windows Defender
杀软的排除列表中。手动操作比较麻烦,想试着通过脚本来实现这一重复性的工作。
目标分析
需要排除的文件夹路径为:
D:\Program Files\AAA\BBB
E:\Program Files\AAA\BBB
F:\Program Files\AAA\BBB
G:\Program Files\AAA\BBB
需要应用的服务器对象为: Server01.ITPro.cc
至Server10.ITPro.cc
共计 10 台。
脚本拆分
- 先完成将文件夹路径添加至Windows Defender杀软的排除列表中
官方文档
#可以简单通过这条命令来完成
Add-MpPreference -ExclusionPath "D:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "E:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "F:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "G:\Program Files\Autonomy"
最终脚本
- Powershell 连接到多台服务器,并执行上述命令
官方文档
$S = New-PSSession -ComputerName Server01,Server02,Server03,Server04,Server10
# 当前账户必须有上述服务器的本地管理员权限
Invoke-Command -Session $S -ScriptBlock {
Add-MpPreference -ExclusionPath "D:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "E:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "F:\Program Files\Autonomy"
Add-MpPreference -ExclusionPath "G:\Program Files\Autonomy"
}
remove-PSSession -Session $s
执行后返回服务器检查下,在排除列表中已经有了上述的文件夹路径