Hizmet Hesapları ve BITS
Bir hizmetten dosya aktarmak için BITS kullanabilirsiniz. Hizmetin LocalSystem, LocalService veya NetworkService sistem hesabını kullanması gerekir. Bu hesaplar her zaman oturum açar; bu nedenle, bu hesaplar kullanılarak bir hizmet tarafından gönderilen işler her zaman çalışır.
Bir sistem hesabı altında çalışan bir hizmet BITS'yi çağırmadan önce kullanıcının kimliğine bürünse, BITS herhangi bir kullanıcı hesabında olduğu gibi yanıt verir (örneğin, aktarımın gerçekleşmesi için kullanıcının bilgisayarda oturum açması gerekir). Hizmet ayrıca kullanıcının kimliğine bürünme sırasında BITS arabirim işaretçileriyle dinamik gizleme kullanmalıdır. Gizleme devralınmadığından, BITS'den aldığınız her arabirim işaretçisinde CoSetProxyBlanket işlevini çağırmanız gerekir (örneğin, IBackgroundCopyManager::CreateJobyöntemiçağrıldığından döndürülen iş işaretçisi); yönetici arabirimi işaretçisinde gizleme ayarlamak yeterli değildir. Ayrıca, her arabirim işaretçisinde CoSetProxyBlanket işlevini çağırmak yerine işlem için CoInitializeSecurity işlevini çağırabilirsiniz.
Ancak, hizmet kullanıcının kimliğine bürünmezse aşağıdaki davranışlar geçerlidir:
- Hizmet hesabı tarafından oluşturulan işler bu hesaba aittir. Sistem hesapları her zaman oturum açtığından, bilgisayar çalıştığı ve ağ bağlantısı olduğu sürece BITS dosyaları aktarır.
- Sürücü harfleri bir oturuma özgü olduğundan ve bilgisayar yeniden başlatıldıktan sonra eşleme kaybolabileceğinden sistem hesapları eşlenmiş ağ sürücüsü harflerini kullanmamalıdır.
- Yardımcı Belirteciolmadığında, ağ kimlik doğrulaması LocalSystem ve NetworkService hesapları için bilgisayar kimlik bilgilerini ve LocalService hesabı için anonim kimlik bilgilerini kullanır. Kaynak dosyanın erişim denetim listesi (ACL) bir kullanıcı hesabına erişimi sınırlarsa BITS "erişim reddedildi" döndürür.
- Yardımcı Belirtecivarlığında kimlik doğrulamasının nasıl çalıştığı hakkında ayrıntılı bilgi için bkz. kimlik doğrulaması .
- Microsoft Internet Explorer proxy ayarları kullanıcı başına depolanır ve sistem hesapları için ayarlanmaz. BG_JOB_PROXY_USAGE_OVERRIDEile IBackgroundCopyJob::SetProxySettings çağırarak, BITS işlerinizde bir yardımcı belirteci yapılandırmayı veya doğru ara sunucu ayarlarını açıkça ayarlamayı göz önünde bulundurun. Alternatif olarak, BitsAdmin.exe /Util /SetIEProxy anahtarlarını kullanarak LocalSystem, LocalService veya NetworkService sistem hesabı için Internet Explorer proxy ayarlarını ayarlayabilirsiniz. Ayrıntılar için bkz. BitsAdmin Tool.
BITS'nin Proxycfg.exe dosyası kullanılarak ayarlanan proxy ayarlarını tanımadığını unutmayın.