You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell创建每日下载ClamAV的计划任务

服务账户下服务器端ClamAV定义文件下载优化方案

原脚本依赖Edge浏览器下载的方式存在诸多问题:服务账户通常无桌面会话,无法正常启动GUI浏览器;固定休眠时间无法适配实际下载时长,易导致下载失败或资源浪费;移动文件的路径写法也存在语法错误。以下是更可靠的PowerShell实现方案:

优化后的脚本

# 定义下载临时目录和目标存储目录
$tempDownloadDir = "C:\Temp"
$clamavUpdateDir = "C:\Updates\ClamAV"

# 确保目标存储目录存在,不存在则创建
if (-not (Test-Path -Path $clamavUpdateDir)) {
    New-Item -Path $clamavUpdateDir -ItemType Directory -Force | Out-Null
}

# 使用BITS服务下载main.cvd,支持后台传输、断点续传
Start-BitsTransfer -Source "http://database.clamav.net/main.cvd" `
                   -Destination "$tempDownloadDir\main.cvd" `
                   -Priority High

# 下载daily.cvd
Start-BitsTransfer -Source "http://database.clamav.net/daily.cvd" `
                   -Destination "$tempDownloadDir\daily.cvd" `
                   -Priority High

# 将下载的定义文件移动到目标目录,覆盖旧文件
Move-Item -Path "$tempDownloadDir\*.cvd" -Destination $clamavUpdateDir -Force

关键说明

  • 选用Start-BitsTransfer:这是Windows原生的后台智能传输服务(BITS)工具,无需GUI环境,完美适配服务账户运行场景,支持网络中断自动重试、断点续传,比浏览器下载稳定得多。
  • 目录预检查:提前确认目标存储目录存在,避免移动文件时因目录缺失报错。
  • 覆盖旧文件:通过-Force参数确保新下载的定义文件覆盖旧版本,保证客户端获取的是最新防护库。

服务账户权限配置要点

  • 给服务账户分配C:\Temp和C:\Updates\ClamAV目录的读写权限。
  • 确保服务账户具备访问database.clamav.net的网络权限。
  • 若通过任务计划定期执行脚本,需设置任务在服务账户下运行,勾选「不管用户是否登录都要运行」,并根据需求授予「以最高权限运行」。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 02:50:29