Cuentas de servicio y BITS

Puede usar BITS para transferir archivos desde un servicio. El servicio debe usar la cuenta del sistema LocalSystem, LocalService o NetworkService. Estas cuentas siempre se inician sesión; por lo tanto, los trabajos enviados por un servicio mediante estas cuentas siempre se ejecutan.

Si un servicio que se ejecuta en una cuenta del sistema suplanta al usuario antes de llamar a BITS, BITS responde como lo haría con cualquier cuenta de usuario (por ejemplo, el usuario debe iniciar sesión en el equipo para que se produzca la transferencia). El servicio también debe usar el ocultamiento dinámico con los punteros de interfaz BITS al suplantar al usuario. El cloaking no se hereda, por lo tanto, debe llamar a la función CoSetProxyBlanket en cada puntero de interfaz que reciba de BITS (por ejemplo, el puntero de trabajo devuelto de llamar al método IBackgroundCopyManager::CreateJob ); no es suficiente para establecer el ocultamiento en el puntero de interfaz de administrador. También puede llamar a la función CoInitializeSecurity para el proceso en lugar de llamar a la función CoSetProxyBlanket en cada puntero de interfaz.

Sin embargo, si el servicio no suplanta al usuario, se aplican los siguientes comportamientos:

  • Los trabajos creados por la cuenta de servicio son propiedad de esa cuenta. Dado que las cuentas del sistema siempre están activadas, BITS transfiere los archivos siempre que el equipo se esté ejecutando y haya una conexión de red.
  • Las cuentas del sistema no deben usar letras de unidad de red asignadas porque las letras de unidad son específicas de una sesión y la asignación se puede perder después de reiniciar el equipo.
  • En ausencia de un token auxiliar, la autenticación de red usa credenciales de equipo para las cuentas LocalSystem y NetworkService y las credenciales anónimas de la cuenta LocalService. BITS devuelve "acceso denegado" si la lista de control de acceso (ACL) del archivo de origen limita el acceso a una cuenta de usuario.
  • Para más información sobre cómo funciona la autenticación en presencia de un token auxiliar, consulte Autenticación.
  • La configuración de proxy de Microsoft Internet Explorer se almacena por usuario y no se establece para las cuentas del sistema. Considere la posibilidad de configurar un token auxiliar en los trabajos de BITS o establecer explícitamente la configuración de proxy correcta mediante una llamada a IBackgroundCopyJob::SetProxySettings con BG_JOB_PROXY_USAGE_OVERRIDE. Como alternativa, puede usar los modificadores /Util /SetIEProxy de BitsAdmin.exe para establecer la configuración de proxy de Internet Explorer para la cuenta del sistema LocalSystem, LocalService o NetworkService. Para obtener más información, vea Herramienta BitsAdmin.

Tenga en cuenta que BITS no reconoce la configuración de proxy que se establece mediante el archivo Proxycfg.exe.