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 (16 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

How to pass parameters to cmdlets and storing results as a variable


A cmdlet is a lightweight command that is used in the Windows PowerShell environment. The Windows PowerShell runtime invokes these cmdlets within the context of automation scripts that are provided at the command line. The Windows PowerShell runtime also invokes them programmatically through Windows PowerShell APIs.

They basically accept input via parameters, perform the operation, and then output the results.

Cmdlets differ from commands in a command-shell environment in the following ways:

  • Cmdlets are instances of .NET Framework classes; they are not standalone executables.
  • Cmdlets can be created from as few as a dozen lines of code.
  • Cmdlets do not generally do their own parsing, error presentation, or output formatting and these operations are normally handled by the Windows PowerShell runtime.
  • Cmdlets process input objects from the pipeline rather than from streams of text, and typically deliver objects as output to the pipeline.
  • Cmdlets are record-oriented because they process a single object at a time.

Parameters

Parameters are the input values that we pass to a cmdlet. For example, if we have to get the time zone, we can use the following cmdlet:

Get-TimeZone

This cmdlet gets the current time zone or a list of available time zones.

These are the parameters:

  • [-Id]: Specifies, as a string array, the ID or IDs of the time zones that this cmdlet gets
  • [-ListAvailable]: Indicates that this cmdlet gets all available time zones
  • [-Name]: Specifies, as a string array, the name or names of the time zones that this cmdlet gets

We can use this command with or without these parameters:

Get-TimeZone

The following screenshot shows the output for the preceding command:

We can use this command with the Name parameter:

Get-TimeZone -Name "*pac*"

The following screenshot shows the output for the preceding command:

We can use this command with the ListAvailable parameter:

Get-TimeZone -ListAvailable

The following screenshot shows the output for the preceding command:

In PowerShell, variables are always prefixed by the character $ and can include any alphanumeric character or underscore in their names. We can store the output from a cmdlet in a variable and use it later on in other cmdlets or for other purposes in the script, such as writing to the host, using it for comparison, or creating another variable, such as this, for example:

$timeZone = Get-TimeZone
Write-Host "The current time zone is " $timeZone

The following screenshot shows the output for the preceding command: