SlideShare a Scribd company logo
Mastering Office 365 with
PowerShell
TechDays 2020
Matti Paukkonen
Modern Workplace Architect
+ 10 years with Microsoft technologies & SharePoint & PowerShell
+ 7 years with cloud
#TeamsFi co-organizer
https://www.linkedin.com/in/matti-paukkonen/
@mpaukkon
https://mattipaukkonen.com
https://github.com/mpaukkon/
Topics
Overview of different PowerShell modules
Demos & examples from the field
Why?
• I ❤ PowerShell!
• There are admins who are not familiar with it
• Admin centers are not including all features
• Automation & repetitive tasks
• Bulk operations
• Reusability
• Custom reports
• Community
PowerShell modules for Office 365
• When to use what?
• Different connection methods
• Versioning
• Authentication methods
• MFA support
• App Keys & Secret
• Certificate
Exchange Online PowerShell
SPO Management Shell
PnP PowerShell
Skype Online Connector
Teams PowerShell
Azure AD
Azure AD PowerShell modules
USERS GROUPS DIRECTORY LICENCES
Azure AD PowerShell modules
• Three different modules
• Azure AD PowerShell for Graph → GA and Preview version
Get-AzureADUser
• Microsoft Azure AD Module for Windows PowerShell
Get-MSolUser
• AzureAD module preferred
• Azure AD Preview version required for some management
tasks
• Unified Group Setting
• Usage Guidelines
• Group creation
Common tasks for Azure AD
• Setting Office 365 Group (Unified Group)
settings and group creation
• Assigning licenses to users
• Enable sensitivity labels for Teams, Groups &
SharePoint
• Reporting
• Used quite often with other modules
Exchange Online PowerShell
• Uses remote session (WinRM)
• Connection URLs on Docs
• MFA support→ download
module from EXO Admin
Center → Edge, IE needed
edge://flags/#edge-click-once
• Connect-EXOPSSSession with
UPN
Exchange Online PowerShell V2
• Uses modern authentication
• New cmdlets for for bulk
operations
• Properties, PropertySets,
ResultSizes
• Install/Update from
PowerShell Gallery
• Support for PowerShell Core
and cross-platform in
progress
Office 365 Security & Compliance
PowerShell
• MFA supported module from EXO Admin Center
→ Connect-IPPSSession with UPN
• Management of AIP, DLP, retention, compliance
policies, audit logs
• Synchronization of sensitivity labels for Preview
Execute-AzureAdLabelSync
SharePoint Online Management Shell
SHAREPOINT
ONLINE SETTINGS
USERS &
PERMISSIONS
SITES & SITE
COLLECTIONS
THEMES &
DESIGNS
SharePoint Online Management Shell
• Example: New-SPOSite
• Connection with Admin URL →
https://<yourtenant>-admin.sharepoint.com
• Requires SharePoint Administrator role
• Updates almost monthly
→ update when you need new features!
• Install/updates from PowerShell Gallery
Common tasks with SPO Management
Shell
• Setting up organization assets
• Managing Site Designs and Scripts
• Setting up SharePoint Home site
• Setting up company theme
• Reports
SharePoint PnP PowerShell
PROVISIONING CONTENT PROFILES METADATA
SharePoint PnP PowerShell
• Community-driven – SharePoint Patterns & Practises (PnP)
• Support SharePoint Online (and on-premises)→ separate
modules
• Utilizes SharePoint CSOM for operations
• Utilizes PnP templating mechanism for provisioning sites and
content
• Permissions on a level of the context
→ site collection, site, list…
• Install/Update from PowerShell Gallery
Common tasks with PnP PowerShell
• Provisioning new site collections with content and metadata
• Complex provisioning solutions
• Bulk operations
• Updating SharePoint User Profiles
Trick! PnP PowerShell & Graph API
• You can use PnP PowerShell to get Graph API authentication
token (delegated)
• Connect-PnPOnline –Scopes “Group.ReadWrite.All”
• $token = Get-PnPAccessToken
• $authHeader = @{
'Content-Type'='applicationjson’
'Authorization’=‘Bearer ‘+$token }
Skype for Business Online Connector
• Required for, even if TeamsOnly
• Management of different Teams policies
• Reporting user-assigned policies
• Assigning policies to groups
• Combined with/in Teams PowerShell in the future
Teams PowerShell module
• Create and manage teams
• Channels
• Tabs
• Users
• Team settings (on Preview)
• Archiving
• Apps
• Permission required on team
level or Teams Service admin
equivalent
• New Policy management
cmdlets on limited Preview
• Policy packages
• User policies
• Policy assignment to groups
Common tasks with Teams PowerShell
• Provisioning Teams
• Adding Apps to Teams
• Some migration cases, where conversation are not meaningful
• Reports
BONUS: New Graph PowerShell SDK
Preview
• Collection of modules for calling Microsoft Graph API
• Running on PowerShell Core
• Open-source
• Available on PowerShell Gallery
Examples!
Wrap-up
• PowerShell is not scary! You need to learn it
• Keep your scripts simple and reusable
• Build your script library
• docs.microsoft.com is your friend!
• #SharingIsCaring – share your knowledge &
examples
Useful resources & links
• Getting started with Office 365 PowerShell: https://docs.microsoft.com/en-
us/office365/enterprise/powershell/getting-started-with-office-365-powershell
• AzureAD PowerShell: https://docs.microsoft.com/en-us/powershell/azure/active-
directory/install-adv2?view=azureadps-2.0
• Exchange PowerShell: https://docs.microsoft.com/en-us/powershell/exchange/?view=exchange-
ps
• SPO Management Shell: https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-
online/connect-sharepoint-online?view=sharepoint-ps
• PnP PowerShell: https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-
pnp/sharepoint-pnp-cmdlets?view=sharepoint-ps
• Teams PowerShell: https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell-
overview
• Microsoft Docs, PowerShell: https://docs.microsoft.com/en-us/powershell/
• Microsoft Tech Community, PowerShell:
https://techcommunity.microsoft.com/t5/powershell/ct-p/WindowsPowerShell
Teams Community Finland
Next online meeting 9.3.2020 klo 15
https://www.meetup.com/spugfi/events/266721690/
Jari Tuisku (Microsoft)
Milla Järvi
#TeamsFi | #MSTeamsDev | #SharingIsCaring
THANK YOU!

More Related Content

What's hot

January 2021 Microsoft 365 Need to Know Webinar
January 2021 Microsoft 365 Need to Know WebinarJanuary 2021 Microsoft 365 Need to Know Webinar
January 2021 Microsoft 365 Need to Know Webinar
Robert Crane
 
February 2021 Microsoft 365 Need to Know Webinar
February 2021 Microsoft 365 Need to Know WebinarFebruary 2021 Microsoft 365 Need to Know Webinar
February 2021 Microsoft 365 Need to Know Webinar
Robert Crane
 
Patron Power Platform Community November 2021 Webinar
Patron Power Platform Community November 2021 WebinarPatron Power Platform Community November 2021 Webinar
Patron Power Platform Community November 2021 Webinar
Robert Crane
 
April 2021 Microsoft 365 Need to Know Webinar
April 2021 Microsoft 365 Need to Know WebinarApril 2021 Microsoft 365 Need to Know Webinar
April 2021 Microsoft 365 Need to Know Webinar
Robert Crane
 
CIAOPS Need to Know Office 365 Webinar - March 2018
CIAOPS Need to Know Office 365 Webinar - March 2018CIAOPS Need to Know Office 365 Webinar - March 2018
CIAOPS Need to Know Office 365 Webinar - March 2018
Robert Crane
 
March 2020 Microsoft 365 Need to Know Webinar
March 2020 Microsoft 365 Need to Know WebinarMarch 2020 Microsoft 365 Need to Know Webinar
March 2020 Microsoft 365 Need to Know Webinar
Robert Crane
 
CIAOPS Need to Know Webinar - July 2017
CIAOPS Need to Know Webinar - July 2017CIAOPS Need to Know Webinar - July 2017
CIAOPS Need to Know Webinar - July 2017
Robert Crane
 
October 2019 Microsoft 365 Need to Know Webinar
October 2019 Microsoft 365 Need to Know WebinarOctober 2019 Microsoft 365 Need to Know Webinar
October 2019 Microsoft 365 Need to Know Webinar
Robert Crane
 
September 2019 Microsoft 365 Need to Know Webinar
September 2019 Microsoft 365 Need to Know WebinarSeptember 2019 Microsoft 365 Need to Know Webinar
September 2019 Microsoft 365 Need to Know Webinar
Robert Crane
 
CIAOPS Need to Know Office 365 Webinar - April 2018
CIAOPS Need to Know Office 365 Webinar - April 2018CIAOPS Need to Know Office 365 Webinar - April 2018
CIAOPS Need to Know Office 365 Webinar - April 2018
Robert Crane
 
September 2020 Microsoft 365 Need to Know Webinar
September 2020 Microsoft 365 Need to Know WebinarSeptember 2020 Microsoft 365 Need to Know Webinar
September 2020 Microsoft 365 Need to Know Webinar
Robert Crane
 
Need to Know Webinar - August 2017
Need to Know Webinar - August 2017Need to Know Webinar - August 2017
Need to Know Webinar - August 2017
Robert Crane
 
October 2020 Microsoft 365 Need to Know Webinar
October 2020 Microsoft 365 Need to Know WebinarOctober 2020 Microsoft 365 Need to Know Webinar
October 2020 Microsoft 365 Need to Know Webinar
Robert Crane
 
Need to Know Webinar - September 2017
Need to Know Webinar - September 2017Need to Know Webinar - September 2017
Need to Know Webinar - September 2017
Robert Crane
 
January 2020 Microsoft 365 Need to Know Webinar
January 2020 Microsoft 365 Need to Know WebinarJanuary 2020 Microsoft 365 Need to Know Webinar
January 2020 Microsoft 365 Need to Know Webinar
Robert Crane
 
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael GrethO365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
NCCOMMS
 
Need to Know Office 365 webinar - July 2019
Need to Know Office 365 webinar - July 2019Need to Know Office 365 webinar - July 2019
Need to Know Office 365 webinar - July 2019
Robert Crane
 
David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider
 
How to Win #BestMicrosoftHack with Azure
How to Win #BestMicrosoftHack with AzureHow to Win #BestMicrosoftHack with Azure
How to Win #BestMicrosoftHack with Azure
Shahed Chowdhuri
 

What's hot (19)

January 2021 Microsoft 365 Need to Know Webinar
January 2021 Microsoft 365 Need to Know WebinarJanuary 2021 Microsoft 365 Need to Know Webinar
January 2021 Microsoft 365 Need to Know Webinar
 
February 2021 Microsoft 365 Need to Know Webinar
February 2021 Microsoft 365 Need to Know WebinarFebruary 2021 Microsoft 365 Need to Know Webinar
February 2021 Microsoft 365 Need to Know Webinar
 
Patron Power Platform Community November 2021 Webinar
Patron Power Platform Community November 2021 WebinarPatron Power Platform Community November 2021 Webinar
Patron Power Platform Community November 2021 Webinar
 
April 2021 Microsoft 365 Need to Know Webinar
April 2021 Microsoft 365 Need to Know WebinarApril 2021 Microsoft 365 Need to Know Webinar
April 2021 Microsoft 365 Need to Know Webinar
 
CIAOPS Need to Know Office 365 Webinar - March 2018
CIAOPS Need to Know Office 365 Webinar - March 2018CIAOPS Need to Know Office 365 Webinar - March 2018
CIAOPS Need to Know Office 365 Webinar - March 2018
 
March 2020 Microsoft 365 Need to Know Webinar
March 2020 Microsoft 365 Need to Know WebinarMarch 2020 Microsoft 365 Need to Know Webinar
March 2020 Microsoft 365 Need to Know Webinar
 
CIAOPS Need to Know Webinar - July 2017
CIAOPS Need to Know Webinar - July 2017CIAOPS Need to Know Webinar - July 2017
CIAOPS Need to Know Webinar - July 2017
 
October 2019 Microsoft 365 Need to Know Webinar
October 2019 Microsoft 365 Need to Know WebinarOctober 2019 Microsoft 365 Need to Know Webinar
October 2019 Microsoft 365 Need to Know Webinar
 
September 2019 Microsoft 365 Need to Know Webinar
September 2019 Microsoft 365 Need to Know WebinarSeptember 2019 Microsoft 365 Need to Know Webinar
September 2019 Microsoft 365 Need to Know Webinar
 
CIAOPS Need to Know Office 365 Webinar - April 2018
CIAOPS Need to Know Office 365 Webinar - April 2018CIAOPS Need to Know Office 365 Webinar - April 2018
CIAOPS Need to Know Office 365 Webinar - April 2018
 
September 2020 Microsoft 365 Need to Know Webinar
September 2020 Microsoft 365 Need to Know WebinarSeptember 2020 Microsoft 365 Need to Know Webinar
September 2020 Microsoft 365 Need to Know Webinar
 
Need to Know Webinar - August 2017
Need to Know Webinar - August 2017Need to Know Webinar - August 2017
Need to Know Webinar - August 2017
 
October 2020 Microsoft 365 Need to Know Webinar
October 2020 Microsoft 365 Need to Know WebinarOctober 2020 Microsoft 365 Need to Know Webinar
October 2020 Microsoft 365 Need to Know Webinar
 
Need to Know Webinar - September 2017
Need to Know Webinar - September 2017Need to Know Webinar - September 2017
Need to Know Webinar - September 2017
 
January 2020 Microsoft 365 Need to Know Webinar
January 2020 Microsoft 365 Need to Know WebinarJanuary 2020 Microsoft 365 Need to Know Webinar
January 2020 Microsoft 365 Need to Know Webinar
 
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael GrethO365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
O365Con18 - Best Practice with Company Video on Microsoft Stream - Michael Greth
 
Need to Know Office 365 webinar - July 2019
Need to Know Office 365 webinar - July 2019Need to Know Office 365 webinar - July 2019
Need to Know Office 365 webinar - July 2019
 
David Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive ServicesDavid Schneider: Sort your (child's) Legos with Cognitive Services
David Schneider: Sort your (child's) Legos with Cognitive Services
 
How to Win #BestMicrosoftHack with Azure
How to Win #BestMicrosoftHack with AzureHow to Win #BestMicrosoftHack with Azure
How to Win #BestMicrosoftHack with Azure
 

Similar to Mastering Office 365 with PowerShell - TechDays Finland 2020

Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Rencore
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
SUGES (SharePoint Users Group España)
 
Azure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShellAzure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShell
Markus Moeller
 
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud EnvironmentsAutomation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
Michael Rüefli
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
Petter Skodvin-Hvammen
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanthRavikanth Chaganti
 
PowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and ServersPowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and Servers
Greg McMurray
 
Azure automation
Azure automationAzure automation
Azure automation
Diego Henrique da Silva
 
Azure Resource Manager templates: Improve deployment time and reusability
Azure Resource Manager templates: Improve deployment time and reusabilityAzure Resource Manager templates: Improve deployment time and reusability
Azure Resource Manager templates: Improve deployment time and reusability
Stephane Lapointe
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
SPS Paris
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
Sébastien Levert
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
Sébastien Levert
 
I5 - Bring yourself up to speed with power shell
I5 -  Bring yourself up to speed with power shellI5 -  Bring yourself up to speed with power shell
I5 - Bring yourself up to speed with power shell
SPS Paris
 
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
Sébastien Levert
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
Sébastien Levert
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
Christopher Johnson
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
Sébastien Levert
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Michael Blumenthal (Microsoft MVP)
 

Similar to Mastering Office 365 with PowerShell - TechDays Finland 2020 (20)

Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
Azure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShellAzure Automation, PnP Provisioning and PnP PowerShell
Azure Automation, PnP Provisioning and PnP PowerShell
 
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud EnvironmentsAutomation 2.0 - Automation Tools for Hybrid Cloud Environments
Automation 2.0 - Automation Tools for Hybrid Cloud Environments
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanth
 
PowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and ServersPowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and Servers
 
Azure automation
Azure automationAzure automation
Azure automation
 
Azure Resource Manager templates: Improve deployment time and reusability
Azure Resource Manager templates: Improve deployment time and reusabilityAzure Resource Manager templates: Improve deployment time and reusability
Azure Resource Manager templates: Improve deployment time and reusability
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
 
I5 - Bring yourself up to speed with power shell
I5 -  Bring yourself up to speed with power shellI5 -  Bring yourself up to speed with power shell
I5 - Bring yourself up to speed with power shell
 
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
 

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 

Mastering Office 365 with PowerShell - TechDays Finland 2020

  • 1. Mastering Office 365 with PowerShell TechDays 2020
  • 2. Matti Paukkonen Modern Workplace Architect + 10 years with Microsoft technologies & SharePoint & PowerShell + 7 years with cloud #TeamsFi co-organizer https://www.linkedin.com/in/matti-paukkonen/ @mpaukkon https://mattipaukkonen.com https://github.com/mpaukkon/
  • 3. Topics Overview of different PowerShell modules Demos & examples from the field
  • 4. Why? • I ❤ PowerShell! • There are admins who are not familiar with it • Admin centers are not including all features • Automation & repetitive tasks • Bulk operations • Reusability • Custom reports • Community
  • 5. PowerShell modules for Office 365 • When to use what? • Different connection methods • Versioning • Authentication methods • MFA support • App Keys & Secret • Certificate Exchange Online PowerShell SPO Management Shell PnP PowerShell Skype Online Connector Teams PowerShell Azure AD
  • 6. Azure AD PowerShell modules USERS GROUPS DIRECTORY LICENCES
  • 7. Azure AD PowerShell modules • Three different modules • Azure AD PowerShell for Graph → GA and Preview version Get-AzureADUser • Microsoft Azure AD Module for Windows PowerShell Get-MSolUser • AzureAD module preferred • Azure AD Preview version required for some management tasks • Unified Group Setting • Usage Guidelines • Group creation
  • 8. Common tasks for Azure AD • Setting Office 365 Group (Unified Group) settings and group creation • Assigning licenses to users • Enable sensitivity labels for Teams, Groups & SharePoint • Reporting • Used quite often with other modules
  • 9. Exchange Online PowerShell • Uses remote session (WinRM) • Connection URLs on Docs • MFA support→ download module from EXO Admin Center → Edge, IE needed edge://flags/#edge-click-once • Connect-EXOPSSSession with UPN
  • 10. Exchange Online PowerShell V2 • Uses modern authentication • New cmdlets for for bulk operations • Properties, PropertySets, ResultSizes • Install/Update from PowerShell Gallery • Support for PowerShell Core and cross-platform in progress
  • 11. Office 365 Security & Compliance PowerShell • MFA supported module from EXO Admin Center → Connect-IPPSSession with UPN • Management of AIP, DLP, retention, compliance policies, audit logs • Synchronization of sensitivity labels for Preview Execute-AzureAdLabelSync
  • 12. SharePoint Online Management Shell SHAREPOINT ONLINE SETTINGS USERS & PERMISSIONS SITES & SITE COLLECTIONS THEMES & DESIGNS
  • 13. SharePoint Online Management Shell • Example: New-SPOSite • Connection with Admin URL → https://<yourtenant>-admin.sharepoint.com • Requires SharePoint Administrator role • Updates almost monthly → update when you need new features! • Install/updates from PowerShell Gallery
  • 14. Common tasks with SPO Management Shell • Setting up organization assets • Managing Site Designs and Scripts • Setting up SharePoint Home site • Setting up company theme • Reports
  • 15. SharePoint PnP PowerShell PROVISIONING CONTENT PROFILES METADATA
  • 16. SharePoint PnP PowerShell • Community-driven – SharePoint Patterns & Practises (PnP) • Support SharePoint Online (and on-premises)→ separate modules • Utilizes SharePoint CSOM for operations • Utilizes PnP templating mechanism for provisioning sites and content • Permissions on a level of the context → site collection, site, list… • Install/Update from PowerShell Gallery
  • 17. Common tasks with PnP PowerShell • Provisioning new site collections with content and metadata • Complex provisioning solutions • Bulk operations • Updating SharePoint User Profiles
  • 18. Trick! PnP PowerShell & Graph API • You can use PnP PowerShell to get Graph API authentication token (delegated) • Connect-PnPOnline –Scopes “Group.ReadWrite.All” • $token = Get-PnPAccessToken • $authHeader = @{ 'Content-Type'='applicationjson’ 'Authorization’=‘Bearer ‘+$token }
  • 19. Skype for Business Online Connector • Required for, even if TeamsOnly • Management of different Teams policies • Reporting user-assigned policies • Assigning policies to groups • Combined with/in Teams PowerShell in the future
  • 20. Teams PowerShell module • Create and manage teams • Channels • Tabs • Users • Team settings (on Preview) • Archiving • Apps • Permission required on team level or Teams Service admin equivalent • New Policy management cmdlets on limited Preview • Policy packages • User policies • Policy assignment to groups
  • 21. Common tasks with Teams PowerShell • Provisioning Teams • Adding Apps to Teams • Some migration cases, where conversation are not meaningful • Reports
  • 22. BONUS: New Graph PowerShell SDK Preview • Collection of modules for calling Microsoft Graph API • Running on PowerShell Core • Open-source • Available on PowerShell Gallery
  • 24. Wrap-up • PowerShell is not scary! You need to learn it • Keep your scripts simple and reusable • Build your script library • docs.microsoft.com is your friend! • #SharingIsCaring – share your knowledge & examples
  • 25. Useful resources & links • Getting started with Office 365 PowerShell: https://docs.microsoft.com/en- us/office365/enterprise/powershell/getting-started-with-office-365-powershell • AzureAD PowerShell: https://docs.microsoft.com/en-us/powershell/azure/active- directory/install-adv2?view=azureadps-2.0 • Exchange PowerShell: https://docs.microsoft.com/en-us/powershell/exchange/?view=exchange- ps • SPO Management Shell: https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint- online/connect-sharepoint-online?view=sharepoint-ps • PnP PowerShell: https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint- pnp/sharepoint-pnp-cmdlets?view=sharepoint-ps • Teams PowerShell: https://docs.microsoft.com/en-us/MicrosoftTeams/teams-powershell- overview • Microsoft Docs, PowerShell: https://docs.microsoft.com/en-us/powershell/ • Microsoft Tech Community, PowerShell: https://techcommunity.microsoft.com/t5/powershell/ct-p/WindowsPowerShell
  • 26. Teams Community Finland Next online meeting 9.3.2020 klo 15 https://www.meetup.com/spugfi/events/266721690/ Jari Tuisku (Microsoft) Milla Järvi #TeamsFi | #MSTeamsDev | #SharingIsCaring