Akun Layanan dan BITS

Anda dapat menggunakan BITS untuk mentransfer file dari layanan. Layanan harus menggunakan akun sistem LocalSystem, LocalService, atau NetworkService. Akun-akun ini selalu masuk; oleh karena itu, pekerjaan yang dikirimkan oleh layanan menggunakan akun ini selalu berjalan.

Jika layanan yang berjalan di bawah akun sistem meniru pengguna sebelum memanggil BITS, BITS merespons seperti yang dilakukan untuk akun pengguna apa pun (misalnya, pengguna perlu masuk ke komputer agar transfer terjadi). Layanan ini juga harus menggunakan penyelubungan dinamis dengan penunjuk antarmuka BITS saat meniru pengguna. Cloaking tidak diwariskan, oleh karena itu Anda harus memanggil fungsi CoSetProxyBlanket pada setiap pointer antarmuka yang Anda terima dari BITS (misalnya, penunjuk pekerjaan yang dikembalikan dari memanggil metode IBackgroundCopyManager::CreateJob); tidak cukup untuk mengatur jubah pada pointer antarmuka manajer. Anda juga dapat memanggil fungsi CoInitializeSecurity untuk proses alih-alih memanggil fungsi CoSetProxyBlanket pada setiap penunjuk antarmuka.

Namun, jika layanan tidak meniru pengguna, perilaku berikut berlaku:

  • Pekerjaan yang dibuat oleh akun layanan dimiliki oleh akun tersebut. Karena akun sistem selalu masuk, BITS mentransfer file selama komputer berjalan dan ada koneksi jaringan.
  • Akun sistem tidak boleh menggunakan huruf kandar jaringan yang dipetakan karena huruf kandar khusus untuk sesi dan pemetaan mungkin hilang setelah komputer dimulai ulang.
  • Dengan tidak adanya Token Pembantu, autentikasi jaringan menggunakan kredensial komputer untuk akun LocalSystem dan NetworkService dan kredensial anonim untuk akun LocalService. BITS mengembalikan "akses ditolak" jika daftar kontrol akses (ACL) untuk file sumber membatasi akses ke akun pengguna.
  • Untuk detail tentang cara kerja autentikasi di hadapan Token Pembantu, lihat Autentikasi.
  • Pengaturan proksi Microsoft Internet Explorer disimpan per pengguna dan tidak diatur untuk akun sistem. Pertimbangkan untuk mengonfigurasi token pembantu pada pekerjaan BITS Anda, atau secara eksplisit mengatur pengaturan proksi yang benar dengan memanggil IBackgroundCopyJob::SetProxy Pengaturan dengan BG_JOB_PROXY_USAGE_OVERRIDE. Atau, Anda dapat menggunakan sakelar /Util /SetIEProxy BitsAdmin.exe untuk mengatur pengaturan proksi Internet Explorer untuk akun sistem LocalSystem, LocalService, atau NetworkService. Untuk detailnya, lihat Alat BitsAdmin.

Perhatikan bahwa BITS tidak mengenali pengaturan proksi yang diatur menggunakan file Proxycfg.exe.