• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à PoweShell
 

Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à PoweShell

on

  • 1,577 views

Le but de cette session est de présenter les moyens permettant d'automatiser le déploiement et la configuration d'une plateforme SharePoint 2010/2013.

Le but de cette session est de présenter les moyens permettant d'automatiser le déploiement et la configuration d'une plateforme SharePoint 2010/2013.

Statistics

Views

Total Views
1,577
Views on SlideShare
1,469
Embed Views
108

Actions

Likes
0
Downloads
34
Comments
0

4 Embeds 108

http://www.gsoft-group.com 69
http://www.gsoft.com 31
http://staging.gsoft-group.com 6
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Versions de PowerShell pour les versions de SharePoint:2.0 pour SharePoint 20103.0 pour SharePoint 2013
  • Lien sur le whitepaper Windows Azure http://www.microsoft.com/en-us/download/details.aspx?id=34598
  • Instanciation de VM depuisune image standardScript arrêt / redémarrage de la plateformecomplète
  • Pour charger des assemblies avec PowerShell:http://www.dougfinke.com/blog/index.php/2010/08/29/how-to-load-net-assemblies-in-a-powershell-session/
  • Préférez un couple fichier XML de configuration + fonction PowerShell associée plutôt que mettre ces valeurs directement dans le scriptDans SharePoint, la plupart des notions sont hiérarchiques et peuvent être organisées dans un fichier XML. De plus il est très simple de lire un fichier XML en PowerShell avec Get-Content
  • Wizard =Même pool d’applications IISNom des bases de données par défaut Même service account pour tousConfiguration par défaut des services apps
  • Composants différents entre 2010 et 2013 pour le searchIndex componentContent processing componentAnalytics component
  • Instanciation de VM depuisune image standardScript arrêt / redémarrage de la plateformecomplète
  • Il peut arriver que certains de vos développements aient besoins de configurations particulières dans SharePoint. Par exemple:
  • Instanciation de VM depuisune image standardScript arrêt / redémarrage de la plateformecomplète
  • Gestion des logs avec Log4Net (Start/Stop-Transcipt par défaut)Séparation des étapes dans des scripts séparés correspondant à chaque étapeReprise sur erreur plus facileNormalisation des fichiers pour votre environnementInclusion de l’installation et la configuration scriptée de SQL Server Ajout des rôles Windows Server (IIS et App Server) pour une installation from scratch..
  • Instanciation de VM depuisune image standardScript arrêt / redémarrage de la plateformecomplète

Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à PoweShell Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à PoweShell Presentation Transcript

  • C05- Automatiser vos déploiements d’environnements SharePoint 2010/2013 grâce à PowerShell
  • Vos hôtes Franck Cornu Consultant SharePoint depuis 3 ans • Analyse et architecture d’information • Développement • Infrastructure Benjamin Guinebertière Evangéliste technique Windows Azure • Division plateforme & Ecosystème • Microsoft France • @benjguin franck.cornu@gsoft- group.com
  • Agenda Qui est concerné? Quoi automatiser et pourquoi? PowerShell avec SharePoint, par où commencer? L'automatisation à travers un projet SharePoint de A à Z Conclusion
  • A qui s’adresse cette session? Administrateurs SharePoint Automatiser l’installation et la configuration des environnements SharePoint Automatiser les tâches d’administration courantes Développeurs SharePoint Automatiser les déploiements et la configuration des développements personnalisés Décideurs TI Cibler les éléments à automatiser Évaluez les gains et avantages
  • Pourquoi automatiser? Constat sur les projets Ce que vous gagnez à automatiser La plupart des étapes de mise en place d’un projet SharePoint sont connues et inévitables Ces tâches sont répétitives, prennent du temps et n'apportent pas de valeur directe au projet Raison de plus pour laisser un script s’en charger et se concentrer sur des choses plus importantes Toute opération manuelle peut amener des erreurs et des différences entre les environnements Ici pas de surprise, un script ne se trompe jamais. De même, le diagnostic des erreurs est plus avancé. Les tâches manuelles sont souvent non documentées et donc peu traçable et encore moins reproduisibles Les fichiers de configuration et le script lui- même vous indique au minimum ce qui est réalisé et comment. Les entreprises ou prestataires de services sont rétissants à automatiser car cela prend trop de temps. Automatiser prend du temps, mais vous en fait gagner énormément par la suite. De plus vous, construisez votre expertise SharePoint en bâtissant vos outils et en les réutilisant chez vous ou vos clients.
  • Étapes de mise en place courantes d’une ferme SharePoint Sur un projet SharePoint typique (quel que soit la version) Cinq macro étapes (en général) Multipliées par le nombre d’environnement à déployer…. Et les tâches d’administration qui s’en suivent….
  • Environnements SharePoint Il devient évident qu’une automatisation s’impose! C’est donc maintenant que PowerShell entre en jeu
  • Un mot sur PowerShell Langage de script Différent de batch Base en programmation orientée objet utile ! Facilite les tâches d’administration dans les environnements MS Windows SharePoint Exchange …. Basé sur le Framework .Net Tout est objet sous PowerShell Commandes prédéfinies « Cmdlets » Commandes prédéfinies Manipulent ou retournent des objets et non du texte Formalisme « Verbe-Nom » (Exemple « Get-SPSite ») Regroupées dans un « Snapin » Pipelining possible entre cmdlets via le caractère « |» Possibilité de créer vos propres Cmdlets et Snapins avec Visual Studio
  • Un mot sur PowerShell Fichiers de script Paramétrables Peuvent être chainés après redémarrage (one click install) $args « Nombre d’arguments + $args.Count » Param($arg1, $arg2) « Argument 1: + $arg1 » « Argument 2: + $arg2 » $AdminKey = "HKLM:" $RunOnceKey = $AdminKey + "SoftwareMicrosoftWindowsCurrentVersionRunOnce" Set-Itemproperty $RunOnceKey "MyScript" ('C:WindowsSystem32WindowsPowerShellv1.0Powershell.exe - ExecutionPolicy Unrestricted -File <ScriptPath> + <Parameters>
  • PowerShell avec SharePoint Utilisation des cmdlets SharePoint Ajout du Snapin PowerShell pour SharePoint OU avec le raccourci SharePoint Exemple d’utilisation de cmdlet SharePoint Syntaxe des objets SharePoint (SP<QuelqueChose>) SPSite, SPWeb, SPFarm,…. Accès aux objets .Net SharePoint autrement que par Cmdlets $site = Get-SPSite | Where-Object {$_.Url -eq "http://sp2013"} Add-PSSnapin « Microsoft.SharePoint.PowerShell » [void][Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $site = New-Object Microsoft.SharePoint.SPSite(“http://sp2013”)
  • PowerShell avec SharePoint Cmdlets restreintes si vous travaillez avec SharePoint Online! Présentation de SharePoint Online Management Shell Autoriser l’éxecution de scripts PowerShell Droit requis On Premise Membre du groupe SharePoint_Shell_Access ou WSS_Admin_WPG securityadmin sur l’instance SQL db_owner sur les base de données à manipuler Online Utilisateur « Global admnistrator » Set-ExecutionPolicy RemoteSigned Add-SPShellAdmin –UserName « DOMAINuser » Connect-SPOService -Url https://contoso-admin.sharepoint.com - credential admin@contoso.com
  • PowerShell avec SharePoint Outil pour créer vos scripts NotePad ++  PowerShell ISE Par défaut sur Windows Server 2012 Feature à installer sur Windows Server 2008 R2 Debug + Intellisense (version 3.0) PowerGUI Intellisense + Debug Plugin Visual Studio Hack pour Extension VS 2012
  • Étapes d’un projet SharePoint
  • Installation de l’OS Physiques ou VMs (recommandé) Liste des version de Windows Server compatibles: Pour SharePoint 2010 (Attention Windows Server 2012 non pris en charge) Pour SharePoint 2013 Sur chacun des serveurs de votre ferme En local ou dans le cloud! Possibilité de scripter le déploiement de vos machines virtuelles grâce à PowerShell et Windows Azure! Création des comptes de services SharePoint Au minimum (identiques selon la version) Compte de setup (securityadmin et dbcreator + admin local) Compte de ferme (Compte d’accès à la base de données) Compte du pool d’applications IIS Services Applications web Compte du service de recherche Compte d’accès au contenu (Compte de crawl) … 1-Installation des serveurs
  • Déploiement automatique avec Windows Azure 1-Installation des serveurs
  • Continuum SharePoint avec le cloud Contrôle OptimisationduCoût SharePoint (à demeure) • SharePoint Proposition de valeur : • Contrôle complet • matériel (taille/échelle) • Contrôle de HA/DR/taille Proposition de valeur : • 100% des API • Migration simple des personnalisations existantes • Contrôle de HA/DR/taille SharePoint (IaaS) • Hosted SharePoint Proposition de valeur : • HA, tolérance aux pannes auto • Montée en charge sans heurts • Self-provisioning, mgmt @ gde échelle • SharePoint Service Office 365 (SaaS)
  • Vue d’ensemble de Windows Azure Windows Azure Services web apps web sites cloud apps cloud services Apps existantes virtual machines
  • VM Windows Azure VHD VM OS Données Cache VHD VHD VHD VHD
  • Installation automatisée Windows Azure Training Kit Labs Exemple de script http://aka.ms/azure-ps-infraSP Etapes: Création VM depuis image Windows Server 2012 Installation et configuration Active Directory Création 2 VM depuis image Windows Server 2012 Intégration dans le domaine Création 2 VM depuis image SQL Server 2012 Intégration dans le domaine Ajout du rôle Web dans les 2 VM WindowsServer 2012
  • Démo
  • Gestion des logs Libraries .Net Log4net (Recommandé) Tracer les sorties textes, erreurs de commandes à l’intérieur d’un bloc d’instructions ou un script dans un fichier texte Start/Stop-Transcript Dans le journal d’événements Windows New-EventLog/Write-EventLog Pratiques générales [void][Reflection.Assembly]::LoadFrom(".Log4Net.dll") $Global:Logger = [log4net.LogManager]::GetLogger("LogPowerShell") $Global:Logger.Info("Logging system ready") Start-Transcript Log.rtf < Bloc d'instructions > Stop-Transcript New-EventLog -LogName SharePoint -Source MyScript Write-EventLog -LogName SharePoint -Source MyScript -Message "Les logs, c'est cool!" -EventId 0 -EntryType information
  • Stratégies de développement Fichier XML de configuration + fonction PowerShell associée Dans SharePoint, la plupart des notions sont hiérarchiques  Get- Content Pratiques générales <Sites> <Site> <Webs> <Web name=“test”> </Web> </Webs> </Site> </Sites> [xml]$xml = Get-Content “XmlPath” Foreach($web in $xml.Sites.Site.Webs.Web) { Write-Host $web.GetAttribute(“name”) }
  • Étapes d’un projet SharePoint
  • Rôles serveur web IIS et serveur d’applications Windows Server 2008 et 2008 R2: Import-ServerManager + Add-WindowsFeature -Name Windows Server 2012: Install-WindowsFeature -Name Liste des features avec Get-WindowsFeature Installation de SQL Server (Cas d’une machine de développement) Possibilité de scripter via setup.exe /configurationfile Utilisez l’assistant pour créer votre fichier de configuration Installation des binaires SharePoint Prérequis (prerequisiteinstaller.exe) Online Téléchargement automatique des prérequis dans un ordre précis Offline Spécifications des fichiers par ligne de commande Installation des packs de langues, cumulatives updates, Office Web Apps (pour 2010) Utilisation de la cmdlet « Start-Process » 2-Installation de SharePoint /SQLNCli /PowerShel /NETFX /IDFX /IDFX11 /Sync /AppFabric /KB2671763 /MSIPCClient /WCFDataServices Start-Process "$SQLInstallFoldersetup.exe" -Wait -ArgumentList "/CONFIGURATIONFILE=$ConfigFile"
  • Étapes d’un projet SharePoint
  • 3-Configuration de SharePoint
  • 3-Configuration de SharePoint Création de la base de données de configuration et l’administration centrale (noms normalisés) Même séquence pour SharePoint 2010 que 2013 New-SPConfigurationDatabase/ Connect-SPConfigurationDatabase Install-SPHelpCollection -All Initialize-SPResourceSecurity Install-SPFeature –AllExistingFeatures New-SPCentralAdministration Install-SPApplicationContent Configuration des logs (niveau de sévérité, chemins, etc…) Set-SPDiagnosticConfig Set-SPLogLevel Ajouts des comptes gérées New-SPManagedAccount: Ajout d’un nouveau compte managé Attention le auto generate password semble poser problème en SharePoint 2010.
  • Création des applications de services Permet la normalisation des noms de bases de données et une configuration plus avancée Application générique SPServiceApplication Instance de service SPServiceInstance Démarrage: Provision() État: Status ¸ Managed Metadata (SPMetadataServiceApplication) Search Service (SPEnterpriseSearchServiceApplication) Topologie de recherche Cdmlets Import/Export de configurations User profile (SPProfileServiceApplication) Préférez une synchronisation manuelle vs automatique par PowerShell 3-Configuration de SharePoint Get-SPServiceInstance | ? {$_.GetType().ToString() -eq "Microsoft.SharePoint.Taxonomy.MetadataWebServiceInstance"} Get-SPServiceApplication | ? {$_.GetType().ToString() -eq "Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplication"}
  • 3-Configuration de SharePoint Manipulation des entités logiques SharePoint Création de structure automatique + configuration SPFarm (Ferme) SPWebApplication (Application Web) SPSite (Collection de sites) SPWeb (Site) SPList (Liste ou bibliothèque) - New Get Remove <Sites> <Site> <Webs> <Web name=“test”> </Web> </Webs> </Site> </Sites>
  • Étapes d’un projet SharePoint
  • Déploiement/Retrait des solutions WSP Get-SPSolution: Récupérer une solution existante Add/Remove-SPSolution: Ajouter/Supprimer une solution Install/Uninstall-SPSolution: Installer ou rétracter une solution Activation/Désactivation de features Enable-SPFeature: Activer une feature Disable-SPFeature: Désactiver une feature Prend le Display Name ou le GUID (SharePoint 2010, SharePoint 2013) SharePoint Solution Deployer http://spsd.codeplex.com/ Déploiement des « Apps » OnPremise (ici) SPAppInstance, SPApp, SPAppPackage Penser à intégrer vos scripts de déploiement dans vos solutions Visual Studio (Solution items) 4-Déploiement des solutions
  • DémoObjectif: Activer des features à différents niveaux grâce à un fichier de configuration et PowerShell
  • Étapes d’un projet SharePoint
  • Configurations particulières courantes: Recherche Ajouter des sources de contenu Ajouter des propriétés gérées liées à votre application etc… Métadonnées gérées Créer une arborescence de termes dans le magasin Import-SPTerms de Gary Lapointe Créer une colonne de site mappée sur un terme du magasin … 5-Configuration des solutions
  • DémoObjectif: Importer un magasin de termes et créer une colonne de site mappée sur un des termes
  • Installation complète d’une ferme SharePoint AutoSPInstaller La référence pour l’installation d’une ferme SharePoint entièrement scriptée par PowerShell Un seul xml de configuration pour l’installation (mono serveur ou multiserveurs) Nécessite une bonne connaissance de SharePoint et PowerShell pour être optimisé au maximum La configuration par défaut est parfois suffisante pour des machines de développement Fonction génériques réutilisables Existe la version UI http://autospinstallergui.codeplex.com/ facilitant la configuration Personnalisations possibles Gestion des logs Séparation et isolation des scripts Inclusion de SQL Server Inclusion de l’installation et la configuration scriptée de SQL Server Ajout des rôles Windows Outils existants
  • Cmdlets utilitaires pour SharePoint Gary Lapointe Import-SPTerms/Export-SPTerms ... Scripts Get-SPScripts Technet CodePlex Outils existants
  • DémoObjectif: Survol rapide de la configuration et du fonctionnement de AutoSPInstaller pour vos environnements
  • Tout au long du cycle de vie d’une plateforme SharePoint Backup/Restore (Cmdlets SharePoint) Export un site, une liste ou une bibliothèque Backup de collections de sites Un mot sur les tâches d’administration Backup-SPSite http://server_name/sites/site_name -Path C:site_name.bak Export-SPWeb http://site –Path "site export.cmp"
  • Conclusion Osez le script ! Script = Investissement sur le long terme Rapport gain/temps de réalisation à évaluer Tout ce qui est faisable par UI est faisable par PowerShell (voire plus…) Très peu de changements en 2013 par rapport à 2010 Nécessite un minimum de connaissances en programmation objet et de rigueur Outils et scripts existants Utilisez Windows Azure pour tester les procédures d’installations
  • Ressources Windows Azure et SharePoint: http://www.windowsazure.com/en- us/manage/windows/other-resources/sharepoint-on- azure/ Testez vous-mêmes Windows Azure: http://aka.ms/90jours
  • Merci Évaluez notre session! Merci!