Ich habe IIS 8.5 auf einigen Servern laufen, wobei BITS-Uploads in einem virtuellen Verzeichnis aktiviert sind. Wenn ich die Protokolle durchsehe, sehe ich mehrere verschiedene Arten von Fehlern, bei denen „ (bits_error:{GUID},500,0x80070070)
oder“ ein anderer Fehlercode steht. Ich kann diese Fehlerbeschreibungen auf der Clientseite zuordnen, indem ich das PowerShell- Get-BitsTransfer
Cmdlet verwende und auf das Attribut „ErrorDescription“ zugreife, aber nur, wenn ich zufällig der Client bin, bei dem der Fehler auftritt.
Die spezifischen Codes, die ich sehe, sind
- OS-Version:
- 0x80070070
- 0x80070005 – Ich gehe davon aus, dass dies E_ACCESSDENIED ist
- 0x8020001F - BG_E_SESSION_NOT_FOUND, zumindest auf der Clientseite
- 0x80070585 – Ich habe bestätigt, dass dies die Beschreibung „ungültiger Index“ hat, kann aber keine Informationen finden, die mehr Kontext liefern. (Ich glaube, dieser bestimmte Server hat ein Konfigurationsproblem, das ich nicht genau benennen kann, da keine Uploads dorthin funktionieren. Die anderen Fehler stammen von dem Server, der „funktioniert“.)
Ich bin sicher, es gibt noch mehr.BitsMsg.henthält einige der gebräuchlichsten.
Für weitere Einzelheiten zur vollständigen Liste der Fehlercodes für BITS_POST-Einträge in den IIS-Protokolldateien wären wir dankbar.
Aktualisieren:Mithilfe der Ablaufverfolgung für fehlgeschlagene Anfragen kann ich etwas mehr Informationen zum Fehler „Ungültiger Index“ (0x80070585) erhalten. Ich sehe im SysInternals Process Monitor keine Aktivität im virtuellen Verzeichnis und sehe auch keine Handles, die auf dem Computer für dieses Verzeichnis geöffnet sind, wenn ich Handle verwende. Ich habe jedoch überprüft, dass die für die Bindung an dieses virtuelle Verzeichnis im IIS-Manager gespeicherten Anmeldeinformationen funktionieren, und wenn ich eine Testverbindung durchführe, sehe ich in procmon, dass INetMgr.exe tatsächlich auf das lokale Verzeichnis zugegriffen hat, das ich erwartet hatte. Wie dem auch sei, hier ist der interessante Teil der Ablaufverfolgungsdatei. Es scheint, als würden wir zur BITS-Dienst-DLL gelangen und darin ersticken.
ISAPI_START
CALL_ISAPI_EXTENSION
DllName="C:\Windows\system32\bitssrv.dll"
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER",
HttpStatus="500", HttpReason="Internal Server Error",
HttpSubStatus="0", ErrorCode="The operation completed successfully.(0x0)",
ConfigExceptionInfo=""
GENERAL_SET_RESPONSE_HEADER HeaderName="Pragma", HeaderValue="no-cache", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-packet-type", HeaderValue="Ack", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error", HeaderValue="0x80070585", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error-Context", HeaderValue="0x5", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="Content-Length", HeaderValue="0", Replace="false" 14:20:19.559
ISAPI_EXTENSION_DONE 14:20:19.559
ISAPI_END
Ein letzter Hinweis ist, dass bei den Einträgen im Protokoll, bei denen ich den Fehler 0x80070585 sehe, nach keine Job-GUID aufgeführt ist bits_error
. Es ist nur (bits_error:,500,0x80070585). Es ist, als ob der gewünschte Remote-Pfad für den Upload rüberkommt, aber er schlägt sehr früh im Upload-Protokoll fehl.
Aktualisierung 2:Es gibt einen möglicherweise damit verbundenen Windows Update-Fehlercode , SUS_E_INVALIDINDEX
der SUS_S_ALREADY_UNINSTALLED
bedeutet: „Das zu deinstallierende Update ist noch nicht installiert. Es wurde versucht, einen ungültigen Index zu verwenden.“ Da Windows Update das BITS-Protokoll verwendet, ist der Index, von dem die Rede ist, möglicherweise ein Dateiindex im Job. BITS-Upload-Jobs haben jedoch immer nur höchstens eine Datei und der Hexadezimalwert für diese ist 0x80240007.
Siehe auch WU_E_INVALIDINDEX und diesStackOverflow-Antwort.