Fix for Enabling Online Archive in Office 365 Hybrid Deployment | Quisitive

So I blogged a little while ago about an issue with enabling Online Archive for a Migrated user in Office 365 Hybrid Deployment So I came up with a work around to fix this:

Login to Domain Controller (assumes 2008 R2 version) if not you will need to use ADSIEDIT.MSC

Open Active Directory Users and Computers

Browse to the user account you want to have enabled for Online Archive

Open the Account properties and choose the Attribute Editor tab (if this does not show up select the View menu from ADUC and ensure Advanced Features in selected)

Locate the MSExchangeVersion Attribute

Replace the value with 44220983382016

Login to Hybrid Exchange 2010 SP2 server

Launch the Exchange Management Shell (EMS)

Run the following command, replacing USERNAME with the user’s login name

Enable-RemoteMailbox USERNAME-Archive

Force a DirSync

This has worked well for me and I have not run into any issues with manually setting the MSExchangeVersion Attribute.

In a previous post I covered importing a VM using PowerShell. In this post I am going to cover what to do if the import fails due to a compatibility issue.

In this example I am attempting to import a VM from the export ExportTest. To make things easier to read, I have set to the path the export XML file to the variable $Source.

PS C:>$Source = ‘E:ExportsExportTestVirtual Machines�FD602AC-2044-4A06-A0C3-019F70F21458.XML’

Next, I run the command to import the VM.

PS C:>Import-VM -Path $Source

The import fails with the message:

Import-VM : Unable to import virtual machine due to configuration errors. Please use Compare-VM to repair the virtual machine.
At line:1 char:1
+ Import-VM -Path $Source
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-VM], VirtualizationOperationFailedException
+ FullyQualifiedErrorId : Microsoft.HyperV.PowerShell.Commands.ImportVMCommand

As you can see from the error message above, the import failed due to a configuration error. We now need to determine the cause of the configuration error and resolve it. To do this we will use the Compare-VM Cmdlet.

Run the command below to generate a report that lists the VM’s incompatibilities with the host.

PS C:>$report = Compare-VM -Path $Source

Next, we need to display compatibility report.

PS C:>$report.Incompatibilities | Format-Table -AutoSize

Results:

Message
——-
Could not find Ethernet switch ‘TestSwitch’.
MessageId
——-
33012
Source
——-
Microsoft.HyperV.PowerShell.VMNetworkAdapter

This shows that the switch TestSwitch is assigned to the exported VM, but is not present on the host.

To resolve this we can disconnect the network adapter.

PS C:>$report.Incompatibilities[0].Source | Disconnect-VMNetworkAdapter

Next, we can regenerate the compatibility report to determine if there are any other issues.

PS C:>Compare-VM –CompatibilityReport $report

Results:

VM : Microsoft.HyperV.PowerShell.VirtualMachine
OperationType : ImportVirtualMachine
Destination : HOSTSERVER
Path : E:ExportsExportTestVirtual Machines�FD602AC-2044-4A06-A0C3-019F70F21458.XML
SnapshotPath : E:ExportsExportTestSnapshots
VhdDestinationPath :
VhdSourcePath :
Incompatibilities :

The results show that there are no incompatibilities, so we can now import the VM.

PS C:>import-vm -CompatibilityReport $report

One thing to make note of is, you cannot use the –Copy parameter with the –CompatibilityReport parameter. This means that when you use this method, the VM will be imported from the path listed in the report, and a new ID will not be generated. If you need to create additional VM’s from this template, you will need to export again from the VM it created.

For an upcoming demonstration I was tasked with showing how End-User Recovery works in Data Protection Manager 2012. For most of this process I worked from Robert’s article at: http://robertanddpm.blogspot.com/2011/02/eur.html. The following were the steps that I ended up doing to achieve the same task in DPM 2012:

1) The first step was to deploy the DPM agent to my Windows 7 system (see https://www.catapultsystems.com/cfuller/archive/2012/03/02/windows-server-8-beta%E2%80%93managing-it-with-configmgr-2012-rc-sccm-and-backing-it-up-with-dpm-2012-rc-scdpm.aspx for examples on how to manually install a DPM 2012 agent and point it to the DPM server)

2) Next I enabled the schema extension for DPM / End User Recovery by running the DPMADSchemaExtension (run as administrator) with a schema admin account. The default file location is shown below from my DPM server (c:\program files\Microsoft DPM\DPM\End User Recovery).

The following were the prompts and steps required to configure this for my domain (cloud.pvt) and my DPM server (cloud-dp01).

3) Next I enabled Self Service recovery from the DPM console in the Protection section of the UI.

In DPM enabled End-User Recovery from the Protection tab by checking the box shown below:

4) On my Windows 7 system I created a new file (testfile2.txt) and stored it on the desktop of the Windows 7 system.

5) Next I created a new protection group to backup specific folders on my Windows 7 system (including the desktop). On the DPM server I validated the backup was working as shown below where I was able to see the file that I had recently created on the Windows 7 system.

6) To enable the user’s self service recovery I installed this option from the DPM 2012 media on the Windows 7 client:

7) I changed the DPM icon so it would be visible as an icon on the taskbar and left-clicked on it to see options for the DPM client as shown below:

8) After a successful synchronization I was able to see recent backups as shown below:

9) To test this functional I deleted my new file that I had backed up and successfully used the DPM client to restore it on my Windows 7 client.

10) Finally to remove existing recovery options I disabled them rom the UI as shown below (idea from http://robertanddpm.blogspot.com/2011/10/complements-for-eur.html). The original view available included the Previous Versions tab shown below:

Once these changes were made the Previous Versions tab was removed from the UI:

Summary: Based upon my tests it appears that End User Recovery is functional even in the RC version of the product based upon the tests I was performing in my lab environment.

Good additional links for reading on this topic include:

http://robertanddpm.blogspot.com/2011/02/eur.html: Getting started on End User Recovery in DPM

http://robertanddpm.blogspot.com/2011/10/complements-for-eur.html: Disable the existing recovery options via the previous versions functionality

I am running into a problem trying to enable Online Archive for a migrated mailbox and getting this error:

[PS] C:\Windows\system32>Enable-RemoteMailbox smcneill -Archive

property ArchiveGuid can’t be set on this object because it requires the object to have version 0.10 (14.0.100.0) or later. The object’s current version is 0.1 (8.0.535.0).

+ CategoryInfo : NotSpecified: (0:Int32) [Enable-RemoteMailbox], InvalidObjectOperationException + FullyQualifiedErrorId : 55181214,Microsoft.Exchange.Management.RecipientTasks.EnableRemoteMailbox

The environment I am working in is a Exchange 2007 on-premises with a Exchange 2010 SP2 (RU1) Hybrid server. The mailbox move to O365 works fine and so does ADFS SSO. Researching this seems that the only fix is to disable and then re-enable the remotemailbox, but this wipes the exchange info requiring the remote email address (and probably the LegacyDN) to be reset. This to me is not the best option.

When I look on the Mailbox online it has the proper version, so this appears to be a problem with the Migration process or DirSync not writing back the correct version to the RemoteMailbox object.

Any other thoughts on this?

A helpful time management principle is knowing when to pick up the phone instead of drafting a long E-Mail. New communication methods like IM and SharePoint can also help save time if you know when to use them. You can save hours in a week by implementing the tips that I have outlined below. If you have other good habits or recommendations please share them in the comments below. 

In the context of communicating with customers, a face-to-face meeting is not always possible for customer service organizations. However, these meetings are still useful in the context of a team or business unit. Face-to-face meetings are efficient time savers when you have a conflict you are trying to resolve.

Have you ever participated in a back-and-forth e-mail war? Not a very efficient use of time, was it? When you see one of these developing, stop emailing and offer to schedule a call or meeting to resolve the issue. If an in-person meeting is not possible, offer to discuss the matter further over the phone, ex: “if you would like to discuss this further, please call me.”

Recommendations

Mode of CommunicationProsCons
EmailFast. Scales fairly well. Sometimes necessary to document a facts.Not effective for resolving conflict
Instant Message & PresenceInstant. Great for short snappy dialogues before adding voice.Pop-ups can be disruptive  (set presence to do-not-disturb when necessary)
Not the best for documenting a response. Limited to internal team communication unless the client has IM federation enabled.
PhoneTone of voice can clarify meaningTakes longer to schedule
In-PersonTone of voice plus Body Language = Fastest way to resolve conflictTakes longest to schedule
SharePointUseful for team collaboration and documenting ideas, tips and tricks.Not a complete substitute for the other modes of communication.

Summary

[If the goal is “how do I maximize my time” then try reducing back-and-forth e-mail dialogue. Pick up the phone. ]