Outlook OAB download fails with 0x80004005 and/or 0x8004010F

KB ID 0000035 

Problem

0x8004010F is caused by client not being able to see the Offline Address Book.

0x8004010F Error With Exchange 2013/2016/2019

Firstly make sure your autodiscover is correct, on the Exchange server open the Exchange management shell, and issue the following  command.

[box]

Get-clientAccessServer | fl Name,AutoDiscoverServiceInternalUri

[/box]

If you need to fix/change it, use the following syntax.

[box]

Set-ClientAccessServer -Identity PNL-MAIL-2019 -AutoDiscoverServiceInternalUri "https://mail.petenetlive.com/autodiscover/autodiscover.xml"

[/box]

Then check that the Offline Address Book is set correctly also.

[box]

Get-OabVirtualDirectory -server PNL-MAIL-2019

[/box]

 

If you need to fix/change it, use the following syntax.

[box]

Set-OabVirtualDirectory -Identity "PNL-MAIL-2019\oab (default web site)" -InternalUrl "https://mail.petenetlive.com/oab" -ExternalUrl "https://mail.petenetlive.com/oab"

[/box]

Then ensure ALL Mailbox databases are set to use the Default Offline Address Book.

[box]

Get-Mailboxdatabase | Set-MailboxDatabase -OfflineAddressBook “Default Offline Address Book”
Get-MailboxDatabase | Ft Name, *book*

[/box]

Then check for the existence of the ‘Arbitration Mailbox’

[box]

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like “*OAB*”} | ft Name, Servername, Database

[/box]

If its broken/ missing then you can do the following.

[box]

New-OfflineAddressBook -Name “NEW-OAB” -AddressLists “\Default Global Address List” -VirtualDirectories “PNL-MAIL-2019\OAB (Default Web Site)”
Get-Mailboxdatabase | Set-MailboxDatabase -OfflineAddressBook “NEW-OAB”
Create New-Mailbox -Arbitration -Name “OAB-GEN” -UserPrincipalName OAB@pnl.com –DisplayName “OAB-Generation-Mailbox” -Database MBX-DB-2019v2
Set-Mailbox -Arbitration OAB@pnl.com -OABGen $true

[/box]

Then finally restart the Exchange services WARNING this will cause downtime.

[box]

$services = Get-Service | ? { $_.name -like "MSExchange*" -and $_.Status -eq "Running"};foreach ($service in $services) {Restart-Service $service.name -Force}

[/box]

For Exchange 2020 / 2007 (0x8004010F Error)

1. Log onto the Exchange Server.
2. Start > All Programs > Exchange Management Console > Organisation Configuration > Mailbox > Offline address Book > Create a new one (Must have a different name to {Default}.
3. Delete the Old Offline Address Book.
4. Set the one you created as the default.

WAIT 20 MINUTES – If the Problem Persists

1. Log onto the Exchange Server.
2. Start > All Programs > Exchange Management Console > Server Configuration > Mailbox.
3. Select the Mailbox store in the middle section > Right Click > Properties.
4. Client Settings tab > Browse > Select the Address book you created above > OK > OK.

WAIT 20 MINUTES

Note: I’ve also fixed by creating a new mail profile – though when I switched back to the original one it was ok – so I may not have been patient enough.

Related Articles, References, Credits, or External Links

NA

Exchange Y2KK Bug

KB ID 0001769

Y2KK Problem

Over the last couple of days the Exchange forums have been alight with the Y2KK bug, typically it affects Exchange 2016 and 2019 (though the chatter is, it actually effects any Exchange versions whose update version begins with 22…

This is fine below, (it begins with 21..)

[box]

Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell
Get-EngineUpdateInformation

[/box]

Y2KK Symptoms 

Emails No Longer Being Delivered!

Event ID 5300

[box]

Log Name: Application 
Source: FIPFS 
Logged: 1/1/2022 1:03:42 AM 
Event ID: 5300 
Level: Error 
Computer: exch.petenetlive.com
Description: The FIP-FS "Microsoft" Scan Engine failed to load. PID: 23092, Error Code: 0x80004005. Error Description: Can't convert "2201010001" to long.

[/box]

Event ID 1106

[box]

Log Name: Application 
Source: FIPFS 
Logged: 1/1/2022 11:47:16 AM 
Event ID: 1106 
Level: Error 
Computer: exch.petenetlive.com 
Description: The FIP-FS Scan Process failed initialization. Error: 0x80004005. Error Details: Unspecified error.

[/box]

Error “Message Deferred By Categorizer Agent”

Messages seen stuck on message queues, with this error.

Y2KK Solution

Note: To avoid an error, ensure your PS Execution policy is set to Remote-Signed before attempting to run the following script or it will simply throw you an error.

[box]

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

[/box]

See this article for more information.

The simplest fix to this problem is to run the script that Microsoft have provided Reset-ScanEngineVersion.ps1

Note: This needs to be RAN on EACH Exchange server, (with the Exception of Edge Transport Servers).

You can apply the ‘fix‘ manually, instructions for doing so are on the link at the bottom of the page.

Update 04/01/21: You may need to disable all the transport rules before the queues will clear. (untested)

Related Articles, References, Credits, or External Links

Email Stuck in Exchange On-premises Transport Queues

Exchange Cant Mount Database ‘0x80004005’

KB ID 0001632

Problem

When attempting to mount an Exchange Database I got this error;

Failed to mount database “{Database-Name}”. Error: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108) Diagnostic context: Lid: 65256 Lid: 10722 StoreEc: 0x454 Lid: 1494 —- Remote Context Beg —- Lid: 1238 Remote Context Overflow Lid: 34760 StoreEc: 0xFFFFFDEF Lid: 41344 Guid: 6967a2e8-2e07-4c6f-a7ff-cb5f3414bad5 Lid: 35200 dwParam: 0x3F28 Lid: 59596 dwParam: 0x231090 Msg: JI20 Lid: 43212 dwParam: 0x231090 Msg: JT05 Lid: 43212 dwParam: 0x231090 Msg: JT08 Lid: 59596 dwParam: 0x231090 Msg: WM19 Lid: 59596 dwParam: 0x231090 Msg: WM20 Lid: 59596 dwParam: 0x231090 Msg: WM21 Lid: 54472 StoreEc: 0x980 Lid: 42184 StoreEc: 0x454 Lid: 10786 dwParam: 0x0 Msg: 15.01.1847.005:PNL-Mail:6967a2e8-2e07-4c6f-a7ff-cb5f3414bad5 Lid: 51578 Guid: 6967a2e8-2e07-4c6f-a7ff-cb5f3414bad5 Lid: 1750 —- Remote Context End —- Lid: 1047 StoreEc: 0x454 [Database: Database-Name, Server: Server-Name]

Solution

It’s been a while since I last saw an 0x80004005 error, last time it was because the AV software on the Exchange server had quarantined a log file, but this server was not running any third party AV. On closer inspection the problem was pretty obvious;

My ‘log-file’ partition was full, (I had something else doing diagnostic logging), once I tidied up the partition and freed up some space the database mounted without complaining.

Related Articles, References, Credits, or External Links

Exchange – Failed to mount database(hr=0x80040115, ec=-2147221227)

Event ID 3154 ‘Active Manager Failed To Mount Database’

Exchange – Unable to Mount Stores (log file missing)

KB ID 0000348

Problem

Exchange fails to mount a database and complains, with an error like the one below when you try and mount it manually.

Error:
Mailed to mount database ‘ database name’
Error:
Exchange is unable to mount the database that you specified. Specified
database {your server name}{path to database}{database name}; Error code:
MapiExeptionCallFailed: Unable to mount database. (hr=0x80004005,
ec=1032)

You may also see the following errors in the event log,

Event ID 9518

Log Name: Application
Source: MSExchangeIS
Date: 04/11/2010 13:51:09
Event ID: 9518
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: servername.doaminname
Description:
Error 0xfffffbf8 starting Storage Group /DC=local/DC=hc/CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=First Organization/CN=Administrative Groups/CN=Exchange Administrative Group (FYDIBOHF23SPDLT)/CN=Servers/CN=SERVERNAME/CN=InformationStore/CN=First Storage Group on the Microsoft Exchange Information Store.
Storage Group – Initialization of Jet failed.

Event ID 489

Log Name: Application
Source: ESE
Date: 04/11/2010 13:51:09
Event ID: 489
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: servername.domainname
Description:
MSExchangeIS (2476) First Storage Group: An attempt to open the file “C:Program FilesMicrosoftExchange ServerMailboxFirst Storage GroupMailbox Database.edb” for read only access failed with system error 32 (0x00000020): “The process cannot access the file because it is being used by another process. “. The open file operation will fail with error -1032 (0xfffffbf8).

Additionally if you have McAfee (and it caused the problem) you may also see,

Event ID 259

Log Name: Application
Source: McLogEvent
Date: 04/11/2010 13:45:33
Event ID: 259
Task Category: None
Level: Error
Keywords: Classic
User: SYSTEM
Computer: servername.domainname
Description:
The file C:Program FilesMicrosoftExchange ServerMailboxFirst Storage GroupE00.log�00074b5.js contains the JS/Redirector Trojan. Undetermined clean error, deleted successfully. Detected using Scan engine version 5400.1158 DAT version 6156.0000.

Solution

Essentially we are missing a log file and the database is not happy, in my case the AV software had quarantined the file and even restoring it didn’t fix the problem.

1. Before you proceed make sure that the folder that contains the log files, is NOT included in your AV scan in the future, to negate this happening again.

2. We need to repair the database, click start > run > cmd {enter}.

3. At command line, change directory to the exchange “bin” directory with the following command,

[box]
cd “C:Program filesMicrosoftExchange ServerBin”
[/box]

Note: Your “bin” directory may be elsewhere check the path.

4. MAKE SURE the drive has plenty of spare room – there needs to be 110% the size of the database FREE for this process to work. If that’s a problem you need to copy the database to a larger drive for this procedure.

Note: You can carry out the procedure on another drive, to run eseutil you need the following three files (eseutil.exe, ese.dll, and exchmem.dll)

5. Take a copy of the broken database and put it somewhere safe.

6. Execute the following command,

[box]
eseutil /d “C:{path to the database}{database name}”
[/box]

7. Depending on the size of the database this can take a little time. When complete it will say DONE.

8. Now locate the directory that has the log files in it, (it will be on the properties of the storage group – in this example you can scroll left and right to see the full path).

9. Copy all the log files to the same place you copied the database earlier. (Note: they will all start E00xxxxx in this case).

10. Remount the affected database.

 

Related Articles, References, Credits, or External Links

NA