尽管现代病毒防护是基于扫描网络流量和实时保护的预防,但许多公司仍然有政策,必须定期进行全面扫描。由于硬盘越来越大,这种扫描需要更长的时间并消耗资源。此外,如果用户在离开办公室时关闭计算机,则必须将扫描安排在他们应该使用计算机进行更有意义的事情的时间。
我找到了一个解决方案,最好做出妥协,将病毒扫描程序进程 ProcessorAffinity 设置为仅一个或两个核心,让用户使用其余资源。这样可以实现定期扫描的严格政策,而不会让用户因速度变慢而感到沮丧,更不用说由此引起的不必要的问题报告了。
我没有遇到任何问题:我可以通过部署当前由用户登录触发的计划任务来轻松实现自动化,例如对于 F-Secure(扫描仪管理器过程):
schtasks /create /tn "F-Secure Affinity" \
/tr "PowerShell '$Process = Get-Process fssm32; $Process.ProcessorAffinity=2'" \
/sc onlogon /delay 0001:00 /ru System
这里,亲和力是在用户登录时设置的,因为在此之前常规工作站上不需要其他资源。
我只是好奇这是否是最佳做法或者有什么缺点。
- 这是否为恶意软件提供了潜在的先机?这是一个值得注意的风险吗?
- 我是否应该使用与登录不同的触发器,并且是否应该在扫描完成后将其重新设置?
- 有没有更好的办法来达到同时满足公司政策和用户的目的?
答案1
虽然这个想法乍一看很吸引人,但您应该考虑到防病毒扫描通常受磁盘 I/O 性能而不是 CPU 速度的约束。
换句话说,对于使用传统机械磁盘的 PC,更改防病毒亲和性不会对用户体验产生重大影响:由于底层存储提供的 IOPS 非常差,其 PC 仍将保持缓慢运行。