sharepoint saturday montreal 2016- automatisation powershell
TRANSCRIPT
SharePoint Saturday Montréal#SPSMontreal
2 avril 2016
SharePoint Saturday Montréal
Automatisation de SharePoint avec PowerShellNik CharleboisSharePoint Premier Field Engineer
SharePoint Saturday Montréal#SPSMontreal
Plat
ine
Or Arge
nt
Merci à nos commanditaires !
Bron
ze
SharePoint Saturday Montréal#SPSMontreal
Ce soir à 18h636 Cathcart
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
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.
SharePoint Saturday Montréal#SPSMontreal
Prérequis• Connaissances de base de PowerShell;
• Connaissances de base du modèle d’objets de SharePoint;
• Avoir Windows Management Framework 5 (pour les démos)
SharePoint Saturday Montréal#SPSMontreal
Agenda
Desired State
Configuration
PowerShellGet
InnovationOffice 365
PowerShellGet PowerShell
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.
SharePoint Saturday Montréal#SPSMontreal
PowerShellGet[…]
SharePoint Saturday Montréal#SPSMontreal
PowerShellGet[…]
SharePoint Saturday Montréal#SPSMontreal
PowerShellGet[…]
Desired State Configuration
« État de configuration désiré »
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.
SharePoint Saturday Montréal#SPSMontreal
Script de configuration DSCConfiguration TestWebServer{ node VMServer1.contoso.com { File UlsViewerDownload { DestinationPath = "C:\Tools\UlsViewer.exe" Ensure = "Present" SourcePath = "\\DSCPull\PullServer\ULSViewer\ULSViewer.exe" Type = "File" }
WindowsFeature WebRoleExample {
Ensure = “Present”Name = “Web-Server”
} }}TestWebServer –OutputPath “C:\DSCConfigs\TestWebServer”
SharePoint Saturday Montréal#SPSMontreal
Modes de DSCPousse (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”.
SharePoint Saturday Montréal#SPSMontreal
Exécution de DSC
SharePoint Saturday Montréal#SPSMontreal
Exécution de DSC […]• Start-DSCConfiguration = Make it So!
SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC
* Utilise maintenant une approche “Open-Source”
DSC Resources Kits Waves*
Module 1 Module 2 Module n...
Resource 1 Resource 2
Resource n
...Resource 1 Resource 2
Resource n
...Resource 1 Resource 2
Resource n
...
Ex: Module = xChromeResource = Favorites
SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSCWave 1
xComputer
xVHD
xIPAddress
xWebSite
...
Wave 2
xADDomain
xADUser
xFirewall
xSQLServerInstall
...
…
Wave 10
xDisk
xReleaseManagement
xAzurePack
xOU
...
DSC Resource Wave Kits
Module
Resource
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
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 Files\WindowsPowerShell\Modules\” pour les rendre disponibles aux sessions PowerShell;
DSC Resource Wave Kits
Module
Resource
SharePoint Saturday Montréal#SPSMontreal
Aperçut de DSC […]• Une ressource représente un composant d’un logiciel que
l’on veut configurer avec DSCo Ex:DSC Resource Wave Kits
Module
Resource
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-TargetResourceo Set-TargetResourceo Test-TargetResource
DSC Resource Wave Kits
Module
Resource
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
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).
DémoxSharePoint
Office 365
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.
SharePoint Saturday Montréal#SPSMontreal
SharePoint Online Management Shell[…]
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.
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
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
DémoOffice Dev PnP
DSC inversé
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 »;
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;
DémoDSC Inversé
?