Dienstkonten und BITS

Sie können BITS verwenden, um Dateien von einem Dienst zu übertragen. Der Dienst muss das Systemkonto LocalSystem, LocalService oder NetworkService verwenden. Diese Konten sind immer angemeldet. Daher werden aufträge, die von einem Dienst mit diesen Konten übermittelt werden, immer ausgeführt.

Wenn ein Dienst, der unter einem Systemkonto ausgeführt wird, die Identität des Benutzers vor dem Aufrufen von BITS antspricht, antwortet BITS wie bei jedem Benutzerkonto (z. B. muss der Benutzer beim Computer angemeldet sein, damit die Übertragung erfolgt). Der Dienst sollte beim Identitätswechsel des Benutzers auch dynamisches Cloaking mit den BITS-Schnittstellenzedern verwenden. Cloaking wird nicht geerbt, daher müssen Sie die CoSetProxyBlanket-Funktion für jeden Schnittstellenzeiger aufrufen, den Sie von BITS erhalten (z. B. den Auftragszeiger, der beim Aufrufen der IBackgroundCopyManager::CreateJob-Methode zurückgegeben wurde). es reicht nicht aus, die Verhenkung für den Manager-Schnittstellenzeiger zu setzen. Sie können auch die CoInitializeSecurity-Funktion für den Prozess aufrufen, anstatt die CoSetProxyBlanket-Funktion für jeden Schnittstellenzeiger auf aufruft.

Wenn der Dienst jedoch nicht die Identität des Benutzers antspricht, gelten die folgenden Verhaltensweisen:

  • Aufträge, die vom Dienstkonto erstellt werden, befinden sich im Besitz dieses Kontos. Da Systemkonten immer angemeldet sind, überträgt BITS die Dateien, solange der Computer ausgeführt wird und eine Netzwerkverbindung besteht.
  • Systemkonten sollten keine zugeordneten Netzlaufwerkbuchstaben verwenden, da die Laufwerkbuchstaben für eine Sitzung spezifisch sind und die Zuordnung nach einem Computerneustart möglicherweise verloren geht.
  • Ohne Hilfstoken verwendet die Netzwerkauthentifizierung Computeranmeldeinformationen für LocalSystem- und NetworkService-Konten und anonyme Anmeldeinformationen für das LocalService-Konto. BITS gibt "Zugriff verweigert" zurück, wenn die Zugriffssteuerungsliste (Access Control List, ACL) für die Quelldatei den Zugriff auf ein Benutzerkonto einschränkt.
  • Weitere Informationen zur Funktionsweise der Authentifizierung bei Vorhandensein eines Hilfstokens findenSie unter Authentifizierung.
  • Microsoft Internet Explorer Proxyeinstellungen werden pro Benutzer gespeichert und nicht für Systemkonten festgelegt. Erwägen Sie die Konfiguration eines Hilfstokens für Ihre BITS-Aufträge, oder legen Sie explizit die richtigen Proxyeinstellungen fest, indem Sie IBackgroundCopyJob::SetProxySettings mit BG JOB PROXY USAGE OVERRIDE _ _ _ _ aufrufen. Alternativ können Sie die Schalter /Util /SetIEProxy von BitsAdmin.exe verwenden, um Internet Explorer-Proxyeinstellungen für das Systemkonto LocalSystem, LocalService oder NetworkService festlegen. Weitere Informationen finden Sie unter BitsAdmin Tool.

Beachten Sie, dass BITS die Proxyeinstellungen nicht erkennt, die mithilfe der Proxycfg.exe werden.