TechOnTip Weblog

Run book for Technocrats

Archive for October, 2013

Bypass On-premise SCP Based Autodiscover for Office 365

Posted by Brajesh Panda on October 17, 2013

While migrating Office 365 mailboxes of one of our partner, I observed if they have local (on premise) Exchange 2010 in their Active Directory Environment, Outlook 2010 will not able to auto discover Office 365 mailbox. Because every time you configure a new outlook profile SCP (Active Directory Integrated Auto Discover) will pull in local Mailbox details. To get out of this situation you have to configure it manually using ExchagneGUID (for server name) + Outlook Anywhere proxy settings. But that’s too much manual work;

But we can disable SCP based autodiscover using below keys & it will able to automatically discover Office 365 mailbox.









Posted in Mix & Match | Leave a Comment »

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

Posted by Brajesh Panda on October 14, 2013

While enabling Archive mailbox in our Hybrid environment I came across this issue. After investigation I came to know these the mailboxes we migrated directly from Exchange 2007 to Office 365. Well we have 2010 Co-existence servers, but those mailboxes were never moved to exchange 2010 while they are on-premises. Exchange 2007 didn’t have Archiving solution. So we need to update the version number of Mailboxes, so archive commands can work.

Get-RemoteMailbox <Name> | Enable-RemoteMailbox -Archive

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

Check Exchange Mailbox version thru PowerShell

  • On-Premise Mailbox = Get-Mailbox <Name> | Select ExchangeVersion
  • Office 365 Mailbox = Get-RemoteMailbox <Name> | Select ExchangeVersion

Can also be verified from AD User’s attribute; thru ADSI or AD PowerShell

Get-ADUser SaMAccount -Properties * | select msExchVersion

Here is the version table for mailboxes;

Exchange Version Mailbox Version (ExchangeVersion) AD Attribute (msExchVersion)
2007 0.1 (8.0.535.0) 4535486012416
2010 0.10 ( 44220983382016

We can change to new 2010 version by editing the attribute thru Active Directory Attribute Editor/ADSIEdit/Powershell

Quest Active Directory PowerShell;

Get-QADUser <SamAccount>| Set-QADUser -ObjectAttributes @{msExchVersion=’44220983382016′}

Default Active Directory Module

$user = Get-ADUser <SamAccountName> -Properties msExchVersion

$user.msExchversion = “44220983382016”

Set-ADUser -Instance $user

Here is the MS KB Article

Posted in Mix & Match, Powershell | Tagged: | 3 Comments »

Working with Non-Default Active Directory Properties through PowerShell

Posted by Brajesh Panda on October 14, 2013

Active Directory PowerShell Module’s GET cmdlets or Quest Active Directory PowerShell module’s GET cmdlets do not retrieve all properties of an AD Object.

Same thing, if you want to edit those non-default properties their SET cmdlets do not come with all parameters.

Here are the tricks how to work with them 😉

How to retrieve all those non-default attributes/properties?

Default AD Module = Get-ADUser <SamAccountName> -properties * | Format-List

Quest AD Module = Get-QADUser <SamAccountName> -IncludeAllProperties | Format-List

How to retrieve specific non-default attribute/property?

Default AD Module = Get-ADUser <SamAccountName> -properties * |select msExchVersion

Quest AD Module = Get-QADUser <SamAccountName> -IncludeAllProperties |select msExchVersion

How to edit specific non-default attribute/property?

Default AD Module;

The Instance parameter provides a way to update a user object by applying the changes made to a copy of the object. When you set the Instance parameter to a copy of an Active Directory user object that has been modified, the Set-ADUser cmdlet makes the same changes to the original user object. To get a copy of the object to modify, use the Get-ADUser object. The Identity parameter is not allowed when you use the Instance parameter

# Retrieve Default + Other specific attributes to variable to a variable

$User = Get-ADUser <SamAccountName> -properties msExchVersion

# Change the value of specific attribute in the variable

$User.msExchversion = "NewValue"

# Update the actual object using the modified variable

Set-ADUser <SamAccountName> -instance $User

Quest AD Module

Use ObjectAttributes parameter

Set-QADUser <SamAccountName> -objectattributes @{msExchVersion=’Newvalue’}

Posted in Mix & Match, Powershell | Tagged: | Leave a Comment »

%d bloggers like this: