• Home
  • About
  • Blog
  • Books
  • Training
  • Subscribe
  • Advertise
  • Contact
    • Email
    • Facebook
    • Twitter
    • RSS

Practical 365

  • Office 365
  • Exchange 2019
  • Exchange 2016
  • Exchange 2013
  • Hybrid
  • Certificates
  • PowerShell
  • Migration
You are here: Home / Blog / PowerShell Scripts for Office 365

PowerShell Scripts for Office 365

December 13, 2017 by Paul Cunningham 3 Comments

Share69
Share294
Tweet
+1
Shares 363

As Office 365 admins we have the opportunity to use PowerShell for a wide variety of administration tasks. PowerShell scripts make it possible to automate complex and routine tasks, which saves time and reduces operator error.

You can find a lot of PowerShell scripts online that MVPs and others in the Office 365  community have developed and shared. In this article, I'll share a selection of Office 365 PowerShell scripts that I think are useful for all of us.

Where to Start with PowerShell

If you're new to PowerShell then you might find it difficult to make use of these scripts without a little help. Most of them are user friendly and quite straightforward to use, but if you run into any problems you can leave a comment on the script creator's blog or TechNet Gallery submission for help. Everyone wants their scripts to be useful, so they're usually quick to respond.

If you're looking for PowerShell learning resources, here are my recommendations:

  • Learn Windows PowerShell in a Month of Lunches
  • PowerShell Learning Path on Pluralsight

Office 365 Connection Script

MVP Michel de Rooij has developed this Office 365 connection script that contains functions for connecting to individual Office 365 services such as Exchange Online, Azure AD, Skype, Teams, and more. Be sure to read Michel's instructions on how to add the script to your PowerShell profile so that the functions are always available when you start a new PowerShell console.

More info: Michel's blog | Download

Azure AD Connect Sync Report

This script by MVP Michael “Van Hybrid” Van Horenbeeck will generate a report for your Azure AD Connect server, showing you some useful system information as well as the recent sync history. Note, there is a dependency on the SQL Server PowerShell module for this script to work. You will either need the SQLPS or SQLServer module installed on your server. The script checks for the presence of the SQLPS module, so check the GitHub repo for a fix if you run into issues.

More info: TechNet Gallery | GitHub

License Reconciliation Report

This script by MVP Alan Byrne from Cogmotive will generate a CSV file containing the license assignment information for your user accounts. This is useful for managing licensing costs for your organization.

More info: TechNet Gallery

AZCopy GUI for PST Imports

This script by MVP Chris Goosen adds a GUI for the AzCopy tool to make PST migrations using the Office 365 Import Service easier to deal with.

More info: Chris' blog | TechNet Gallery

Other PowerShell Scripts for Office 365

In addition to those contributions from others, here's a list of my own PowerShell scripts that work with Office 365.

  • Saving Credentials for Office 365 PowerShell Scripts and Tasks
  • Office 365 Message Center Email Digest
  • Office 365 Admin Role Group Members Report
  • Generate Reports for New, Changed, and Deleted Office 365 Groups
  • Bulk Add SMTP Addresses to Exchange Online Mailboxes
  • Test Federated Domain Proof TXT Record for Hybrid Deployments
  • Deploy the Microsoft Teams Client
  • Deploy Office 365 ProPlus from a Network Share
Paul Cunningham

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.

Share69
Share294
Tweet
+1
Shares 363

Blog AAD Connect, Import Service, Licenses, PowerShell, PST, Scripts

Comments

  1. Jeremy B says

    December 20, 2017 at 12:27 am

    Very nice collection of goodies. Thanks!

    Reply
  2. Tore Melberg says

    December 21, 2017 at 10:22 pm

    Excelent collection, Thanks for summing this up.

    Reply
  3. Ben says

    December 27, 2017 at 1:56 pm

    Wow, what a Christmas gift!!! Thanks Paul. Have a productive year ahead.

    Reply

Leave a Reply Cancel reply

Recent Articles

  • You Can Stop Deploying Exchange Server 2013 Now
  • Automating New User Account On-boarding Using SharePoint Online, Flow, and PowerApps
  • March 2018 Updates Released for Exchange Server
  • Securing Administrator Access with Privileged Identity Management for Azure Active Directory
  • The Junkings will Continue Until Morale Improves
Practical 365

Popular Articles

Microsoft Recommending Non-Expiring Passwords to Office 365 CustomersMicrosoft Recommending Non-Expiring Passwords to Office 365 Customers
PowerShell Scripts for Office 365PowerShell Scripts for Office 365
MeetEasier Helps Your Users Find Available Meeting RoomsMeetEasier Helps Your Users Find Available Meeting Rooms
PowerShell: Listing Azure AD/Office 365 User Accounts with Directory Sync StatusPowerShell: Listing Azure AD/Office 365 User Accounts with Directory Sync Status
First Steps: Configuring Exchange Online ProtectionFirst Steps: Configuring Exchange Online Protection

eBooks and Training

  • Office 365 for IT Pros
  • Exchange Server Troubleshooting Companion
  • Migrating to Exchange Server 2016
  • Exchange 2016 Exam 70-345
  • Managing Exchange Mailboxes and Distribution Groups in PowerShell
  • Exchange 2013 Boot Camp
  • Exchange 2010 Boot Camp

Recommended Resources

  • Office 365 Books
  • Exchange Server Books
  • Exchange PowerShell Scripts
  • Exchange Analyzer
  • Exchange 2010 to 2013 Migration
  • Exchange 2003 to 2010 Migration
  • Exchange 2007 to 2010 Migration
  • Digicert SSL Certificates

About This Site

Practical 365 is a leading site for Office 365 and Exchange Server news, tips and tutorials, run by Paul Cunningham, Microsoft MVP, author, speaker, and consultant. Read more...

To stay up to date:
  • Subscribe to the email newsletter
  • Follow @Practical365 on Twitter
  • Like us on Facebook
  • Write for Us

Copyright © 2018 LockLAN Systems Pty Ltd · Disclosure · Privacy Policy · Advertise
PO BOX 7002, Hemmant, Queensland 4174 · ABN: 25 121 101 255

We are an Authorized DigiCert™ SSL Partner.