From time to time, I run into environments where things are configured in “non-standard” ways. Granted, we don’t have a lot of specificity or documentation around some attribute configurations because the default configuration has been tested by the people who created the software and works in almost every conceivable situation. … [ Continue reading ]
Synchronizing objects between tenants
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 ]
Finding Duplicate Objects in Active Directory
For those of you that have embarked upon the trek to Office 365, you’ve undoubtedly run (or at least heard of) IDFix. It detects and fixes a number of conditions that will cause the directory sync to report errors.
Today, I want to focus on a tool I wrote for a customer almost 2 years ago that addresses conditions not yet identified or remedied by IDFix. … [ Continue reading ]
PowerShell Random Password Generator
On a project earlier this year, I had to create random passwords for user accounts as part of a provisioning tool. Perpetually trying to find the fastest way to do something, I came up with a one-liner that you can use to create a random text string from the following ASCII printable characters:
!”#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_abcdefghijklmnopqrstuvwxyz{|}~0123456789… [ Continue reading ]
Create a Transport Rule to Reject a Message When Both Domain Conditions Are Met
Today, I saw a question come up as to how to block a message when it’s sent to two different groups 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… [ Continue reading ]
Bulk Adding Calendars to a Google Account for Migration
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 ]
Using MigrationWiz for Google Resources, Bulk Edition
*Update*
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 ]
ActiveSync Device and User Report for Office 365 D, MT, and Exchange 2010+
Today, I had a customer ask me for an ActiveSync device report. Normally, this is a somewhat simple task (Get-Mailbox | Get-ActiveSyncDevice), but in a large environment with hundreds of domains representing different agencies or business units, that is kind of an unwieldy report to run (as well as including a lot of data for out-of-scope users).… [ Continue reading ]
Using a ScriptBlock to pass a variable into another variable
So, during the course of my current project, I’ve been able to re-use a lot of scripts that I’ve spent years developing and reworking. This time through, though, I’ve found that in trying to make them consumable by other people, I need to update them with command-line parameters (you know, like some sort of grown-up scripter).… [ Continue reading ]
Fix those IMCEAEX NDRs
I had a customer migrate some mailboxes a few weeks ago, and they’re now just getting some NDRs. Here’s a sample NDR:

To fix this, you can take the NDR that you receive, copy/paste it into this function, and then take the resultant decoded x500 address and add it back to the proxyAddress array for the recipient.… [ Continue reading ]
Updates to Office 365 Proxy PAC Generator
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://bhr.62e.myftpupload.com/2015/11/16/office-365-pac-file/
Use AADConnect to add a Proxy Address
* 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 ]
Quick and Dirty Array Subtraction – Otherwise known as “Just say NO to VLOOKUP”
Today, I had to subtract one list of users from another list of users. Some Excel wizards can do this with VLOOKUP, but I spend more time in trial-and-error with VLOOKUP and verifying my results that it would take to just do a CTRL-F for every object. … [ Continue reading ]
Disable Office 365 Groups Creation
Update: There are new cmdlets available for this task. This blog is for historical reference only. A new, updated process is available here (https://bhr.62e.myftpupload.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 ]
Testing for bad SMTP Addresses
While working on my latest project, I encountered a significant number of objects with malformed SMTP addresses. These appeared to have been objects that had been somehow manually modified over the years by directly writing to the proxyAddresses attribute in Active Directory, bypassing an API that would check for correctly-formatted addresses.… [ Continue reading ]
