This week, I was presented with a question from a partner who was in the middle of the Skype for Business portion of a larger merger and acquisition migration project. The customer had enabled the Skype for Business license for all users in the tenant (including users who hadn’t migrated for other domains and forests), and since neither the hybrid configuration nor DNS were complete, messages and calls were undeliverable. … [ Continue reading ]
I meant to post this earlier, but I wanted to let everyone know that I’ve had the great honor of being able to write a book with some of the titans of Microsoft Consulting Services. The book has all new content for Office 365 based on our experience in the field, and even features current service release updates. … [ Continue reading ]
Update: I posted roll-back steps at the bottom of the article.
Several months ago, I wrote a blog on Disabling Office 365 Groups. It seems as though we couldn’t leave well enough alone. Such is a price of progress.
I got a new laptop a few weeks ago, and then found myself in the position of helping out a few colleagues this week. … [ Continue reading ]
This afternoon, I ran into a customer with a very interesting configuration–a 300-user department with 15 domain controllers spread among 6 sites.
Which, given our guidance in the past didn’t seem that out of line (redundant domain controllers at each site to process logons).… [ Continue reading ]
While migrating users via MRS between organizations (especially to Exchange Online), a pretty common error that I run across is:
You can’t use the domain because it’s not an accepted domain for your organization.
This error is generated because the MailUser object of the user you’re attempting to migrate has a proxy address attached to it that is NOT an accepted domain in your target organization or tenant.… [ Continue reading ]
I find myself currently writing tools to both support my and other organization projects, as well as looking for ways to refine existing tools and scripts, make my life easier for future migrations, and provide additional resources to the community to help other customers more successfully use our products.… [ Continue reading ]
During my current project, it became necessary to capture additional calendar processing parameters that are not preserved during a normal hybrid move–such as booking policies.
Some of the challenges that I faced with this tool:
- Blank or unpopulated attributes
- Conversion of sAMAccountName values to PrimarySmtpAddress
- Multiline attributes with special characters
- Attributes that were set for the wrong recipient type
So, the first thoughts I have when building a tool generally involve four concepts: what data do I need to gather/export, what format is the source data, what format do I need to save it in, and how do restore/import that data back into the target?… [ Continue reading ]
A few months ago, I developed a script/tool to use for a rather large customer divesting from an Office 365 Dedicated environment. As part of the exit, they wanted a contact object in their GAL for every user, contact, and distribution list that existed in the source Office 365 environment.… [ Continue reading ]
Today, I saw a question come up as to how to block a message when it’s sent to two different classes of users at the same time. Let’s say you want to be able to send to John@domain1.com, Bob@domain2.com, and Jane@domain3.com (list 1) or to Mark@domain4.com, Sue@domain5.com, and Mary@domain6.com (list 2), but any time those users from both list 1 AND list 2 appear in the To/CC of the *same* email message, you want it to be blocked. … [ Continue reading ]
In my last Google migration post, I talked about creating a MigrationWiz project with the correct resource and folder mappings to support a large-scale project.
One of the requirements is that the resource calendar *must* be opened/mounted on the calendar of the admin user that you’ll be using on the Google side. … [ Continue reading ]
The script for this post has been updated with new parameters and requires a new version of the BitTitan PowerShell Module.
Tonight, while working with another consultant, we ran into a migration challenge–how to migrate Google resources and calendars to Office 365 shared mailboxes.… [ Continue reading ]
I wrote the original Proxy PAC tool for a customer almost a year ago, and since have added a lot of new functionality. Rather than updating my previous blog posts about it, I thought I would start a fresh thread. If you want some background on how Proxy PAC files work and how to distribute them to your users via GPO or WPAD, I would suggest taking a look at my posts dealing with those topics:
- Office 365 PAC File – https://www.undocumented-features.com/2015/11/16/office-365-pac-file/
- Deploying the PAC file – https://www.undocumented-features.com/2016/04/06/deploying-the-office-365-proxy-pac-to-manage-your-users/
Now, on to the new stuff.… [ Continue reading ]
* UPDATE* After doing this originally, I decided to take a different route and write it back to the on-premises AD, so that way, the objects are synchronous. This post now reflects the updated content.
A few weeks ago, I had an issue where I needed to remove a proxy address from the proxyAddresses array of a user being synchronized to Office 365. … [ Continue reading ]
Update: There are new cmdlets available for this task. This blog is for historical reference only. A new, updated process is available here (https://www.undocumented-features.com/2017/04/29/disable-office-365-groups-creation-redux/).
Office 365 Groups are a (somewhat) new feature that act both like a distribution list and a public folder or shared mailbox. … [ Continue reading ]
So, a million years and tens of thousands of lines of code ago, I wrote a script for a customer to populate the Office 365 UsageLocation property (Set-MsolUser -UsageLocation) with the ISO country codes from Active Directory. In Office 365, UsageLocation is used to determine what features are available to your users.… [ Continue reading ]
Earlier this week, a question popped up on a distribution list for managing an opt-out process with Exchange Online. That wasn’t the first request I’ve seen for such a tool (in fact, I had my own customer asking for something similar). … [ Continue reading ]
I had an interesting request from a customer the other day where they were synchronizing Active Directory into two disparate environments–Office 365 and another hosted Exchange environment. In their new Office 365 environment, they didn’t want any address proxies matching a particular pattern to be part of a user’s proxyAddress array–BUT–they also didn’t want to remove them from their on-premises accounts since they are being used by their other hosting environment as an application routing address.… [ Continue reading ]
There is perpetually a lot of angst around licensing users for Office 365 workloads. Most of my customers over the years have wanted to ease into deployment, only enabling certain services at a time. Of course, as an evergreen service, we are always adding features, leading to new service plans to disable as you discover them.… [ Continue reading ]
A few weeks ago, I saw something come up for a peer that needed a way to manage the maximum number of ActiveSync devices that a user had connected in Office 365. Using only native Exchange policies, we can’t do that (MDM solutions solve this problem by manning the Exchange ActiveSync quarantine). … [ Continue reading ]
Frequently, I am asked to make changes to a customer's environment. I'm a belt and suspenders kind of guy, so my backups have backups. At any rate, normally when I am performing changes in a tenant (or Exchange on-premises environment, for that matter), I make two sets of backups–one by piping a Get-cmdlet to Export-CSV (so I have a readable copy), and one by piping the same Get-cmdlet to Export-Clixml (so I have a way to set the nodes as parameters and import them back).… [ Continue reading ]