SlideShare une entreprise Scribd logo
1  sur  47
yOS-Tour - yOS-Day ©2015. All rights reserved.
#2 – yOS-Day à Montpellier le 12 juin 2015
www.yos-tour.com
contact@yos-tour.com
@YosTour
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell pour Office 365
Piloter Office 365 grâce à PowerShell - Les indispensables
+ =
yOS-Tour - yOS-Day ©2015. All rights reserved.
Benoît Jester
MVP SharePoint, travaillant sur cette technologie depuis 10 ans.
Administration, expertise SharePoint, Cloud, …
t: @spasipe
b: spasipe.wordpress.com
F: Benoit Jester
yOS-Tour - yOS-Day ©2015. All rights reserved.
Etienne Bailly
MCT | Office 365 & SharePoint enthusiast
Fondateur de la société ISTEP
t: @etienne_bailly
b: http://www.istep.fr/blog
F : Etienne Bailly (Microsoft Certified Trainer)
yOS-Tour - yOS-Day ©2015. All rights reserved.
Agenda
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell ?
Pourquoi PowerShell pour Office 365 ?
Let’s connect to Office 365
PowerShell SharePoint
Démos !
Un peu de lecture …
Au menu de cette présentation
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell ?
yOS-Tour - yOS-Day ©2015. All rights reserved.
Langage de script orienté objet - repose sur le Framework .Net
Snapins / Modules
Cmdlets / Functions
• Ex : Get-Service, Set-SPContentDatabase, …
Paramètres
• -Debug, -ErrorAction, -ErrorVariable, -Whatif, -Confirm
Alias
• dir  Get-ChildItem
• cd  Set-Location
• gcm  Get-Command
PowerShell ?
yOS-Tour - yOS-Day ©2015. All rights reserved.
Cmdlet Description Alias
Get-Help
Aide sur une commande
-example
help, man
Get-Member Retourne les propriétés, méthodes d’un objet gm
Get-Module Liste les modules chargés gmo
Get-PSSnapin Liste les « snapins » chargés gsnp
Get-Command Ou « Show-Command » montre les Cdlets du Module
gcm
shcm
Description Alias
|
Un « Pipeline » peut contenir une ou plusieurs
commandes séparées par le caractère « pipe » ( | )
$PSItem Représente l’objet courant $_
Where Ou « Where-Object » ou « ? » ?
ForEach Ou « ForEach-Object » ou « % » %
Select Définit les propriétés à récupérer
Un peu de syntaxe …
Description
Import-Csv Import CSV
Out-File Export fichier (.txt)
Out-Csv Export CSV (.csv)
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell – quelques exemples
# Accès au journal des événements (Event Viewer). 50 dernières connexions
# "C'est ki ki s'est connecté pour tout fracasser sur le serveur de Prod ??"
Get-EventLog -LogName Security |
Where EventID -eq 4624 |
Select -First 50
# Les fichiers supérieurs à 50 Mb (en cascade - récursif)
Get-ChildItem -Path c:temp -Recurse | Where-Object { $_.Length -gt 20MB }
# Les services Windows démarrés
Get-Service | Where { $_.Status –eq 'Running' }
# Les process IIS gourmands....
Get-Process | Where { $_.Name -like "*w3wp*" -and $_.PM –gt 300MB } | Sort PM -Descending
yOS-Tour - yOS-Day ©2015. All rights reserved.
Pourquoi PowerShell pour Office 365 ?
yOS-Tour - yOS-Day ©2015. All rights reserved.
Six raisons pour lesquelles nous vous recommandons d’utiliser Windows PowerShell pour gérer Office 365
PowerShell, Pourquoi ?
Windows PowerShellpeut
révélerdes informations«
masquées», non disponibles
dans le Centred’administration
Office 365 comporte des
fonctionnalitésque vous ne
pouvez configurer qu’àl’aide de
Windows PowerShell
Windows PowerShellexcelle à
effectuerdesopérationsen
bloc
Windows PowerShellfiltre
efficacementles données
Windows PowerShellfacilite
l’impressionou
l’enregistrementdesdonnées
Windows PowerShellpermet
une gestion reposantsur
plusieursproduits
C’est tout ?
Non, pas tout à fait : l’utilisation de Windows PowerShell dans le cadre de la gestion d’Office 365 est
pratiquement illimitée
yOS-Tour - yOS-Day ©2015. All rights reserved.
Les différents outils pour administrer Office 365
yOS-Tour - yOS-Day ©2015. All rights reserved.
Let’s connect to Office 365 !
yOS-Tour - yOS-Day ©2015. All rights reserved.
Windows 7, 8, 8.1, …
Windows Server 2008 R2, Windows Server 2012, 2012 R2
Microsoft .NET Framework 3.51 (min)
Microsoft Online Services Sign-in Assistant
Module Azure Active Directory pour Windows PowerShell
Prérequis – PowerShell pour Office 365
yOS-Tour - yOS-Day ©2015. All rights reserved.
Microsoft Online Services Sign-In Assistant
https://www.microsoft.com/en-us/download/details.aspx?id=41950
yOS-Tour - yOS-Day ©2015. All rights reserved.
Microsoft Online Services Sign-In Assistant
yOS-Tour - yOS-Day ©2015. All rights reserved.
Module Azure Active Directory pour
Windows PowerShell http://go.microsoft.com/fwlink/p/?linkid=236297
yOS-Tour - yOS-Day ©2015. All rights reserved.
Se connecter à Office 365 avec PowerShell
##################################
# Connexion à Office 365
Import-Module MSOnline
$c = Get-Credential
Connect-MsolService –Credential $c
yOS-Tour - yOS-Day ©2015. All rights reserved.
Connexion à Exchange Online
avec PowerShell
##################################
# Connexion à Exchange Online
Import-Module MSOnline # Azure AD Module
$c = Get-Credential
$exchSession = New-PSSession `
–ConfigurationName Microsoft.Exchange `
-ConnectionUri https://ps.outlook.com/powershell `
-Credential $c `
-Authentication Basic `
–AllowRedirection
Import-PSSession $exchSession –AllowClobber
Set-ExecutionPolicy RemoteSigned
Connect-MsolService –Credential $c
yOS-Tour - yOS-Day ©2015. All rights reserved.
Connexion à Exchange Online
avec PowerShell
yOS-Tour - yOS-Day ©2015. All rights reserved.
Connexion à Exchange Online
avec PowerShell
yOS-Tour - yOS-Day ©2015. All rights reserved.
Les univers « PowerShell » Office 365
Petite gymnastique : Un langage unique mais des modules séparés
# Exchange Online
$exchSession = New-PSSession `
–ConfigurationName Microsoft.Exchange `
-ConnectionUri https://ps.outlook.com/powershell `
-Credential $c `
-Authentication Basic `
–AllowRedirection
Import-PSSession $exchSession –AllowClobber
# SharePoint
Import-Module Microsoft.Online.Sharepoint.PowerShell
Connect-SPOService -Url https://tenant-admin.sharepoint.com/ -Credential $c
Module Azure Active Directory
(MSOnline)
# Skype for Business (aka Lync Online)
Import-Module LyncOnlineConnector
$skypeSession = New-CsOnlineSession -Credential $c
Import-PSSession $skypeSession –AllowClobber
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell SharePoint
yOS-Tour - yOS-Day ©2015. All rights reserved.
Installation
• PowerShell 3.0
• SharePoint Online Management Shell
Utilisation
• Lancement du Shell
• Connexion au Centre d’administration SharePoint Online
• Enjoy !
Installation et Connexion
yOS-Tour - yOS-Day ©2015. All rights reserved.
David contre Goliath
• SharePoint On-Premises : 772 cmdlets
• SharePoint Online : 33 cmdlets
Nommage OnPrem vs Online
• Get-SPSite / Get-SPOSite
• Add-SPUser / Add-SPOUser
• Upgrade-SPSite / Upgrade-SPOSite
Les cmdlets SPO, quelles limitations ?
• Leur nombre
• Leur périmètre d’utilisation
Cmdlets SharePoint vs SharePoint Online
yOS-Tour - yOS-Day ©2015. All rights reserved.
Collections de site
• Get-SPOSite / New-SPOSite / Remove-SPOSite / Set-SPOSite
• Repair-SPOSite / Test-SPOSite / Upgrade-SPOSite / Request-SPOUpgradeEvaluationSite
• Get-SPODeletedSite / Remove-SPODeletedSite / Restore-SPODeletedSite
Tenants
• Get-SPOTenant
• Get-SPOTenantLogEntry
• Get-SPOTenantLogLastAvailableTimeInUtc
• Set-SPOTenant
Utilisateurs
• Add-SPOUser / Get-SPOUser / Remove-SPOUser / Set-SPOUser
• Get-SPOExternalUser / Remove-SPOExternalUser
Cmdlets SharePoint Online - Périmètre
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell Command Builder
PowerShell Command Builder
yOS-Tour - yOS-Day ©2015. All rights reserved.
Opérations « basiques »
• Recensement et export csv des collections de site d’un tenant
• Départ d’un employé : remplacement de l’utilisateur par un autre
Pour aller plus loin …
• Créer une liste ?
• Supprimer un sous-site ?
 Les cmdlets ne le permettent pas
La solution ?
• Associer ces cmdlets à du CSOM
Quelques exemples d’utilisation des cmdlets
yOS-Tour - yOS-Day ©2015. All rights reserved.
Client Side Object Model
• Sous-ensemble du modèle objet
• Utilisation différente
Pourquoi utiliser CSOM en plus des cmdlets SPO?
• Les cmdlets SPO sont utilisables au niveau du tenant
• CSOM est utilisable à tous les niveaux
Utilisation
• Possibilités infinies en combinant les 2
• Ex : Récupération des MySites (non renvoyés par le cmdlet Get-SPOSite)
Cmdlets SPO+ CSOM =
yOS-Tour - yOS-Day ©2015. All rights reserved.
Office 365 Developer Patterns and Practices
https://github.com/OfficeDev/PnP/wiki
https://github.com/OfficeDev/PnP
Yammer - O365 Dev Patterns & Practices
yOS-Tour - yOS-Day ©2015. All rights reserved.
Office 365 PnP – Quels usages ?
yOS-Tour - yOS-Day ©2015. All rights reserved.
Office 365 PnP - Vos identifiants ? Stockez-les !
# SharePoint Online with PNP PowerShell Commands ###
Import-Module Microsoft.Online.Sharepoint.PowerShell
Connect-SPOnline -Url https://istep365.sharepoint.com -Credentials etienneO365
Get-SPOWeb
yOS-Tour - yOS-Day ©2015. All rights reserved.
Démos
yOS-Tour - yOS-Day ©2015. All rights reserved.
Démo – Mettre en place une signature dynamique
Import-Module MSOnline
$c = Get-Credential
$session = New-PSSession –ConfigurationName Microsoft.Exchange `
-ConnectionUri https://ps.outlook.com/powershell
-Credential $c -Authentication Basic –AllowRedirection
Import-PSSession $session –AllowClobber
Set-ExecutionPolicy RemoteSigned
Connect-MsolService –Credential $c
$fichHTML = "C:DevPowerShelltempHTMLsignature_YosDaysMontPellierDYNAMIQUE.html"
# On applique la signature spécifique à tous les utilisateurs
Get-MsolUser |
ForEach {
$signHTML = (Get-Content $fichHTML) -f $_.DisplayName, $_.Title, `
$_.MobilePhone, $_.UserPrincipalName
Set-MailboxMessageConfiguration `
–Identity $_.UserPrincipalName `
-AutoAddSignature $True `
-SignatureHtml $signHTML
}
yOS-Tour - yOS-Day ©2015. All rights reserved.
Un peu de lecture…
yOS-Tour - yOS-Day ©2015. All rights reserved.
http://technet.microsoft.com/en-us/office/dn788774
Technet – Bible technique
yOS-Tour - yOS-Day ©2015. All rights reserved.
Technet Microsoft
https://technet.microsoft.com/fr-fr/
Active Directory Administration with Windows PowerShell
https://technet.microsoft.com/fr-fr/library/dd378937(v=ws.10).aspx
Active Directory Cmdlets in Windows PowerShell
https://technet.microsoft.com/fr-fr/library/ee617195.aspx
PowerShell Tools for Visual Studio
https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597
Connect to Office 365 by using a single Windows PowerShell window
https://technet.microsoft.com/en-us/library/dn568015.aspx
Scripts Office 365 – Exemple Gestion Mails
http://www.sysco.ch/website/?it=101785
Use PowerShell to Manage Office 365 Users
Liens utiles
yOS-Tour - yOS-Day ©2015. All rights reserved.
Skype for Business (aka Lync Online) PowerShell
http://blogs.technet.com/b/csps/
Configuring your computer for Lync Online management
https://technet.microsoft.com/en-us/library/dn362839.aspx
Windows PowerShell Module for Lync Online
https://www.microsoft.com/en-us/download/details.aspx?id=39366
Liens utiles
yOS-Tour - yOS-Day ©2015. All rights reserved.
Twitter officiels Office 365
https://twitter.com/Office365_Tech
https://twitter.com/Office365
Twitter Benoit Jester @SPAsipe
https://twitter.com/spasipe
Twitter Etienne Bailly @etienne_bailly
https://twitter.com/etienne_bailly
Yammer IT Pro Network
https://yammer.com/itpronetwork
Twitter & Yammer utiles
yOS-Tour - yOS-Day ©2015. All rights reserved.
PowerShell Tools for Visual Studio
yOS-Tour - yOS-Day ©2015. All rights reserved.
http://powershell.office.com
• Scripts d’exemple
• Scénarios utiles
• Aide
Coming Soon PowerShell for Office
yOS-Tour - yOS-Day ©2015. All rights reserved.
Office 365 Resources
yOS-Tour - yOS-Day ©2015. All rights reserved.
Questions ?
yOS-Tour - yOS-Day ©2015. All rights reserved.
#2 – yOS-Day à Montpellier le 12 juin 2015
Merci à nos sponsors
yOS-Tour - yOS-Day ©2015. All rights reserved.
#2 – yOS-Day à Montpellier le 12 juin 2015
yOS-Tour - yOS-Day ©2015. All rights reserved.
Le yOS-Tour débarque à Lyon !!!
11 décembre 2015

Contenu connexe

En vedette

Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataGateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataJean-Pierre Riehl
 
Self -Service Data preparation for Data-Driven marketing
Self -Service Data preparation for Data-Driven marketingSelf -Service Data preparation for Data-Driven marketing
Self -Service Data preparation for Data-Driven marketingJean-Michel Franco
 
Les nouveautés autour des Groupes Office 365 et les connecteurs
Les nouveautés autour des Groupes Office 365 et les connecteursLes nouveautés autour des Groupes Office 365 et les connecteurs
Les nouveautés autour des Groupes Office 365 et les connecteursEtienne Bailly
 
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...Etienne Bailly
 
How to Get Lightning Fast Answers with Power BI Q&A and Cortana
How to Get Lightning Fast Answers with Power BI Q&A and CortanaHow to Get Lightning Fast Answers with Power BI Q&A and Cortana
How to Get Lightning Fast Answers with Power BI Q&A and CortanaVishal Pawar
 
Partage et Collaboration avec Power BI
Partage et Collaboration avec Power BIPartage et Collaboration avec Power BI
Partage et Collaboration avec Power BIJean-Pierre Riehl
 
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017Ms Cloud Summit 2017 - Power Bi, le tour complet 2017
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017Isabelle Van Campenhoudt
 
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)serge luca
 
How To Make The Perfect Startup Pitch Deck
How To Make The Perfect Startup Pitch DeckHow To Make The Perfect Startup Pitch Deck
How To Make The Perfect Startup Pitch DeckBarcinno
 

En vedette (10)

Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem DataGateways to Power BI, Connect PowerBI.com to your On-Prem Data
Gateways to Power BI, Connect PowerBI.com to your On-Prem Data
 
Self -Service Data preparation for Data-Driven marketing
Self -Service Data preparation for Data-Driven marketingSelf -Service Data preparation for Data-Driven marketing
Self -Service Data preparation for Data-Driven marketing
 
Les nouveautés autour des Groupes Office 365 et les connecteurs
Les nouveautés autour des Groupes Office 365 et les connecteursLes nouveautés autour des Groupes Office 365 et les connecteurs
Les nouveautés autour des Groupes Office 365 et les connecteurs
 
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...
Collab365 - Gouvernance Office 365 avec PowerShell | Benoit Jester | Etienne ...
 
Security in 10 slides
Security in 10 slidesSecurity in 10 slides
Security in 10 slides
 
How to Get Lightning Fast Answers with Power BI Q&A and Cortana
How to Get Lightning Fast Answers with Power BI Q&A and CortanaHow to Get Lightning Fast Answers with Power BI Q&A and Cortana
How to Get Lightning Fast Answers with Power BI Q&A and Cortana
 
Partage et Collaboration avec Power BI
Partage et Collaboration avec Power BIPartage et Collaboration avec Power BI
Partage et Collaboration avec Power BI
 
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017Ms Cloud Summit 2017 - Power Bi, le tour complet 2017
Ms Cloud Summit 2017 - Power Bi, le tour complet 2017
 
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
BI : SharePoint 2016 BI or PowerBI v2 ? (O365 Saturday Copenhagen, 2016)
 
How To Make The Perfect Startup Pitch Deck
How To Make The Perfect Startup Pitch DeckHow To Make The Perfect Startup Pitch Deck
How To Make The Perfect Startup Pitch Deck
 

Similaire à Piloter Office 365 grâce à PowerShell - Les indispensables - Benoit Jester - Etienne Bailly

Pièges dans les nuages - yOS Montréal 29 octobre 2015
Pièges dans les nuages - yOS Montréal 29 octobre 2015Pièges dans les nuages - yOS Montréal 29 octobre 2015
Pièges dans les nuages - yOS Montréal 29 octobre 2015Patrick Guimonet
 
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...SPS Paris
 
Collab 365 - [FRENCH] Pièges dans les nuages
Collab 365 - [FRENCH] Pièges dans les nuagesCollab 365 - [FRENCH] Pièges dans les nuages
Collab 365 - [FRENCH] Pièges dans les nuagesPatrick Guimonet
 
aOS Aix en provence 2018
aOS Aix en provence 2018aOS Aix en provence 2018
aOS Aix en provence 2018Joëlle Ruelle
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour Lyon
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour LyonOsez faire le premier pas vers office 365 hybridez vous! - yOS Tour Lyon
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour LyonJoris Faure
 
yOS tour de Montréal
yOS tour de MontréalyOS tour de Montréal
yOS tour de MontréalLuc Labelle
 
2015 12-11 Plénière yOS-Lyon Office 365
2015 12-11 Plénière yOS-Lyon Office 3652015 12-11 Plénière yOS-Lyon Office 365
2015 12-11 Plénière yOS-Lyon Office 365Patrick Guimonet
 
2015-06-12 yOS day n°2 Montpellier - Hybrid time
2015-06-12 yOS day n°2 Montpellier - Hybrid time2015-06-12 yOS day n°2 Montpellier - Hybrid time
2015-06-12 yOS day n°2 Montpellier - Hybrid timePatrick Guimonet
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFSDenis Voituron
 
Clubmossfrance15 Decembre2008
Clubmossfrance15 Decembre2008Clubmossfrance15 Decembre2008
Clubmossfrance15 Decembre2008UGAIA
 
Piège dans les Nuages - Version Rebuild 2015 Nantes
Piège dans les Nuages - Version Rebuild 2015 NantesPiège dans les Nuages - Version Rebuild 2015 Nantes
Piège dans les Nuages - Version Rebuild 2015 NantesPatrick Guimonet
 
Introduction à AngularJS dans un contexte Office365
Introduction à AngularJS dans un contexte Office365Introduction à AngularJS dans un contexte Office365
Introduction à AngularJS dans un contexte Office365Sébastien Levert
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Franck Cornu
 
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTourDéployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTourPierre Fay
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...GSoft
 

Similaire à Piloter Office 365 grâce à PowerShell - Les indispensables - Benoit Jester - Etienne Bailly (20)

Pièges dans les nuages - yOS Montréal 29 octobre 2015
Pièges dans les nuages - yOS Montréal 29 octobre 2015Pièges dans les nuages - yOS Montréal 29 octobre 2015
Pièges dans les nuages - yOS Montréal 29 octobre 2015
 
SPS Paris 2017
SPS Paris 2017SPS Paris 2017
SPS Paris 2017
 
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
I4 - Méthodes d'audit et d'optimisation pour votre tenant Office 365 - Joelle...
 
Collab 365 - [FRENCH] Pièges dans les nuages
Collab 365 - [FRENCH] Pièges dans les nuagesCollab 365 - [FRENCH] Pièges dans les nuages
Collab 365 - [FRENCH] Pièges dans les nuages
 
aOS Aix en provence 2018
aOS Aix en provence 2018aOS Aix en provence 2018
aOS Aix en provence 2018
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour Lyon
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour LyonOsez faire le premier pas vers office 365 hybridez vous! - yOS Tour Lyon
Osez faire le premier pas vers office 365 hybridez vous! - yOS Tour Lyon
 
yOS tour de Montréal
yOS tour de MontréalyOS tour de Montréal
yOS tour de Montréal
 
2015 12-11 Plénière yOS-Lyon Office 365
2015 12-11 Plénière yOS-Lyon Office 3652015 12-11 Plénière yOS-Lyon Office 365
2015 12-11 Plénière yOS-Lyon Office 365
 
Sp summit2014 session 10-2
Sp summit2014   session 10-2Sp summit2014   session 10-2
Sp summit2014 session 10-2
 
2015-06-12 yOS day n°2 Montpellier - Hybrid time
2015-06-12 yOS day n°2 Montpellier - Hybrid time2015-06-12 yOS day n°2 Montpellier - Hybrid time
2015-06-12 yOS day n°2 Montpellier - Hybrid time
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
Clubmossfrance15 Decembre2008
Clubmossfrance15 Decembre2008Clubmossfrance15 Decembre2008
Clubmossfrance15 Decembre2008
 
Piège dans les Nuages - Version Rebuild 2015 Nantes
Piège dans les Nuages - Version Rebuild 2015 NantesPiège dans les Nuages - Version Rebuild 2015 Nantes
Piège dans les Nuages - Version Rebuild 2015 Nantes
 
Introduction à AngularJS dans un contexte Office365
Introduction à AngularJS dans un contexte Office365Introduction à AngularJS dans un contexte Office365
Introduction à AngularJS dans un contexte Office365
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTourDéployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
Déployer Magento2 dans MS Azure avec #zendServer et #docker ! @DarkmiraTour
 
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à Powe...
 

Piloter Office 365 grâce à PowerShell - Les indispensables - Benoit Jester - Etienne Bailly

  • 1. yOS-Tour - yOS-Day ©2015. All rights reserved. #2 – yOS-Day à Montpellier le 12 juin 2015 www.yos-tour.com contact@yos-tour.com @YosTour
  • 2. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell pour Office 365 Piloter Office 365 grâce à PowerShell - Les indispensables + =
  • 3. yOS-Tour - yOS-Day ©2015. All rights reserved. Benoît Jester MVP SharePoint, travaillant sur cette technologie depuis 10 ans. Administration, expertise SharePoint, Cloud, … t: @spasipe b: spasipe.wordpress.com F: Benoit Jester
  • 4. yOS-Tour - yOS-Day ©2015. All rights reserved. Etienne Bailly MCT | Office 365 & SharePoint enthusiast Fondateur de la société ISTEP t: @etienne_bailly b: http://www.istep.fr/blog F : Etienne Bailly (Microsoft Certified Trainer)
  • 5. yOS-Tour - yOS-Day ©2015. All rights reserved. Agenda
  • 6. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell ? Pourquoi PowerShell pour Office 365 ? Let’s connect to Office 365 PowerShell SharePoint Démos ! Un peu de lecture … Au menu de cette présentation
  • 7. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell ?
  • 8. yOS-Tour - yOS-Day ©2015. All rights reserved. Langage de script orienté objet - repose sur le Framework .Net Snapins / Modules Cmdlets / Functions • Ex : Get-Service, Set-SPContentDatabase, … Paramètres • -Debug, -ErrorAction, -ErrorVariable, -Whatif, -Confirm Alias • dir  Get-ChildItem • cd  Set-Location • gcm  Get-Command PowerShell ?
  • 9. yOS-Tour - yOS-Day ©2015. All rights reserved. Cmdlet Description Alias Get-Help Aide sur une commande -example help, man Get-Member Retourne les propriétés, méthodes d’un objet gm Get-Module Liste les modules chargés gmo Get-PSSnapin Liste les « snapins » chargés gsnp Get-Command Ou « Show-Command » montre les Cdlets du Module gcm shcm Description Alias | Un « Pipeline » peut contenir une ou plusieurs commandes séparées par le caractère « pipe » ( | ) $PSItem Représente l’objet courant $_ Where Ou « Where-Object » ou « ? » ? ForEach Ou « ForEach-Object » ou « % » % Select Définit les propriétés à récupérer Un peu de syntaxe … Description Import-Csv Import CSV Out-File Export fichier (.txt) Out-Csv Export CSV (.csv)
  • 10. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell – quelques exemples # Accès au journal des événements (Event Viewer). 50 dernières connexions # "C'est ki ki s'est connecté pour tout fracasser sur le serveur de Prod ??" Get-EventLog -LogName Security | Where EventID -eq 4624 | Select -First 50 # Les fichiers supérieurs à 50 Mb (en cascade - récursif) Get-ChildItem -Path c:temp -Recurse | Where-Object { $_.Length -gt 20MB } # Les services Windows démarrés Get-Service | Where { $_.Status –eq 'Running' } # Les process IIS gourmands.... Get-Process | Where { $_.Name -like "*w3wp*" -and $_.PM –gt 300MB } | Sort PM -Descending
  • 11. yOS-Tour - yOS-Day ©2015. All rights reserved. Pourquoi PowerShell pour Office 365 ?
  • 12. yOS-Tour - yOS-Day ©2015. All rights reserved. Six raisons pour lesquelles nous vous recommandons d’utiliser Windows PowerShell pour gérer Office 365 PowerShell, Pourquoi ? Windows PowerShellpeut révélerdes informations« masquées», non disponibles dans le Centred’administration Office 365 comporte des fonctionnalitésque vous ne pouvez configurer qu’àl’aide de Windows PowerShell Windows PowerShellexcelle à effectuerdesopérationsen bloc Windows PowerShellfiltre efficacementles données Windows PowerShellfacilite l’impressionou l’enregistrementdesdonnées Windows PowerShellpermet une gestion reposantsur plusieursproduits C’est tout ? Non, pas tout à fait : l’utilisation de Windows PowerShell dans le cadre de la gestion d’Office 365 est pratiquement illimitée
  • 13. yOS-Tour - yOS-Day ©2015. All rights reserved. Les différents outils pour administrer Office 365
  • 14. yOS-Tour - yOS-Day ©2015. All rights reserved. Let’s connect to Office 365 !
  • 15. yOS-Tour - yOS-Day ©2015. All rights reserved. Windows 7, 8, 8.1, … Windows Server 2008 R2, Windows Server 2012, 2012 R2 Microsoft .NET Framework 3.51 (min) Microsoft Online Services Sign-in Assistant Module Azure Active Directory pour Windows PowerShell Prérequis – PowerShell pour Office 365
  • 16. yOS-Tour - yOS-Day ©2015. All rights reserved. Microsoft Online Services Sign-In Assistant https://www.microsoft.com/en-us/download/details.aspx?id=41950
  • 17. yOS-Tour - yOS-Day ©2015. All rights reserved. Microsoft Online Services Sign-In Assistant
  • 18. yOS-Tour - yOS-Day ©2015. All rights reserved. Module Azure Active Directory pour Windows PowerShell http://go.microsoft.com/fwlink/p/?linkid=236297
  • 19. yOS-Tour - yOS-Day ©2015. All rights reserved. Se connecter à Office 365 avec PowerShell ################################## # Connexion à Office 365 Import-Module MSOnline $c = Get-Credential Connect-MsolService –Credential $c
  • 20. yOS-Tour - yOS-Day ©2015. All rights reserved. Connexion à Exchange Online avec PowerShell ################################## # Connexion à Exchange Online Import-Module MSOnline # Azure AD Module $c = Get-Credential $exchSession = New-PSSession ` –ConfigurationName Microsoft.Exchange ` -ConnectionUri https://ps.outlook.com/powershell ` -Credential $c ` -Authentication Basic ` –AllowRedirection Import-PSSession $exchSession –AllowClobber Set-ExecutionPolicy RemoteSigned Connect-MsolService –Credential $c
  • 21. yOS-Tour - yOS-Day ©2015. All rights reserved. Connexion à Exchange Online avec PowerShell
  • 22. yOS-Tour - yOS-Day ©2015. All rights reserved. Connexion à Exchange Online avec PowerShell
  • 23. yOS-Tour - yOS-Day ©2015. All rights reserved. Les univers « PowerShell » Office 365 Petite gymnastique : Un langage unique mais des modules séparés # Exchange Online $exchSession = New-PSSession ` –ConfigurationName Microsoft.Exchange ` -ConnectionUri https://ps.outlook.com/powershell ` -Credential $c ` -Authentication Basic ` –AllowRedirection Import-PSSession $exchSession –AllowClobber # SharePoint Import-Module Microsoft.Online.Sharepoint.PowerShell Connect-SPOService -Url https://tenant-admin.sharepoint.com/ -Credential $c Module Azure Active Directory (MSOnline) # Skype for Business (aka Lync Online) Import-Module LyncOnlineConnector $skypeSession = New-CsOnlineSession -Credential $c Import-PSSession $skypeSession –AllowClobber
  • 24. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell SharePoint
  • 25. yOS-Tour - yOS-Day ©2015. All rights reserved. Installation • PowerShell 3.0 • SharePoint Online Management Shell Utilisation • Lancement du Shell • Connexion au Centre d’administration SharePoint Online • Enjoy ! Installation et Connexion
  • 26. yOS-Tour - yOS-Day ©2015. All rights reserved. David contre Goliath • SharePoint On-Premises : 772 cmdlets • SharePoint Online : 33 cmdlets Nommage OnPrem vs Online • Get-SPSite / Get-SPOSite • Add-SPUser / Add-SPOUser • Upgrade-SPSite / Upgrade-SPOSite Les cmdlets SPO, quelles limitations ? • Leur nombre • Leur périmètre d’utilisation Cmdlets SharePoint vs SharePoint Online
  • 27. yOS-Tour - yOS-Day ©2015. All rights reserved. Collections de site • Get-SPOSite / New-SPOSite / Remove-SPOSite / Set-SPOSite • Repair-SPOSite / Test-SPOSite / Upgrade-SPOSite / Request-SPOUpgradeEvaluationSite • Get-SPODeletedSite / Remove-SPODeletedSite / Restore-SPODeletedSite Tenants • Get-SPOTenant • Get-SPOTenantLogEntry • Get-SPOTenantLogLastAvailableTimeInUtc • Set-SPOTenant Utilisateurs • Add-SPOUser / Get-SPOUser / Remove-SPOUser / Set-SPOUser • Get-SPOExternalUser / Remove-SPOExternalUser Cmdlets SharePoint Online - Périmètre
  • 28. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell Command Builder PowerShell Command Builder
  • 29. yOS-Tour - yOS-Day ©2015. All rights reserved. Opérations « basiques » • Recensement et export csv des collections de site d’un tenant • Départ d’un employé : remplacement de l’utilisateur par un autre Pour aller plus loin … • Créer une liste ? • Supprimer un sous-site ?  Les cmdlets ne le permettent pas La solution ? • Associer ces cmdlets à du CSOM Quelques exemples d’utilisation des cmdlets
  • 30. yOS-Tour - yOS-Day ©2015. All rights reserved. Client Side Object Model • Sous-ensemble du modèle objet • Utilisation différente Pourquoi utiliser CSOM en plus des cmdlets SPO? • Les cmdlets SPO sont utilisables au niveau du tenant • CSOM est utilisable à tous les niveaux Utilisation • Possibilités infinies en combinant les 2 • Ex : Récupération des MySites (non renvoyés par le cmdlet Get-SPOSite) Cmdlets SPO+ CSOM =
  • 31. yOS-Tour - yOS-Day ©2015. All rights reserved. Office 365 Developer Patterns and Practices https://github.com/OfficeDev/PnP/wiki https://github.com/OfficeDev/PnP Yammer - O365 Dev Patterns & Practices
  • 32. yOS-Tour - yOS-Day ©2015. All rights reserved. Office 365 PnP – Quels usages ?
  • 33. yOS-Tour - yOS-Day ©2015. All rights reserved. Office 365 PnP - Vos identifiants ? Stockez-les ! # SharePoint Online with PNP PowerShell Commands ### Import-Module Microsoft.Online.Sharepoint.PowerShell Connect-SPOnline -Url https://istep365.sharepoint.com -Credentials etienneO365 Get-SPOWeb
  • 34. yOS-Tour - yOS-Day ©2015. All rights reserved. Démos
  • 35. yOS-Tour - yOS-Day ©2015. All rights reserved. Démo – Mettre en place une signature dynamique Import-Module MSOnline $c = Get-Credential $session = New-PSSession –ConfigurationName Microsoft.Exchange ` -ConnectionUri https://ps.outlook.com/powershell -Credential $c -Authentication Basic –AllowRedirection Import-PSSession $session –AllowClobber Set-ExecutionPolicy RemoteSigned Connect-MsolService –Credential $c $fichHTML = "C:DevPowerShelltempHTMLsignature_YosDaysMontPellierDYNAMIQUE.html" # On applique la signature spécifique à tous les utilisateurs Get-MsolUser | ForEach { $signHTML = (Get-Content $fichHTML) -f $_.DisplayName, $_.Title, ` $_.MobilePhone, $_.UserPrincipalName Set-MailboxMessageConfiguration ` –Identity $_.UserPrincipalName ` -AutoAddSignature $True ` -SignatureHtml $signHTML }
  • 36. yOS-Tour - yOS-Day ©2015. All rights reserved. Un peu de lecture…
  • 37. yOS-Tour - yOS-Day ©2015. All rights reserved. http://technet.microsoft.com/en-us/office/dn788774 Technet – Bible technique
  • 38. yOS-Tour - yOS-Day ©2015. All rights reserved. Technet Microsoft https://technet.microsoft.com/fr-fr/ Active Directory Administration with Windows PowerShell https://technet.microsoft.com/fr-fr/library/dd378937(v=ws.10).aspx Active Directory Cmdlets in Windows PowerShell https://technet.microsoft.com/fr-fr/library/ee617195.aspx PowerShell Tools for Visual Studio https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597 Connect to Office 365 by using a single Windows PowerShell window https://technet.microsoft.com/en-us/library/dn568015.aspx Scripts Office 365 – Exemple Gestion Mails http://www.sysco.ch/website/?it=101785 Use PowerShell to Manage Office 365 Users Liens utiles
  • 39. yOS-Tour - yOS-Day ©2015. All rights reserved. Skype for Business (aka Lync Online) PowerShell http://blogs.technet.com/b/csps/ Configuring your computer for Lync Online management https://technet.microsoft.com/en-us/library/dn362839.aspx Windows PowerShell Module for Lync Online https://www.microsoft.com/en-us/download/details.aspx?id=39366 Liens utiles
  • 40. yOS-Tour - yOS-Day ©2015. All rights reserved. Twitter officiels Office 365 https://twitter.com/Office365_Tech https://twitter.com/Office365 Twitter Benoit Jester @SPAsipe https://twitter.com/spasipe Twitter Etienne Bailly @etienne_bailly https://twitter.com/etienne_bailly Yammer IT Pro Network https://yammer.com/itpronetwork Twitter & Yammer utiles
  • 41. yOS-Tour - yOS-Day ©2015. All rights reserved. PowerShell Tools for Visual Studio
  • 42. yOS-Tour - yOS-Day ©2015. All rights reserved. http://powershell.office.com • Scripts d’exemple • Scénarios utiles • Aide Coming Soon PowerShell for Office
  • 43. yOS-Tour - yOS-Day ©2015. All rights reserved. Office 365 Resources
  • 44. yOS-Tour - yOS-Day ©2015. All rights reserved. Questions ?
  • 45. yOS-Tour - yOS-Day ©2015. All rights reserved. #2 – yOS-Day à Montpellier le 12 juin 2015 Merci à nos sponsors
  • 46. yOS-Tour - yOS-Day ©2015. All rights reserved. #2 – yOS-Day à Montpellier le 12 juin 2015
  • 47. yOS-Tour - yOS-Day ©2015. All rights reserved. Le yOS-Tour débarque à Lyon !!! 11 décembre 2015