Tengo IIS 8.5 ejecutándose en un par de servidores con cargas de BITS habilitadas en un directorio virtual. Al revisar los registros, veo varios tipos diferentes de errores donde dice (bits_error:{GUID},500,0x80070070)
o algún otro código de error. Puedo hacer coincidir estas descripciones con las descripciones de errores en el lado del cliente usando el Get-BitsTransfer
cmdlet de PowerShell y accediendo al atributo ErrorDescription, pero solo si soy el cliente que encuentra el error.
Los códigos específicos que estoy viendo son
- 0x800703E3
- 0x80070070
- 0x80070005: supongo que esto es E_ACCESSDENIED
- 0x8020001F - BG_E_SESSION_NOT_FOUND, al menos en el lado del cliente
- 0x80070585: He confirmado que esto tiene una descripción de "índice no válido", pero parece que no puedo encontrar ninguna información que brinde más contexto. (Creo que este servidor en particular tiene un problema de configuración que no puedo identificar, ya que no funciona ninguna carga. Los otros errores provienen del servidor que "funciona").
Estoy seguro de que hay más.BitsMsg.hIncluye algunos de los más comunes.
Se agradecería cualquier sugerencia sobre más detalles sobre la lista completa de códigos de error para las entradas BITS_POST en los archivos de registro de IIS.
Actualizar:Al utilizar el seguimiento de solicitudes fallidas, puedo ver un poco más de información sobre el error de índice no válido (0x80070585). No veo ninguna actividad en el directorio virtual de SysInternals Process Monitor, ni veo ningún identificador abierto a ese directorio en la máquina cuando uso Handle. Sin embargo, verifiqué que las credenciales almacenadas para vincularse a ese directorio virtual en el Administrador de IIS están funcionando y cuando hago una conexión de prueba, veo en procmon que INetMgr.exe efectivamente accedió al directorio local que esperaba. De todos modos, aquí está la parte interesante del archivo de seguimiento. Parece que estamos llegando al dll del servicio BITS y nos ahogamos en su interior.
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
Una última pista es que para las entradas en el registro donde veo el error 0x80070585, no aparece ningún GUID de trabajo después de bits_error
. Es solo (bits_error:,500,0x80070585). Es como si apareciera la ruta remota deseada para la carga, pero falla muy temprano en el protocolo de carga.
Actualización 2:Hay un código de error de Windows Update potencialmente relacionado , SUS_E_INVALIDINDEX
también conocido como SUS_S_ALREADY_UNINSTALLED
, que significa "La actualización que se va a desinstalar ya no está instalada. Se intentó utilizar un índice no válido". Dado que Windows Update usa el protocolo BITS, tal vez el índice del que están hablando sea un índice de archivo en el trabajo. Sin embargo, los trabajos de carga de BITS solo tienen como máximo un archivo, y el valor hexadecimal para ese es 0x80240007.
Véase también WU_E_INVALIDINDEX y esterespuesta de StackOverflow.