Szolgáltatásfiókok és BITS
A BITS használatával fájlokat továbbíthat egy szolgáltatásból. A szolgáltatásnak a LocalSystem, a LocalService vagy a NetworkService rendszerfiókot kell használnia. Ezek a fiókok mindig be vannak jelentkezve; ezért a szolgáltatás által e fiókok használatával küldött feladatok mindig futnak.
Ha egy rendszerfiók alatt futó szolgáltatás megszemélyesíti a felhasználót a BITS hívása előtt, a BITS ugyanúgy válaszol, mint bármely felhasználói fiók esetében (például a felhasználót be kell jelentkezni a számítógépre az átvitelhez). A szolgáltatásnak dinamikus álcázást kell használnia a BITS-felület mutatóival, amikor megszemélyesíti a felhasználót. Az álcázás nem öröklődik, ezért meg kell hívnia a CoSetProxyBlanket függvényt a BITS-től kapott minden egyes felületmutatón (például a IBackgroundCopyManager meghívásából visszaadott feladatmutató::CreateJob metódus); nem elég az álcázás beállítása a kezelőfelület mutatóján. A CoInitializeSecurity függvényt is meghívhatja a folyamathoz a CoSetProxyBlanket függvény meghívása helyett az egyes illesztőmutatókon.
Ha azonban a szolgáltatás nem megszemélyesíti a felhasználót, a következő viselkedések érvényesek:
- A szolgáltatásfiók által létrehozott feladatok az adott fiók tulajdonában vannak. Mivel a rendszerfiókok mindig be vannak jelentkezve, a BITS addig továbbítja a fájlokat, amíg a számítógép fut, és van hálózati kapcsolat.
- A rendszerfiókok nem használhatnak leképezett hálózati meghajtóbetűjeleket, mert a meghajtóbetűjelek egy munkamenetre vonatkoznak, és a leképezés elveszhet a számítógép újraindítása után.
- Helper Tokenhiányában a hálózati hitelesítés a LocalSystem- és NetworkService-fiókok számítógép-hitelesítő adatait, valamint a LocalService-fiók névtelen hitelesítő adatait használja. A BITS "hozzáférés megtagadva" értéket ad vissza, ha a forrásfájl hozzáférés-vezérlési listája (ACL) korlátozza a felhasználói fiókhoz való hozzáférést.
- Az segítő jogkivonatjelenlétében történő hitelesítés működésével kapcsolatos részletekért lásd: Hitelesítési.
- A Microsoft Internet Explorer proxybeállításai felhasználónként vannak tárolva, és nincsenek beállítva a rendszerfiókokhoz. Fontolja meg egy segítő jogkivonat konfigurálását a BITS-feladatokhoz, vagy explicit módon állítsa be a megfelelő proxybeállításokat IBackgroundCopyJob::SetProxySettings meghívásával BG_JOB_PROXY_USAGE_OVERRIDE. Másik lehetőségként a BitsAdmin.exe /Util /SetIEProxy kapcsolójával beállíthatja az Internet Explorer proxybeállításait a LocalSystem, a LocalService vagy a NetworkService rendszerfiókhoz. További információ: BitsAdmin Tool.
Vegye figyelembe, hogy a BITS nem ismeri fel a Proxycfg.exe fájl használatával beállított proxybeállításokat.