PowerShell is a command-line environment that is designed for system administrators. It helps you manage and automate administrative tasks on the Windows operating system. With the trend of DevOps, developers are also getting on board with PowerShell.
Microsoft first introduced PowerShell in 2006. 10 years later, in 2016, Microsoft announced that they have made PowerShell open source and cross-platform with support for Windows, macOS X, CentOS, and Ubuntu. The source code is available on GitHub.
Office 365 is a subscription-based SAS offering from Microsoft. To manage Office 365, we have the following options:
- Office 365 admin center: We can use this web-based administration center provided by Microsoft to manage users, licenses, support tickets, billing and subscription, and other services such as Exchange, SharePoint, and Skype for Business that are part of our Office 365 subscription. To sign up for Office 365, we need to use Office 365 admin center. During this signing up process, we select the unique name for our tenant and the global admin account:
- Office 365 Admin app: This app allows us to manage Office 365 with limited functionality. We can reset user passwords, manage support tickets, and so on. It is not a full management tool. However, it helps you to be connected to your subscription when you are away from your computer:
- Office 365 management API: The APIs are designed for developers to create custom apps to manage Office 365: https://msdn.microsoft.com/en-us/office-365/office-365-managment-apis-overview. ISVs use these APIs to create products to manage Office 365. These APIs are out of the scope of this book.
- PowerShell for Office 365: This is the management tool that complements Office 365 admin center. We can use Office 365 PowerShell automation to quickly manage Office 365 users and licenses, Skype for Business Online, SharePoint Online, and Microsoft Exchange Online, and create reports:
In this chapter, we will discuss the following topics:
- Why do we need to learn PowerShell for Office 365?
- PowerShell is a cmdlet-based language with verb-noun syntax
- How to pass parameters to cmdlets and storing results as a variable
- How to get help with PowerShell?
- How PowerShell is an object-oriented language and how to work with objects?
- Using the if and where statements
- Using the for and while loops
- Creating your first script