Send Authenticated SMTP with PowerShell

Today, while I was testing out some transport rules, I wanted to send a bunch of test messages to make sure they were firing correctly.  I wanted to create some custom messages and be able to automate them, and I wanted to use an outside relay service that requires SMTP authentication. It took a good…

8

Manually configure Outlook for Office 365

In case you ever need to configure Outlook for an Office 365 tenant that *does not* have AutoDiscover records published, here is how to do it. 1.      Log into PowerShell for tenant and run the following command: Get-Recipient | Select-Object Identity,Mail,ExchangeGuid | Export-Csv .\recipientlist.csv 2.       Open the CSV in Excel, locate the ExchangeGuid  attribute column, and then locate…

8

Wipe Content from an Exchange Online Mailbox

This tool has been updated with new options.  See https://blogs.technet.microsoft.com/undocumentedfeatures/2017/10/19/update-to-wipe-exchange-online-mailbox-script/. Periodically over the years, I’ve run into content problems trying to migrate data to Exchange Online using third-party migration tools–they somehow get stuck, don’t like something existing in the destination mailbox (or didn’t write it properly in the first place) and you need a clean…

8

Manage Office 365 Distribution Groups via Excel spreadsheet or CSV

A consultant friend of mine posed an interesting question to me this week–one of his customers wanted to be able to let his users administer a cloud-managed Office 365 distribution group by uploading a CSV or Excel spreadsheet.  From an administration perspective, I have done an incredible amount of directory management tasks using CSVs, so…

8

Bulk Upload Photos to Exchange Online

Ever since the advent of DirSync, you’ve been able to add a picture’s binary content to the thumbnailPhoto attribute in AD and synchronize it to Office 365.  This blob would be rendered as a photo next to the user’s name in Outlook, OWA, and Lync.  Pretty cool, right? That’s great in smaller environments, but what happens if…

7

AAD Connect Network and Name Resolution Test

Update: I’ve added several additional parts to this tool since it was originally released, including some debug logging, an Azure credential check to ensure that your identity is part of Global Admins, additional cloud endpoint checks, and a more thorough system inventory. While assisting some of my customers last year on an multi-forest AAD Connect…

6

Copy Get-History to Clipboard

I’ve been working on a little project, and the need to retrieve the last n number of commands I’ve executed in PowerShell has become a tedious task.  As you’re (hopefully) aware, Get-History is a great cmdlet to review exactly how you got to where you are.  You can then combine that with the Clip cmdlet…

6

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…

6

Deploying the Office 365 Proxy PAC to manage your users

Several months ago, I released a tool (the Office 365 Proxy Pac Gen) to generate a Proxy Automatic Configuration file that can be used to bypass local proxy servers for Office 365 services.  I also wrote a blog (Office 365 PAC file) on using the tool. I’ve received a lot of personal feedback on it,…

6

Backup and Restore Office 365 Groups

While working with a partner this weekend on a tenant to tenant migration, we had the need to migrate Office 365 groups.  There’s not really a lot of information around on recreating groups and memberships, so I decided to put together a tool to help the effort. The first thing to understand about Office 365…

5