sharepoint saturday montreal 2016- automatisation powershell

39
SharePoint Saturday Mo #SPSMontrea l 2 avril 2016 SharePoint Saturday Montréal Automatisation de SharePoint avec PowerShell Nik Charlebois SharePoint Premier Field Engineer

Upload: nikolas-charlebois-laprade

Post on 12-Apr-2017

72 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

2 avril 2016

SharePoint Saturday Montréal

Automatisation de SharePoint avec PowerShellNik CharleboisSharePoint Premier Field Engineer

Page 2: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

Plat

ine

Or Arge

nt

Merci à nos commanditaires !

Bron

ze

Page 3: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

Ce soir à 18h636 Cathcart

Page 4: SharePoint saturday montreal   2016- automatisation powershell

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

Page 5: SharePoint saturday montreal   2016- automatisation powershell

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.

Page 6: SharePoint saturday montreal   2016- automatisation powershell

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)

Page 7: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

Agenda

Desired State

Configuration

PowerShellGet

InnovationOffice 365

Page 8: SharePoint saturday montreal   2016- automatisation powershell

PowerShellGet PowerShell

Page 9: SharePoint saturday montreal   2016- automatisation 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.

Page 10: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

PowerShellGet[…]

Page 11: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

PowerShellGet[…]

Page 12: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

PowerShellGet[…]

Page 13: SharePoint saturday montreal   2016- automatisation powershell

Desired State Configuration

« État de configuration désiré »

Page 14: SharePoint saturday montreal   2016- automatisation powershell

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.

Page 15: SharePoint saturday montreal   2016- automatisation powershell

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”

Page 16: SharePoint saturday montreal   2016- automatisation powershell

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”.

Page 17: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

Exécution de DSC

Page 18: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

Exécution de DSC […]• Start-DSCConfiguration = Make it So!

Page 19: SharePoint saturday montreal   2016- automatisation powershell

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

Page 20: SharePoint saturday montreal   2016- automatisation powershell

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

Page 21: SharePoint saturday montreal   2016- automatisation powershell

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

Page 22: SharePoint saturday montreal   2016- automatisation powershell

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

Page 23: SharePoint saturday montreal   2016- automatisation 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 DSCo Ex:DSC Resource Wave Kits

Module

Resource

Page 24: SharePoint saturday montreal   2016- automatisation powershell

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

Page 25: SharePoint saturday montreal   2016- automatisation powershell

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

Page 26: SharePoint saturday montreal   2016- automatisation powershell

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).

Page 27: SharePoint saturday montreal   2016- automatisation powershell

DémoxSharePoint

Page 28: SharePoint saturday montreal   2016- automatisation powershell

Office 365

Page 29: SharePoint saturday montreal   2016- automatisation powershell

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.

Page 30: SharePoint saturday montreal   2016- automatisation powershell

SharePoint Saturday Montréal#SPSMontreal

SharePoint Online Management Shell[…]

Page 31: SharePoint saturday montreal   2016- automatisation powershell

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.

Page 32: SharePoint saturday montreal   2016- automatisation 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

Page 33: SharePoint saturday montreal   2016- automatisation powershell

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

Page 34: SharePoint saturday montreal   2016- automatisation powershell

DémoOffice Dev PnP

Page 35: SharePoint saturday montreal   2016- automatisation powershell

DSC inversé

Page 36: SharePoint saturday montreal   2016- automatisation powershell

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 »;

Page 37: SharePoint saturday montreal   2016- automatisation powershell

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;

Page 38: SharePoint saturday montreal   2016- automatisation powershell

DémoDSC Inversé

Page 39: SharePoint saturday montreal   2016- automatisation powershell

?