SharePoint Saturday Montréal#SPSMontreal 2 avril 2016 SharePoint Saturday Montréal Automatisation de SharePoint avec PowerShell Nik Charlebois SharePoint Premier Field Engineer
SharePoint Saturday Montréal#SPSMontreal Or Argent Merci à nos commanditaires ! Bronz e
SharePoint Saturday Montréal#SPSMontreal Ce soir à 18h 636 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:
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 Innovation
Power Shell
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 ( 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[…]
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 DSC Configuration 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 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”.
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”
SharePoint Saturday Montréal#SPSMontreal Aperçut de DSC …
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;
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;
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:
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
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.
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 Version sera lancée aux alentours du 15 avril 2016; Contient plus de 53 ressources (xSPWebApplication, xSPSite, etc.); Maintenu par Microsoft (approche meilleur effort).
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
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;