我正在尝试根据配置自动备份某些文件和文件夹。这是使用 Powershell 5 完成的,而 Powershell 5 又依赖于后台智能传输服务 (BITS)。例如:
Start-BitsTransfer $Source\* $Destination -RetryInterval 60 -RetryTimeout 600
Powershell 脚本使用 bat 运行:
powershell -ExecutionPolicy unrestricted .\Main.ps1
使用计划任务执行批处理:
User account: AD service account
Run: whether user is logged on or not
当我使用计划任务上设置的相同帐户直接运行批处理时,它运行完美。当我从任务计划程序运行它时,BITS 操作发出以下错误:
由于用户尚未登录网络,因此未执行所请求的操作。指定的服务不存在。(来自 HRESULT 的异常:0x800704DD)
我尝试更改 BITS 服务的用户,将其设置为用于计划任务的相同服务帐户,但该服务不再启动:
后台智能传输服务服务启动失败,原因如下:
为此服务指定的帐户与为同一进程中运行的其他服务指定的帐户不同。
回到计划任务,我已将其更改为“仅在用户登录时”运行。当然,这只有当我为此用户设置自动登录时才有意义(否则,如果未登录,它将不会运行)。
问题:如何使用 BITS 自动执行备份而不依赖自动登录等技巧?