Condividi tramite


Account del servizio e BITS

È possibile usare BITS per trasferire file da un servizio. Il servizio deve usare l'account di sistema LocalSystem, LocalService o NetworkService. Questi account sono sempre connessi; pertanto, i processi inviati da un servizio usando questi account vengono sempre eseguiti.

Se un servizio in esecuzione in un account di sistema rappresenta l'utente prima di chiamare BITS, BITS risponde come per qualsiasi account utente( ad esempio, l'utente deve essere connesso al computer per il trasferimento). Il servizio deve anche usare il mantello dinamico con i puntatori all'interfaccia BITS durante la rappresentazione dell'utente. Il mantello non viene ereditato, pertanto è necessario chiamare la funzione CoSetProxyBlanket su ogni puntatore di interfaccia ricevuto da BITS (ad esempio, il puntatore del processo restituito dalla chiamata al metodo IBackgroundCopyManager::CreateJob); non è sufficiente impostare il mantello sul puntatore dell'interfaccia manager. È anche possibile chiamare la funzione CoInitializeSecurity per il processo anziché chiamare la funzione CoSetProxyBlanket su ogni puntatore di interfaccia.

Tuttavia, se il servizio non rappresenta l'utente, si applicano i comportamenti seguenti:

  • I processi creati dall'account del servizio sono di proprietà di tale account. Poiché gli account di sistema sono sempre connessi, BITS trasferisce i file purché il computer sia in esecuzione e che sia presente una connessione di rete.
  • Gli account di sistema non devono usare lettere di unità di rete mappate perché le lettere di unità sono specifiche di una sessione e il mapping potrebbe andare perso dopo il riavvio del computer.
  • In assenza di un token helper, l'autenticazione di rete usa le credenziali del computer per gli account LocalSystem e NetworkService e le credenziali anonime per l'account LocalService. BITS restituisce "accesso negato" se l'elenco di controllo di accesso (ACL) per il file di origine limita l'accesso a un account utente.
  • Per informazioni dettagliate sul funzionamento dell'autenticazione in presenza di un token helper, vedere Autenticazione.
  • Le impostazioni proxy di Microsoft Internet Explorer vengono archiviate per utente e non sono impostate per gli account di sistema. È consigliabile configurare un token helper nei processi BITS o impostare in modo esplicito le impostazioni proxy corrette chiamando IBackgroundCopyJob::SetProxy Impostazioni con BG_JOB_PROXY_USAGE_OVERRIDE. In alternativa, è possibile usare le opzioni /Util /SetIEProxy di Bit Amministrazione.exe per impostare le impostazioni proxy di Internet Explorer per l'account di sistema LocalSystem, LocalService o NetworkService. Per informazioni dettagliate, vedere Bit Amministrazione Tool.

Si noti che BITS non riconosce le impostazioni proxy impostate usando il file Proxycfg.exe.