Sp summit2014 session 10-2

36
IT PRO OU DEV? QUELLE IMPORTANCE, JE FAIS DU POWERSHELL Nik Charlebois

Transcript of Sp summit2014 session 10-2

Page 1: Sp summit2014   session 10-2

IT PRO OU DEV? QUELLE IMPORTANCE, JE FAIS DU

POWERSHELLNik Charlebois

Page 2: Sp summit2014   session 10-2

www.sharepointsummit.org

2

Nik Charlebois

Nik Charlebois• Ingénieur logiciel de formation• 8 ans d’expérience avec SharePoint• MCTS SharePoint 2013 & HTML5• Fonctionnaire fédéral à temps plein• Développeur .NET• En charge du chapitre Gatineau de SPQ• Blog: NikCharlebois.com• @NikCharlebois

Page 3: Sp summit2014   session 10-2

www.sharepointsummit.org

3

Nik Charlebois[…]

Auteur« Beginning PowerShell for SharePoint 2013 »

The best shit since the Da Vinci Code- My Mom

Page 4: Sp summit2014   session 10-2

www.sharepointsummit.org

4

Tirage

http://goo.gl/IbVoq9

Page 5: Sp summit2014   session 10-2

www.sharepointsummit.org

5

Pourquoi cette session?

• Réduire la séparation entre les IT Pro et les développeurs;

• Faire comprendre les mécanismes internes de PowerShell;

• Démontrer l’utilisation de PowerShell localement et dans le nuage;

• Donner un aperçu de ce que le futur réserve;

Page 6: Sp summit2014   session 10-2

www.sharepointsummit.org

6

Prérequis pour assister à cette session

• Minimum d’exposition au langage PowerShell;

• Minimum d’exposition au modèle d’objets SharePoint;

• Avoir payé son stationnement

Page 7: Sp summit2014   session 10-2

www.sharepointsummit.org

7

Agenda

Historique PowerShell 101

vNext

Page 8: Sp summit2014   session 10-2

www.sharepointsummit.org

Historique

Page 9: Sp summit2014   session 10-2

www.sharepointsummit.org

9

Dans mon temps…

• STSAdm.exe

• Outil très limité pour gestion de SharePoint

• Possibilité de faire des scripts « command line » l’utilisant

• Souvent très lent à exécuter

• Considéré comme étant une solution IT Pro

• Solution exclusive d’administration en SharePoint 2003

Page 10: Sp summit2014   session 10-2

www.sharepointsummit.org

10

Du pareil au même…

Console Application (.exe)

• Utilisation du « Object Model » pour faire l’administration;

• Nécessite une solution compilée (Visual Studio);

• Boîte noire ne permettant pas aux administrateurs de lire la logique;

• Considérée comme étant une solution de développeurs;

Page 11: Sp summit2014   session 10-2

www.sharepointsummit.org

11

Lumière au bout du tunnel

PowerShell• Nouveauté en 2009 (SharePoint 2010 pas encore

sorti)

• Permet une solution hybride entre les 2 alternatives précédentes;

• Toujours vu comme une solution de développeurs;

• Besoin de connaître le « Object Model »;

Page 12: Sp summit2014   session 10-2

www.sharepointsummit.org

12

Fiou…

• SharePoint 2010 introduit des méthodes « raccourcis » nommées cmdlets pour SharePoint; Ex: Get-SPWeb, Remove-SPSolution, etc

• Option très performante comparée aux options précédentes;

• Considérée comme une solution grand publique (IT);

• Apparition du langage dans tous les produits Microsoft

Page 13: Sp summit2014   session 10-2

www.sharepointsummit.org

13

Comparaison 2007 vs 2010

2007

2010

$site = New-Object Microsoft.SharePoint.SPSite("http://intranet")$web = $site.RootWeb

$web = Get-SPWeb http://intranet

Page 14: Sp summit2014   session 10-2

www.sharepointsummit.org

14

PowerShell et SharePoint 2013

• Introduction de près de 100 nouveaux cmdlets (comparé à 2010);

• Maintenant l’outil officiel d’administration SharePoint;

• Viens préinstallé depuis Windows Server 2008 R2;

• Utilisé pour gérer Office 365;

• Intégré dans la plupart des produits Microsoft;

Page 15: Sp summit2014   session 10-2

www.sharepointsummit.org

PowerShell 101

Page 16: Sp summit2014   session 10-2

www.sharepointsummit.org

16

Comment fonctionne PowerShell?

• PowerShell est basé sur la plateforme .NET;

• Permet d’interagir avec des objets;Ex: Get-SPWeb retourne un objet SPWeb avec lequel ont peut interagir;

• Permet d’utiliser des librairies dynamiques personnalisées (custom DLLs)

Page 17: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #1Système de réservation

17

Page 18: Sp summit2014   session 10-2

www.sharepointsummit.org

18

Pousser les limites

• PowerShell a accès à toutes les librairies .NET

• Possibilité d’utiliser les librairies reliées aux interfaces graphiques et autres;

Page 19: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #2Interfaces Graphiques

19

Page 20: Sp summit2014   session 10-2

www.sharepointsummit.org

20

Interagir avec les objets SharePoint

• PowerShell permet d’interagir avec tous les types d’objets de SharePoint (tout comme le Object Model);

• PowerShell offre des cmdlets prédéfinies pour SharePoint jusqu’au niveau des webs;

• À partir du niveau des listes, ont retombe comme en 2007;

Page 21: Sp summit2014   session 10-2

www.sharepointsummit.org

21

Interagir avec les objets SharePoint […]

$webApp = Get-SPWebApplication http://localhost $site = Get-SPSite http://localhost

$web = Get-SPWeb http://localhost $list = $web.Lists[‘’My List’’’]

$item $list.Items[0]

Page 22: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #3Obtenir toutes les listes d’un web

22

Page 23: Sp summit2014   session 10-2

www.sharepointsummit.org

23

Et Office 365 lui?

• Microsoft a rendu disponible l’outil « SharePoint Online Management Shell »

• Se connecte à distance à une instance SharePoint Online de Office 365;

• Inclut son propre ensemble de cmdlets

Page 24: Sp summit2014   session 10-2

www.sharepointsummit.org

24

Et Office 365 lui? […]

• Office 365 nous offre un gros 30 cmdlets PowerShell;

• Très limité comme opérations possibles;

• On rajoute on ‘o’ à chaque objet dans les noms de cmdlets; Ex: Get-SPOSite, Set-SPOSite, etc

Page 25: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #4Renommer un site sur Office 365

avec PowerShell

25

Page 26: Sp summit2014   session 10-2

www.sharepointsummit.org

26

Interagir à distance avec SharePoint

• Depuis 2010 il existe un modèle d’objets client (CSOM);

• Ce modèle vient en 3 saveurs: JavaScript .NET Silverlight

• On se souvient que PowerShell utilise la plateforme .NET… • Alors 1+1 =…

Page 27: Sp summit2014   session 10-2

www.sharepointsummit.org

27

Utilisation de CSOM .NET avec PowerShell

Exige de charger les modules suivants dans la session PowerShell:

Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime

Page 28: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #5Création d’un Web sur Office 365

avec PowerShell

28

Page 29: Sp summit2014   session 10-2

www.sharepointsummit.org

29

Comment créer un Cmdlet PowerShell?

• Nécessite du code (donc Visual Studio);

• Nécessite l’ajout de références aux modules System.Management & System.Management.Automation

• Permet de définir des combinaisons Verbes-Noms personnalisées;

• Chaque cmdlet est une classe;

Page 30: Sp summit2014   session 10-2

www.sharepointsummit.org

30

SPPoSh

• Librairie d’extensions des cmdlets existants:• Get-SPList, Move-SPList, etc.

• Gratuit et mise-à-jour fréquemment;

SPPoSh.Codeplex.com

Page 31: Sp summit2014   session 10-2

www.sharepointsummit.org

Demo #6Création d’un cmdlet personnalisé

pour PowerShell

31

Page 32: Sp summit2014   session 10-2

www.sharepointsummit.org

vNext

Page 33: Sp summit2014   session 10-2

www.sharepointsummit.org

33

PowerShell à distance

PowerShell Web Access• Nouvelle

fonctionnalité avec Windows Server 2012

• Permet de faire une session PowerShell dans le navigateur;

Page 34: Sp summit2014   session 10-2

www.sharepointsummit.org

34

PowerShell Desired State Configuration (DSC)

• Nouveau avec PowerShell v4 (Windows Server 2012 R2)

• « Offre aux administrateurs un mécanisme pour pousser des configurations consistantes entre différentes machines ou serveurs »

• Permet de spécifier à l’aide d’un script comment une machine devrait être configurée (rôles, services, etc.).

Page 35: Sp summit2014   session 10-2

Thank you for your attention!This presentation will be available on the MontrealSharePoint Summit web site after the event.

Merci de votre attention !Cette présentation sera disponible sur le site internetde SharePoint Summit Montréal, après l’événement.

Page 36: Sp summit2014   session 10-2

SVP évaluez notre session!Complétez le sondage et courez la chance

de gagner une tablette Surface

Please rate our session!Fill out the survey and get a chance to win a Surface