My organisation has gone through a massive migration project to unify Active Directories and Exchange organisations. As a result of these migrations a lot of mailbox migrations have resulted in a lot of mailboxes ending up as linked mailboxes even though their not.
The official TechNet article on this explains how to disconnect the mailbox and re-attach it to the user account correctly as a user mailbox. http://technet.microsoft.com/en-us/library/bb201749(EXCHG.80).aspx
Another way to make this appear to be corrected is to manually change the “Recipient Type” AD property on the affected mailboxes. This though, is unsupported.
Using the official method from Microsoft results in the loss of any specific mailbox information such as SMTP, x400 & x500 addresses, mailbox sizes and any other individual mailbox settings.
Only e-mail addresses and mailbox sizes were important to me (I must admit, I forgot about mailbox sizes at first).
I came up with the script below that would properly convert all Linked Mailboxes on a particular server to user mailboxes in a supported way. The script is very effective, but you will want to check out the list of considerations below before running it, they might lead you to amend the script slightly. You will have to modify the $exchangeserver and $userdomain variables though.
$exchangeserver = "exchccr1" $userdomain = "domain\" $linkedmailboxes = get-mailbox -server $exchangeserver -resultsize unlimited|where {$_.recipienttypedetails -eq "LinkedMailbox"} foreach ($mailbox in $linkedmailboxes){ Disable-Mailbox -Identity $mailbox.displayname -confirm:$false } Get-MailboxDatabase -server $exchangeserver|Clean-MailboxDatabase start-sleep -s 90 foreach ($mailbox in $linkedmailboxes){ $usernamestring = $userdomain + $mailbox.samaccountname Connect-Mailbox -Identity $mailbox.exchangeguid -Database $mailbox.database -User $usernamestring set-mailbox -identity $mailbox.displayname -emailaddresses $mailbox.emailaddresses } start-sleep -s 90 foreach ($mailbox in $linkedmailboxes){ set-mailbox -identity $mailbox.displayname -EmailAddressPolicyEnabled $mailbox.EmailAddressPolicyEnabled -emailaddresses $mailbox.emailaddresses -UseDatabaseQuotaDefaults $mailbox.UseDatabaseQuotaDefaults -ProhibitSendQuota $mailbox.ProhibitSendQuota -ProhibitSendReceiveQuota $mailbox.ProhibitSendReceiveQuota -IssueWarningQuota $mailbox.IssueWarningQuota }
Some things to consider…
- The filter on this script doesn’t consider legitimate linked mailboxes.
- Only E-Mail addresses and mailbox sizes are re-applied to the freshly attached mailbox. More can be added to the script though.
- You can’t attach a mailbox to a disabled account. The script won’t stop, but will error on disabled user accounts.
- Don’t stop the script as it’s running, even if it’s choosing the wrong selection of accounts. It will mean more manual work after if you do.
- Ensure you have "Exchange Server Administrator" permissions on the server you wish to run this script.
- Ensure you have permissions to run the Clean-MailboxDatabase permissions on the server you wish to run this script (You don't get this by default with "Exchange Sever Administrator" permissions). If you're an admin in my 0rg, we can give you this permission if you if you don't have it already.
There you go, a script that will do all your linked mailboxes in one go. I’ve not been able to find another online, so I hope this helps you.
Comments
With this script, I assume it is a Powershell script that will need to be run from the Exchange Management shell?
Regards,
David.
Is possible to do this bulk process in the other way?. Move normal mailbox to linked mailbox?. Is possible to do with a csv file(to do this works for example dom 10 to 10 users)
I am a newbie in powershell scripting and I see that get-mailbox returns information like Microsoft.Exchange.Data.MultiValuedProperty`1[System.String] : how can I get the correct information from get-mailbox (see languages for instance) how can i get the correct informations to set after with the command set-mailbox
set-user -LinkedMasterAccount $null
And all the configuration is maintained
you mentioned that with Exchange 2010 SP1.. the "set-user -LinkedMasterAccount $null" command is much easier..
does this mean running this command will scan and convert ALL Linked Mailboxes and change them t o Regular Mailboxes?
cheers,
Thus, the mailbox was converted from Linked to User.
@Janies
If you want to convert all linked mailboxes with one PS command it would be:
Get-Mailbox -RecipientTypeDetails LinkedMailbox | Set-User -LinkedMasterAccount $null
Drupal Training in Chennai
Drupal Course in Chennai
Drupal Training in OMR
Photoshop Classes in Chennai
Photoshop Course in Chennai
Photoshop Training in Chennai
Manual Testing Training in Chennai
Mobile Testing Training in Chennai
Great Blog!!! Was an interesting blog with a clear concept. And will surely help many to update them.
web designing training in chennai
web development courses
ccna course in Chennai
Best PHP training in chennai
ui ux design course in chennai
ux design course in chennai
ReactJS Training in Chennai
Web Designing Course in chennai
Web designing training in chennai
web designing course in chennai with placement
php developer training institute in chennai
magento training institute in chennai
Google ads services
Google Ads Management agency
mobile application development course | mobile app development training
web designing classes in chennai | web designing training institute in chennai
web designing classes in chennai | Web Designing courses in Chennai
Digital Marketing Course In Kolkata
Web Design Course In Kolkata
SEO Course In Kolkata
Oracle Training | Online Course | Certification in chennai | Oracle Training | Online Course | Certification in bangalore | Oracle Training | Online Course | Certification in hyderabad | Oracle Training | Online Course | Certification in pune | Oracle Training | Online Course | Certification in coimbatore
Ai & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai
Ai & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai
Such a wonderful article and I feel that it is best to write more on this topic. Thank you so much because i learn a lot of ideas about it. Keep posting.
Cyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course | CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course
Useful article which was very helpful. also interesting and contains good information.
to know about python training course , use the below link.
Python Training in chennai
Python Course in chennai