PowerShell for SharePoint - SharePoint Saturday Montréal 2014
SharePoint saturday montreal 2016- automatisation powershell
1. SharePoint Saturday Montréal#SPSMontreal
2 avril 2016
SharePoint Saturday
Montréal
Automatisation de SharePoint avec
PowerShell
Nik Charlebois
SharePoint Premier Field Engineer
4. Nik Charlebois
• Microsoft SharePoint Premier Field Engineer
• Ex-Microsoft MVP
• Plus de 10 ans d’expérience avec SharePoint
• Auteur « Beginning PowerShell for SharePoint »
• Focusse sur le développement
• Blog: NikCharlebois.com
• @NikCharlebois
5. SharePoint Saturday Montréal#SPSMontreal
But de cette session
• Offrir un aperçut des nouveautés de PowerShell v4 et +;
• Démontrer comment utiliser PowerShell localement et dans le
nuage;
• Donner un aperçut de ce que le futur nous réserve.
9. SharePoint Saturday Montréal#SPSMontreal
PowerShellGet
• Pensez-y comme si il s’agissait de la platteforme NuGet de PowerShell;
• Nécessite Windows Management Framework 5 (PowerShell 5) ou le module
PowerShellGet pour PowerShell v3 et v4;
• Préconfiguré avec la gallerie PowerShell:
• PowerShell Gallery (http://PowerShellGallery.org)
• Permet de télécharger et installer automatiquement des paquets approuvés.
14. SharePoint Saturday Montréal#SPSMontreal
Desired State Configuration (DSC)
• Connu sous le nom d’engin « Make-it-so »;
• Définit la configuration d’une machine et l’applique;
• Agit comme un exécuteur (gardien) de la configuraton définie;
• Introduit dans WMF 4.0, mais grandement amélioré dans la version 5.
16. SharePoint Saturday Montréal#SPSMontreal
Modes de DSC
Pousse (DSC Push): Tire (DSC Pull):
• Les scripts DSC sont situés et executés
directement sur la machine à configurer;
• Les changement à une configuration
DSC doivent être appliqués sur chaque
machine;
• Chaque machine doit avoir toutes les
ressources DSC nécessaires d’installer
localement avec de rouler le script de
configuration.
• Les scripts DSC sont situés sur un serveur
central nommé “Pull Server”;
• Les changements à la configuration DSC
doivent être fait au niveau du serveur
central seulement;
• Les serveurs n’ont pas besoin d’avoir
toutes les ressources DSC nécessaires
d’installer localement. Elles seront
téléchargées du “Pull Server”.
21. SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]
• Depuis avril 2015 les ensembles de ressources DSC
sont “open-source”;
• L’approche des vagues n’est maintenant plus utilisée;
• GitHub est maintenant le repertoire principal pour
toutes les ressources DSC;
• Les gens sont libres de fourcher le code pour leur
propres intérêts ou de soumettre une demande de
fusion avec les propriétaires du projet;
DSC Resource Wave Kits
Module
Resource
22. SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]
• Le nom des modules débutent par ‘x’ pour indiquer qu’ils
sont en phase expérimentale (ou par ‘c’ pour indiquer qu’ells
sont gérés par la communauté;;
• Normallement spécifique pour un logiciel précis ou une
composante OS/Serveur (ex: xFireFox, xChrome,
xActiveDirectory);
• Il y a présentement 600 modules DSC officiels approuvés par
Microsoft;
• Les modules DSC peuvent être téléchargés et placés sous
“C:Program FilesWindowsPowerShellModules” pour les rendre
disponibles aux sessions PowerShell;
DSC Resource Wave Kits
Module
Resource
23. SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]
• Une ressource représente un composant d’un logiciel que l’on veut
configurer avec DSC
o Ex:
DSC Resource Wave Kits
Module
Resource
24. SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]
• Le nom des ressources est constitué du nom de la compagnie, suivi par le
nom de la resource (ex: MSFT_xWebSite);
• Les ressources contiennent toutes 2 fichiers:
1) Module PowerShell (.psm1): contient la logique;
2) Fichier de schema MOF: Défini l’information à propos de la
ressource et de ses paramètres (interface);
• Un module DSC de PowerShell contient toujours au moins 3 fonctions:
o Get-TargetResource
o Set-TargetResource
o Test-TargetResource
DSC Resource Wave Kits
Module
Resource
25. SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]
• Get-TargetResource:
o Retourne simplement l’état actuel de la machine à configurer;
• Set-TargetResource:
o Fonction responsable du “make-it-so”. C’est ici que la logique de
configuration prend place;
• Test-TargetResource:
o Compare chaque paramètre défini dans le fichier schema et la
configuration actuelle du serveur (obtenue par Get-
TargetResource). S’assure que le serveur est dans la configuration
désirée et retourne vrai ou faux.
DSC Resource Wave Kits
Module
Resource
26. SharePoint Saturday Montréal#SPSMontreal
Mesdames et messieurs, xSharePoint!
• Cible SharePoint 2013 et 2016;
• Initialement rendu disponible en avril 2015;
• Disponible dès aujourd’hui http://GitHub.com/PowerShell/xSharePoint
• Version 1.0.0.0 sera lancée aux alentours du 15 avril 2016;
• Contient plus de 53 ressources (xSPWebApplication, xSPSite, etc.);
• Maintenu par Microsoft (approche meilleur effort).
27.
28.
29. SharePoint Saturday Montréal#SPSMontreal
SharePoint Online Management Shell
• Téléchargement gratuit de Microsoft;
• Inclut des cmdlets de PowerShell pour gérer les usagers, les
groupes et les sites de SharePoint Online;
• Installe le module Microsoft.Online.SharePoint.PowerShell;
• Contient « aujourd’hui » 42 cmdlets au total.
31. SharePoint Saturday Montréal#SPSMontreal
Intéragir avec SharePoint à distance
• Depuis SharePoint 2010, nous avons le modèle d’objet
Client (CSOM);
• Ce modèle vient en trois saveurs:
• JavaScript
• .NET
• Silverlight
• Puisque PowerShell utilise .NET, nous pouvons utiliser
CSOM avec PowerShell.
32. SharePoint Saturday Montréal#SPSMontreal
CSOM avec PowerShell
• Nécessite de charger les modules suivants dans votre
session PowerShell:
• Microsoft.SharePoint.Client
• Microsoft.SharePoint.Client.Runtime
33. SharePoint Saturday Montréal#SPSMontreal
Office Dev Patterns & Practices
• Défini plus de 150 cmdlets additionnels;
• Fonctionne autant avec une instance « on-premises » que
pour Office 365;
• Offre des cmdlets interagissant avec des niveaux plus
granulaires que ceux par défaut:
• Ex: New-SPOList
34.
35.
36. SharePoint Saturday Montréal#SPSMontreal
SharePointx xSharePoint
• Module permettant l’extraction d’un script de configuration
DSC à partir d’un environnement SharePoint existant;
• Applications:
• Faciliter l’analyse de problème (recréer localement un environnement client);
• Accélérer la migration vers Azure;
• Rafraîchir rapidement et fréquemment un environnement dev/QA;
• Comparer la configuration de deux environnements ou à un « point dans le
temps »;
37. SharePoint Saturday Montréal#SPSMontreal
DSC inversé
• Le module appelle chaque fonction Get-TargetResource,
permettant de simplifier le code et permettre la réutilisation;
• Possibilité de définir les mêmes comptes services (si destination
sous le même domaine) ou de simplement utiliser des nouveaux;
• Tous les paramètres sont préservés, à l’exception des clés
d’encryption;