Sp summit2014 session 10-2

Preview:

Citation preview

IT PRO OU DEV? QUELLE IMPORTANCE, JE FAIS DU

POWERSHELLNik Charlebois

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

www.sharepointsummit.org

3

Nik Charlebois[…]

Auteur« Beginning PowerShell for SharePoint 2013 »

The best shit since the Da Vinci Code- My Mom

www.sharepointsummit.org

4

Tirage

http://goo.gl/IbVoq9

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;

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

www.sharepointsummit.org

7

Agenda

Historique PowerShell 101

vNext

www.sharepointsummit.org

Historique

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

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;

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

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

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

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;

www.sharepointsummit.org

PowerShell 101

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)

www.sharepointsummit.org

Demo #1Système de réservation

17

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;

www.sharepointsummit.org

Demo #2Interfaces Graphiques

19

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;

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]

www.sharepointsummit.org

Demo #3Obtenir toutes les listes d’un web

22

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

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

www.sharepointsummit.org

Demo #4Renommer un site sur Office 365

avec PowerShell

25

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 =…

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

www.sharepointsummit.org

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

avec PowerShell

28

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;

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

www.sharepointsummit.org

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

pour PowerShell

31

www.sharepointsummit.org

vNext

www.sharepointsummit.org

33

PowerShell à distance

PowerShell Web Access• Nouvelle

fonctionnalité avec Windows Server 2012

• Permet de faire une session PowerShell dans le navigateur;

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

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.

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

Recommended