I’ve been doing some work for a client recently who decided to upgrade their Azure AD Connect appliance to the latest February release. This was a prerequisite task for future work to follow. As an aside, it’s always nice to run the current version of the sync client. Microsoft regularly update the client to provide new features and improvements. A key driver for this client in particular was the fact that the new client (1.1.105.0 – Released 16/2/2016) will allow you to synchronise every 30 minutes, which is a welcome change from the previous 3-hour sync cycles.
The detailed Azure AD Connect version release history can be found – here
So it was decided… we would upgrade.
All sounds fairly painless really, yeah?
We completed the usual preparation tasks, such as forcing a sync, exporting the connector space, taking backups and snapshots etc. All of this completed as expected. We were ready to kick off the installation process of the new client (shown below.)
Shortly after the client upgrade process completed, I was greeted with this wonderful window.
The log file tells me this:
[11:36:13.912] [ 1] [INFO ] Found existing persisted state context.
[11:36:13.912] [ 1] [ERROR] Caught an exception while creating the initial page set on the root page.
Exception Data (Raw): System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.Online.Deployment.Types.Utility.AdDomainInfoEncoder.ConvertBack(Object value, Type targetType, Object parameter, CultureInfo culture)
at Microsoft.Online.Deployment.Types.PersistedState.PersistedStateElement.ToContext(PersistedStateContainer state, PropertyInfo propertyInfo, PersistedElementAttribute attr, Object& value)
at Microsoft.Online.Deployment.Types.Context.LocalContextBase.LoadFromState(PersistedStateContainer state, IPowerShell powerShell)
at Microsoft.Online.Deployment.OneADWizard.UI.WizardPages.RootPageViewModel.GetInitialPagesCore()
at Microsoft.Online.Deployment.OneADWizard.UI.WizardPages.RootPageViewModel.GetInitialPages()
[11:36:41.346] [ 1] [INFO ] Opened log file at path C:\Users\xxxxxx\AppData\Local\AADConnect\trace-20160218-113613.log
To resolve this issue, we need to action the following
- Make sure the AAD Connect wizard is not running.
- Open this file: %ProgramData%\AADConnect\PersistedState.xml
-
Take a backup (copy and rename PersistedState.xml to PersistedState.old)
-
Proceed to edit the xml file using your favourite text editor.
-
Find a section that looks like this:
<PersistedStateElement>
<Key>IAdfsContext.TargetForestDomainName</Key>
<Value>domain.com</Value>
</PersistedStateElement>
We need to update the <Value> element to look like this:
<PersistedStateElement>
<Key>IAdfsContext.TargetForestDomainName</Key>
<Value>domain.com,domain.com</Value>
</PersistedStateElement>
The domain.com value must be populated twice, separated by a comma.
You can now save the file and restart the AAD Connect wizard. It will now launch as expected.
Following on from this I was able to complete the upgrade as per normal.
I can also now see that the sync cycle has been reduce to 30 minutes post upgrade (shown below.)
It appears that Microsoft have logged an official bug fix for this, However… this should get you out of trouble in the short term.
Happy upgrading!
Got the same error when I upgraded last week. I uninstalled then reinstalled AADConnect which fixed it for me.
Thanks for the feedback Craig.