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 Communication | Pros | Cons |
Fast. Scales fairly well. Sometimes necessary to document a facts. | Not effective for resolving conflict | |
Instant Message & Presence | Instant. 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. |
Phone | Tone of voice can clarify meaning | Takes longer to schedule |
In-Person | Tone of voice plus Body Language = Fastest way to resolve conflict | Takes longest to schedule |
SharePoint | Useful for team collaboration and documenting ideas, tips and tricks. | Not a complete substitute for the other modes of communication. |
Summary
- Email is useful for most all communication and non-urgent matters. Useful for communicating or clarifying policies and procedures, or scheduling a call.
[A wise CEO once told me that he does not communicate a new idea in an email, as that requires everyone to write a detailed response. Have a call or meeting instead.] - Instant Messages are useful when a candid back-and-forth email thread develops – IM is always more efficient. However, if you IM for more than a minute or two, offer to add voice as it is quicker than typing!
- Phone calls are useful for scheduled calls, or critical issues that cannot otherwise wait to be scheduled. Unscheduled Phone calls are not recommended because you will almost always hit voicemail and commence in a phone-tag exercise.
[If the goal is “how do I maximize my time” then try reducing back-and-forth e-mail dialogue. Pick up the phone. ]
- In-Person meetings are useful for conflict resolution and brainstorming sessions. I also recommend having this meeting happen as soon as possible (do not let a problem linger!). Be careful to not schedule too many meetings as this can be a time-killer. Only schedule meetings that are truly necessary and make sure that there is a clear agenda communicated in advance so everyone has time to prepare. Make sure someone is responsible for taking meeting minutes, and document action items. Follow the meeting up by sending everyone the meeting minutes and action items. TIP: Mentally think about everyone’s salary in the room and visualize how much the meeting is costing the company. Use meetings sparingly and end the meeting early when the meeting goal has been achieved. Postpone or reschedule meetings when key representatives are unable to attend.
- SharePoint sites are recommended for storing content and collaborating with teams. Email should not be used to document tips, tricks and ideas because they are not easily referenced for future use. Send an email to a SharePoint list or library instead of storing the content in an email. That way the information can be indexed and surfaced in search results.