2. #M365May @M365May M365May.com
TRADITIONAL OWNERS
We acknowledge the traditional custodians of the land on which this online conference is
hosted, and the traditional custodians of the lands where our Australian-based speakers
and participants are located.
We would also like to pay our respects to Elders past, present and future
Tēnā koutou, tēnā koutou, tēnā tātou katoa.
On behalf of M365 May we would like to welcome and acknowledge all our speakers and
participants from Aotearoa New Zealand. Thank you for supporting this hui.
Tēnā koutou, tēnā koutou, tēnā tātou katoa.
WELCOME TO OUR SPEAKERS AND PARTICIPANTS FROM AROUND THE WORLD
3. #M365May @M365May M365May.com
COMPETITION (WEEK 3)
REGISTERED PARTICIPANTS SCAN THE QR CODE TO ENTER THE PRIZE DRAW
COMPETITION AND PRIZE RULES
m365may.com/competition-rules
4. #M365May @M365May M365May.com
CODE OF CONDUCT
THE QUICK VERSION
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless
of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size,
race, ethnicity, religion (or lack thereof), or technology choices.
We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not
appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media.
Conference participants violating these rules may be sanctioned or expelled from the conference without a
refund at the discretion of the conference organisers.
Be constructive, be respectful, be helpful and be kind.
THE LESS QUICK VERSION
www.m365may.com/code-of-conduct
5. YOUR SPEAKER
Sylver SCHORGEN
New Caledonia
MVP Cloud & Datacenter Management
Office 365 & SharePoint Consultant
PowerShell since 2012
Contact me :
Email : contact@schorgen.com
Twitter : @sylver_schorgen
Linkedin : sylverschorgen
Blog : https://bit.ly/2OZz30R
8. THE DEFINITION OF AUTOMATION
Automation is the technology by which a process or procedure is
performed without human assistance
https://en.wikipedia.org/wiki/Automation
12. AZURE AUTOMATION OVERVIEW
Cloud-based automation and configuration service
Process automation, Configuration management, Update management
Shared Capabilities
Variables, Credentials, PowerShell Modules, Schedules
Serverless
No more Windows VM
13. AZURE AUTOMATION OVERVIEW
The ability to run PowerShell in an Azure-based engine
Enables you to manage and execute :
PowerShell, PowerShell DSC, PowerShell Workflows
Your automation scripts are stored in runbooks
Runbooks execution is secured
14. AZURE AUTOMATION CONCEPTS
Automation Account
Container for your Azure Resources
Runbooks
Container for your PowerShell code
Assets
A reusable item within your runbooks
Jobs
Single execution instance of a runbook
15. AZURE AUTOMATION FOR OFFICE 365
Some real-world automation examples for Office 365
Create and manage Azure AD users
Manage Office 365 licenses assignments
Manage SharePoint Sites and Rights
Manage Exchange Online distribution groups
Manage Office 365 Teams
SharePoint sites custom reports
Exchange Online custom reports
…
16. WHAT YOU NEED TO START
PowerShell knowledge
PowerShell, PowerShell DSC
Use of modules
Azure subscription
$200 credit for 30 days : https://azure.microsoft.com/en-us/free/
12 months of popular free services
25+ Always free services including Azure Automation
(500 minutes of job runtime)
19. THE PROCESS
A user is created in your AD
Wait few minutes (AAD Connect)
Attribute a license (M365 administration center)
Send an email to the manager (or not )
21. THE PROCESS
Users ask you to change membership of distribution lists
You login to Office 365 with an administrator account
Go to ECP
Go to Groups
Manage the Distribution Group membership
23. THE PROCESS
An employee is hired in small company
Managed by the CEO (or HR)
Ask the IT service company to create the user (email, …)
The task is done before the employee arrival (not always)
Let’s use SharePoint Online
Online form for HR
Start a PowerShell script to manage users
We acknowledge the traditional custodians of the land on which this online conference is hosted, and the traditional custodians of the lands where our Australian-based speakers and participants are located.
We would also like to pay our respects to Elders past, present and future.
Tēnā koutou, tēnā koutou, tēnā tātou katoa. Ko Rebecca Jackson tōku ingoa. Nō Melbourne au. On behalf of M365 May I would like to welcome and acknowledge all our speakers and participants from Aotearoa New Zealand. Thank you for supporting this hui.
Automation :
We will define what is automation, introduce some products use in the Microsoft world and I will share with you guys what is my vision about automation
Azure Automation :
I will introduce Azure Automation and give you an overview of the service
I will explain to you the main concepts of this service
I will give you some real life examples of what you can do in Azure Automation
In my future examples, automation will be the use of PowerShell scripts combined with Azure Automation do perform some technical actions without manual human intervention or execution.
For instance we will activate Office 365 licenses without any manual actions.
Automation is used to do some complex scheduled tasks or boring task without any human intervention : You have more time to do other things when you have more added value and you eliminate the risk of manual mistakes
Automation could be an intimating task but if you excel at it, you will definitely be someone valuable to any IT department.
Automation help you saving time (and money), execute tasks where you don’t have any added value doing it (like assigning a license, deploying a virtual machine, …). It will help you automate inconvenient tasks as well as preventing manual mistakes
If you do something twice, you should have automate it the first time !
My advice : If you have to do something more than one time, don’t think to do it manually and AUTOMATE IT !!!
Non exhaustive list of automation tool available in the Microsoft cloud environment but those tools are widely used to automate a lot of tasks
PowerShell : Executed on an On-Premise server with a schedule tasks => You have to maintain your Windows Server, patch it, secure it, …
Flow : Helps us work smarter by automating workflows across apps and services in Office 365 but not only (connector available for multiple non Microsoft services) => Using a visual designer in Flow in order to build workflow
System Center Orchestrator : Part of System Center and give you the ability run runbooks in order to automate tasks and processes
SMA : Service Management Automation – PowerShell Workflow based engine (who use on a day to day basis PowerShell Workflow ? xD)
Automation can mean a lot of thing : process automation (hr process of a new employee), infrastructure automation (deploy new VMs, new apps, …) and cloud automation (add new user to Office 365, …). This is the last one that we will speak about.
Process automation : Automate frequent, time consuming and error-prone management tasks. Automating those tasks helps you focus on thing that add value to the business and lower your operational costs. You can execute some automation tasks on Azure, On-premise or on some other cloud with the Hybrid Runbook Worker (it is possible to install it in High Availability mode with multiple agent).
Configuration management : Azure Automation DSC (Desired State of Configuration) is a cloud-based solution for PowerShell DSC. It helps you manage DSC your resources from a DSC Pull server located in the Azure Cloud. Using Azure DSC Pull Server provides you some reporting like when a node deviates from its original state. You can manage Azure VM, other cloud VM (for VMs in AWS, you have an AWS DSC Toolkit) and on-premise VM and physical. You’ll be able to track changes to your machines (daemons, configuration, softwares, files, …). You have to prepare a DSC metaconfiguration and then onboard your server by using your DSC metaconfiguration.
Update Management : Update management solution in Azure use to manage OS updates for your Windows and Linux servers deployed in Azure, other cloud providers or On-Premise. I use it for some clients that have their VM in Azure. I use it as a “WSUS” like solution for Azure but way more effective Be careful, this solution does not support Windows client (7, 8.1 and 10)
Shared Capabilities : Shared resources that make your life easier when you automate and configure environment with Azure Automation. You can store and use multiple items like variables (store content that can be use in your runbooks and configurations), credentials (store securely credentials that you use in your runbooks and configurations), schedules (trigger your automation at a specified time), PowerShell modules (import modules to manage multiple Microsoft and non Microsoft systems).
No more Windows VM : Your automation environment don’t rely on one single Windows Server Vm
The ability to run PowerShell in an Azure-Based engine : Be careful with that because Microsoft extended Azure Automation beyond just PowerShell but its foundation is built in PowerShell in the cloud.
Code Execution : Microsoft now supports Python 2 as well (but it is still in preview mode)
PowerShell DSC : Azure Automation DSC (Desired State of Configuration) is a cloud-based solution for PowerShell DSC. It helps you manage DSC your resources from a DSC Pull server located in the Azure Cloud
PowerShell Workflow : Uses PowerShell Workflow. Advantages are that you can implement a complex logic in your PowerShell workflow, you can use parallel processing to perform multiple actions in parallel, use checkpoints to resume your runbook (in case of error).
Runbook : Your automation scripts are stored in what we call runbooks. Set of instructions performed automatically to achieve a certain task or output based on your PowerShell code. Container for your PowerShell code
Runbooks execution is secured : Your runbooks run in sandboxes environment
Automation Account : This is what you have at the top of your Automation environment. It contains everything you want to do and everything you need to make it happen
Runbooks : Literally, a runbook is a set of procedure that an administrator carries out. It’s kind of an ordered checklist list for a process. Your runbook will contain the procedures / processes that you want to execute repeatedly. If we think about the checklist, all the steps of your checklist will be followed to complete your task
Asset : A reusable component shared through all your runbooks. It could be variables (string, Boolean, Integers, DateTime or Not Specified) to store some values or information that you need in multiple runbooks, PowerShell Modules (Microsoft Teams or MSOnline for example), credentials (huge advantage of using credentials is that you don’t have to manage security. The credentials are stored securely. The object is a PSCredential), certificates (needed for authentication for example) or it could be connection (could be used to connect to a particular service or application inside your runbook)
Job : It represents a single execution instance of your runbook. You can see it as a snapshot of your runbook with the needed assets and the schedule configuration. A job can have multiple state like starting, running, stopped, completed, suspended, failed, …
Automate cloud operation :
Kick-off task in response to an alert : like an Azure alert for instance
Schedule routine tasks : file copy operations, backup in VMs, …
Integrate your On-Premise resources :
Hybrid Runbook Worker : Execute your runbook on your On-Premise infrastructure
DSC : You have to prepare a DSC metaconfiguration and then onboard your server by using your DSC metaconfiguration
12 months free service : 750 execution hours of a particular Linux and Windows Server VM (B1S), 5GB of blob storage, file storage and Azure Cosmos DB and 250GB of Azure SQL Database
Let’s start with a simple demonstration : License attribution in Office 365.
After your AADC ran, you need to connect to Office 365 (or launch a PowerShell console) in order to assign the license to your user
You assign the license to the user
You send an email to the HR or future manager of this employee
This is 5 minutes of your time that you’ve lost. 5 minutes when you could have been more useful somewhere else (more value added to your business)
So a user create a ticket in your help desk ticketing system (or simply call you because they know you or they like you)
You use the web interface of Exchange Control Panel (ECP) to manage or you use PowerShell (but still need to authenticate with Exchange Online).
Here again you are loosing 5 minutes of your time. 5 minutes when you could have been more useful somewhere else (more value added to your business)
In big companies when an employee is hired, almost everything has been automated (AD account creation, rights in every software needed, email or ticket created to order the smartphone, computer, …)
In smaller companies, the information might not be as fluid and as automated as it is in the biggest one, so a little help is needed. Let’s use SharePoint online and Azure Automation for that
Automation could be an intimating task but if you excel at it, you will definitely be someone valuable to any IT department.
Automation help you saving time (and money), execute tasks where you don’t have any added value doing it (like assigning a license, deploying a virtual machine, …). It will help you automate inconvenient tasks as well as preventing manual mistakes
If you do something twice, you should have automate it the first time !
My advice : If you have to do something more than one time, don’t think to do it manually and AUTOMATE IT !!!
Small things : Office 365 user license assignation, Exchange online contact management, Exchange Online mail redirection, …
Boring stuff : I hate licenses attribution and management, so this is the first thing I do in an Office 365 project (automate license attribution)
Human error prone actions : Actions where there are a lot of steps or complicated technical actions to realize that you can automate
Office 365 reports : Number of Teams teams, number of mailbox redirection (and a complete listing), number of SharePoint sites, total minutes of Skype calls, …
Small things : Office 365 user license assignation, Exchange online contact management, Exchange Online mail redirection, …
Boring stuff : I hate licenses attribution and management, so this is the first thing I do in an Office 365 project (automate license attribution)
Human error prone actions : Actions where there are a lot of steps or complicated technical actions to realize that you can automate
Office 365 reports : Number of Teams teams, number of mailbox redirection (and a complete listing), number of SharePoint sites, total minutes of Skype calls, …