Compartilhar via


Contas de serviço e BITS

Você pode usar o BITS para transferir arquivos de um serviço. O serviço deve usar a conta do sistema LocalSystem, LocalService ou NetworkService. Essas contas são sempre conectadas; portanto, os trabalhos enviados por um serviço usando essas contas sempre são executados.

Se um serviço em execução em uma conta do sistema representar o usuário antes de chamar BITS, o BITS responderá como faria para qualquer conta de usuário (por exemplo, o usuário precisa estar conectado ao computador para que a transferência ocorra). O serviço também deve usar o camuflagem dinâmica com os ponteiros da interface BITS ao representar o usuário. O camuflagem não é herdado, portanto, você deve chamar a função CoSetProxyBlanket em cada ponteiro de interface que você recebe do BITS (por exemplo, o ponteiro de trabalho retornado da chamada do método IBackgroundCopyManager::CreateJob); não é suficiente para definir o camuflagem no ponteiro da interface do gerente. Você também pode chamar a funçãoCoInitializeSecuritypara o processo em vez de chamar a função CoSetProxyBlanket em cada ponteiro de interface.

No entanto, se o serviço não representar o usuário, os seguintes comportamentos se aplicarão:

  • Os trabalhos criados pela conta de serviço pertencem a essa conta. Como as contas do sistema estão sempre conectadas, o BITS transfere os arquivos enquanto o computador estiver em execução e houver uma conexão de rede.
  • As contas do sistema não devem usar letras de unidade de rede mapeadas porque as letras da unidade são específicas para uma sessão e o mapeamento pode ser perdido após a reinicialização de um computador.
  • Na ausência de um token auxiliar , a autenticação de rede usa credenciais de computador para contas LocalSystem e NetworkService e credenciais anônimas para a conta LocalService. O BITS retornará "acesso negado" se a ACL (lista de controle de acesso) do arquivo de origem limitar o acesso a uma conta de usuário.
  • Para obter detalhes sobre como a autenticação funciona na presença de um token auxiliar , consulte Authentication.
  • As configurações de proxy do Microsoft Internet Explorer são armazenadas por usuário e não são definidas para contas do sistema. Considere configurar um token auxiliar em seus trabalhos de BITS ou definir explicitamente as configurações de proxy corretas chamando IBackgroundCopyJob::SetProxySettings com BG_JOB_PROXY_USAGE_OVERRIDE. Como alternativa, você pode usar as opções /Util /SetIEProxy de BitsAdmin.exe para definir as configurações de proxy do Internet Explorer para a conta do sistema LocalSystem, LocalService ou NetworkService. Para obter detalhes, consulte da Ferramenta BitsAdmin.

Observe que o BITS não reconhece as configurações de proxy definidas usando o arquivo Proxycfg.exe.