
我正在嘗試根據配置對某些文件和資料夾執行自動備份。這是使用 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 自動執行備份而不依賴自動登入等技巧?