Office 365 Dev PnP & PowerShell : Exploitez enfin le potentiel de votre écosystème Office 365
Gilles PommierMVP SharePoint
Etienne BaillyMVP Office Servers & Services@etienne_baillyISTEP
@gipisbackSMARTVIEW
Gilles Pommier
Montpellier, FRANCE smartview.fr Office365 MVP
Community Member
[email protected] http://www.smartview.fr
Etienne Bailly
Lyon, FRANCE istepOffice 365 & SharePoint
enthusiast :)
MCT @etienne_bailly www.istep.fr/blog
Etienne Bailly
AgendaLet’s connect to Office 365 !PowerShell & Power BIGouvernance avec PowerShellOffice PnP-PowerShell : Unlock the powerDemos, Demos, Demos
Let’s connect to Office 365 !
Pourquoi utiliser PowerShell avec Office 365 ?
Automatiser des tâches
Administrer plus !
Surveillance / Gouvernance
Gérer tous les produits Office 365 (et non Office 365) avec le même langage
Import / Export de données en masse
PrérequisPowerShell pour Office 365
Windows 7 ou + Windows Server 2008 R2 ou +
Microsoft .NET Framework 3.51 ou +
Microsoft Online Services Sign-in Assistant
Module Azure Active Directory pour Windows PowerShell
Toutes les infos pour bien démarrer avec PowerShell sur powershell.office.com
http://powershell.office.com/get-started
Se connecter aux différents Services 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 `–AllowRedirectionImport-PSSession $exchSession –AllowClobber
# SharePoint Import-Module Microsoft.Online.Sharepoint.PowerShellConnect-SPOService -Url https://tenant-admin.sharepoint.com/ -Credential $c
Module Azure Active Directory (MSOnline)
# Skype for BusinessImport-Module LyncOnlineConnector$skypeSession = New-CsOnlineSession -Credential $cImport-PSSession $skypeSession –AllowClobber# Connexion à AzureAD
Import-Module MSOnline$c = Get-CredentialConnect-MsolService –Credential $c
Démo
Mettre en place une stratégie de signature mail
## Appliquer une signature de mail # pour les utilisateurs ciblés#
# Connexion & Importation du Module complémentaire Exchange OnlineImport-Module MSOnline$c = Get-Credential$session = New-PSSession `–ConfigurationName Microsoft.Exchange `-ConnectionUri https://ps.outlook.com/powershell `-Credential $c `-Authentication Basic `–AllowRedirectionImport-PSSession $session –AllowClobber
Connect-MsolService –Credential $c
$fichHTML = "C:\DevPowerShell\InPowserShellWeTrust\InPwShellWeTrust\HTML\signature_MSExp16_DYNAMIQUE.html"
# On applique la signature spécifique à tous les utilisateurs Get-MsolUser | Where { $_.UserPrincipalName -like '*@experiences16.onmicrosoft.com' } |ForEach {$signHTML = (Get-Content $fichHTML) -f $_.DisplayName, $_.Title, $_.MobilePhone, $_.UserPrincipalNameWrite-host $_.UserPrincipalNameSet-MailboxMessageConfiguration `–Identity $_.UserPrincipalName `-AutoAddSignature $True `-SignatureHtml $signHTML}
Démo – Mettre en place une signature dynamiqueChamps personnalisés liés à l’utilisateur
Bannière globale commune à tous les utilisateurs
PowerShell & Power BI
Démo – PowerShell & PowerBI
Gouvernance avec PowerShell
Exemple – Surveillance des Groupes Office 365
Source : Benjamin Niaulin – ShareGate - “Think You Know What's in Office 365? Think Again" http://en.share-gate.com/blog/what-is-in-office-365
Au delà des fonctionnalités initiales (Discussions / Calendrier / OneDrive / Bloc-Notes),
les groupes Office 365 deviennent la couche transverse permettant de connecter les bonnes personnes aux services O365(PowerBI / Planner / ….)
Connecter les bonnes personnes aux services O365
Azure Active Directory
Apps
Skyp
e
…Ou
tlook
OneD
rive
Cale
ndar
OneN
ote
Yam
mer
Dyna
mics
CRM
Delv
e
Office 365 Groups
Schéma source : Microsoft Ignite – 2015 May - Christophe Fiessinger – Amit Gupta https://channel9.msdn.com/Events/Ignite/2015/BRK2114
Avantages : • Simple à utiliser• Complètement transverse• Réussi à gérer les agendas de
manière simple• Totalement intégré à Office 2016
(Outlook)• + d’intégration à venir (Delve,
Yammer, …)
Inconvénients : • Tout le monde peut en créer
sans restriction• A ce jour pas facile à maîtriser
pour les admins• C’est encore un nouvel espace
de stockage, encore un nouvel espace de conversation…
Les groupes Office 365
Après un pilote concluant, mon client lance un déploiement massif d’Office 365 pour tous les utilisateursUne stratégie est mise en place :• Un intranet structuré (Team Sites) en SharePoint Online
(la création des espaces/sites est maîtrisée par les admins)
• Les partages externes sont assurés par Yammer
• OneDrive 4 Business est autorisé pour les fichiers « de travail »
Les groupes Office 365 arrivent en force (de force ?)• Nouvel espace de stockage (sans gouvernance)• Tout le monde peut créer des groupes …. • Le déploiement est en cours …• Panique chez les administrateurs…
Retour d’expérience terrain
Office 365 GroupsDécision radicale des
administrateurs :
On bloque les groupes Office 365
Set-OwaMailboxPolicy -Identity istep365.onmicrosoft.com\OwaMailboxPolicy-Default ` -GroupCreationEnabled $false
Attendre plusieurs heures avant que la répercussion soit effectuée sur toutes les boites aux lettres …
Désactiver globalement la créationdes groupes Office 365
Ceci n’est pas une bonne
approche, optez pour plus de
finesse !
New-OwaMailboxPolicy -Name MyNewPolicy
Set-OwaMailboxPolicy -Identity pshell365.onmicrosoft.com\MyNewPolicy ` -GroupCreationEnabled $false
Set-CASMailbox [email protected] ` -OwaMailboxPolicy "MyNewPolicy"
1. On crée une nouvelle Policy sur laquelle on applique la restriction.
2. On applique cette Policy aux utilisateurs concernés
Désactiver plus finement la création des groupes Office 365
Etienne a accès à la création de groupes
Obiwan ne peut pas créer de groupes
Démo
Gouvernance autour des Groupes Office 365Maîtriser les “accès invités externes” (nouveauté !)
PnP
Office PnP-PowerShellUnlock the power
Build your connected
script
Connect to SharePoint
(online or on-premise)
Getting started with PnP PowerShell
Install PnP PowerShell CmdLets
Installer les bibliothèques PnP-PowerShellhttps://github.com/officedev/pnp-powershell/releases
Customization & automation for SharePoint Online
With the SharePoint
Online Module
With the SharePoint Client
Side Object Model (CSOM)
With the OfficeDev PnP
PowerShell Commands
With the SharePoint REST
APIs
With the Classical dev
solutions
SharePoint Online Module CmdLets
Previously … CSOM
For
Deve
lopers
Only
PnP-PowerShell commands : what?
Démo
Office Dev PnP – PowerShell Commands
Le petit plus !
Des nouveautés sur PnP
Un peu de lecture
Liens & ressources utiles
https://github.com/SharePoint/sp-dev-docshttps://github.com/SharePoint/sp-dev-fx-webpartshttps://github.com/SharePoint/sp-dev-sampleshttps://github.com/OfficeDev/PnPhttps://github.com/OfficeDev/PnP-Sites-Corehttps://github.com/OfficeDev/PnP-PowerShellhttps://github.com/OfficeDev/PnP-Toolshttps://github.com/OfficeDev/PnP-JS-Corehttps://github.com/OfficeDev/PnP-Guidancehttps://github.com/OfficeDev/PnP-Transformationhttps://github.com/OfficeDev/PnP-OfficeAddInshttps://github.com/OfficeDev/PnP-Provisioning-Schema
https://aka.ms/sppnp-videos
https://aka.ms/sppnp-msdn
https://aka.ms/sppnp-community
https://aka.ms/sppnp-partner-pack
@OfficeDevPnP
http://aka.ms/sppnp-callhttp://aka.ms/sppnp-jssig
https://aka.ms/sppnp-docs
Microsoft TechCommunity
aka.ms/SharePointPnP
aka.ms/OfficeDevPnP
Documentations PnPhttps://docs.com/officedevpnp
N° 33
Exemples de Codes ? C’est possible!http://dev.office.com/code-samples
N° 34
N° 35
@microsoftfrance @Technet_France @msdev_fr@gipisback @etienne_bailly
N° 36
N° 37
Top Related