Book Image

PowerShell for Office 365

By : Martin Machado
Book Image

PowerShell for Office 365

By: Martin Machado

Overview of this book

While most common administrative tasks are available via the Office 365 admin center, many IT professionals are unaware of the real power that is available to them below the surface. This book aims to educate readers on how learning PowerShell for Offi ce 365 can simplify repetitive and complex administrative tasks, and enable greater control than is available on the surface. The book starts by teaching readers how to access Offi ce 365 through PowerShell and then explains the PowerShell fundamentals required for automating Offi ce 365 tasks. You will then walk through common administrative cmdlets to manage accounts, licensing, and other scenarios such as automating the importing of multiple users,assigning licenses in Office 365, distribution groups, passwords, and so on. Using practical examples, you will learn to enhance your current functionality by working with Exchange Online, and SharePoint Online using PowerShell. Finally, the book will help you effectively manage complex and repetitive tasks (such as license and account management) and build productive reports. By the end of the book, you will have automated major repetitive tasks in Office 365 using PowerShell.
Table of Contents (10 chapters)

Setting up your environment

Preparing your environment for SharePoint Online scripting is very simple.

PowerShell execution policy

As the preferred scripting tool for administrators, PowerShell security is paramount. We will review the execution policy in depth in Chapter 6, Script Automation, but by default it restricts scripts to running only in an interactive session.
In this mode, you cannot execute scripts in .ps1 files (not even in the interactive mode) and unattended scripts will be blocked.

In the following example, we attempt to execute the HelloWorld.ps1 file. The call is blocked and the error message suggests that you look into the execution policy setting.

In the next line, we use the Get-ExecutionPolicy command...