SlideShare uma empresa Scribd logo
1 de 42
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!

Mais conteúdo relacionado

Destaque

Qr code 1 moulin
Qr code 1 moulinQr code 1 moulin
Qr code 1 moulintestor-c
 
Questionnaire magazine
Questionnaire magazineQuestionnaire magazine
Questionnaire magazineMistress-Abbie
 
Le dr pierre dupont dentiste possède une longue expérience en médecine dentaire
Le dr pierre dupont dentiste possède une longue expérience en médecine dentaireLe dr pierre dupont dentiste possède une longue expérience en médecine dentaire
Le dr pierre dupont dentiste possède une longue expérience en médecine dentairepaultestani
 
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.Nancy A.
 
Présentation appli be dt2 m informatique
Présentation appli be dt2 m informatiquePrésentation appli be dt2 m informatique
Présentation appli be dt2 m informatiqueLightrem
 
Internetdebutant 130221103438-phpapp01
Internetdebutant 130221103438-phpapp01Internetdebutant 130221103438-phpapp01
Internetdebutant 130221103438-phpapp01Marilyne Macon
 
Reussir ses oraux
Reussir ses oraux Reussir ses oraux
Reussir ses oraux scolaridee
 
Survivre a une crise de cash
Survivre a une crise de cashSurvivre a une crise de cash
Survivre a une crise de cashMorgane Rollando
 
L'eau chaude et_le_coeur
L'eau chaude et_le_coeurL'eau chaude et_le_coeur
L'eau chaude et_le_coeurgerarementvussa
 
Breast imaging interv breast jyseror
Breast imaging interv breast jyserorBreast imaging interv breast jyseror
Breast imaging interv breast jyserorJFIM
 
Référencement : Optimiser la structure d'une page web
Référencement : Optimiser la structure d'une page webRéférencement : Optimiser la structure d'une page web
Référencement : Optimiser la structure d'une page webAnthony Nevers
 
Outsourcing SharePoint India
Outsourcing SharePoint IndiaOutsourcing SharePoint India
Outsourcing SharePoint IndiaHelios Solutions
 
Bilan d’étape janvier2012
Bilan d’étape janvier2012Bilan d’étape janvier2012
Bilan d’étape janvier2012elgiorgio08
 

Destaque (20)

Boletin tedi mayo junio 2012
Boletin tedi mayo junio 2012Boletin tedi mayo junio 2012
Boletin tedi mayo junio 2012
 
Qr code 1 moulin
Qr code 1 moulinQr code 1 moulin
Qr code 1 moulin
 
Questionnaire magazine
Questionnaire magazineQuestionnaire magazine
Questionnaire magazine
 
Le dr pierre dupont dentiste possède une longue expérience en médecine dentaire
Le dr pierre dupont dentiste possède une longue expérience en médecine dentaireLe dr pierre dupont dentiste possède une longue expérience en médecine dentaire
Le dr pierre dupont dentiste possède une longue expérience en médecine dentaire
 
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.
SEGUNDO TIANGUIS AMBIENTAL 2013., URUAPAN, MICH.
 
Présentation appli be dt2 m informatique
Présentation appli be dt2 m informatiquePrésentation appli be dt2 m informatique
Présentation appli be dt2 m informatique
 
Buscador
BuscadorBuscador
Buscador
 
Internetdebutant 130221103438-phpapp01
Internetdebutant 130221103438-phpapp01Internetdebutant 130221103438-phpapp01
Internetdebutant 130221103438-phpapp01
 
Actividades
ActividadesActividades
Actividades
 
Reussir ses oraux
Reussir ses oraux Reussir ses oraux
Reussir ses oraux
 
Survivre a une crise de cash
Survivre a une crise de cashSurvivre a une crise de cash
Survivre a une crise de cash
 
L'eau chaude et_le_coeur
L'eau chaude et_le_coeurL'eau chaude et_le_coeur
L'eau chaude et_le_coeur
 
Press numerik by Konica Minolta
Press numerik by Konica MinoltaPress numerik by Konica Minolta
Press numerik by Konica Minolta
 
A2 co
A2 coA2 co
A2 co
 
Breast imaging interv breast jyseror
Breast imaging interv breast jyserorBreast imaging interv breast jyseror
Breast imaging interv breast jyseror
 
PEOPLE AND HUMAN JOBS
PEOPLE AND HUMAN JOBSPEOPLE AND HUMAN JOBS
PEOPLE AND HUMAN JOBS
 
Gant Chart
Gant ChartGant Chart
Gant Chart
 
Référencement : Optimiser la structure d'une page web
Référencement : Optimiser la structure d'une page webRéférencement : Optimiser la structure d'une page web
Référencement : Optimiser la structure d'une page web
 
Outsourcing SharePoint India
Outsourcing SharePoint IndiaOutsourcing SharePoint India
Outsourcing SharePoint India
 
Bilan d’étape janvier2012
Bilan d’étape janvier2012Bilan d’étape janvier2012
Bilan d’étape janvier2012
 

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

La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Shg303 Td10 Administration Share Point 2010 V1 0
Shg303   Td10   Administration Share Point 2010 V1 0Shg303   Td10   Administration Share Point 2010 V1 0
Shg303 Td10 Administration Share Point 2010 V1 0Patrick Guimonet
 
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint 2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint Patrick Guimonet
 
Powershell
PowershellPowershell
PowershellUGAIA
 
Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Nabil Babaci
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Nabil Babaci
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...GUSS
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
2010-03-15 Architecture de Services SharePoint 2010
2010-03-15 Architecture de Services SharePoint 20102010-03-15 Architecture de Services SharePoint 2010
2010-03-15 Architecture de Services SharePoint 2010Patrick Guimonet
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
Votre première App SharePoint pour Office 365 avec Visual Studio !
Votre première App SharePoint pour Office 365 avec Visual Studio !Votre première App SharePoint pour Office 365 avec Visual Studio !
Votre première App SharePoint pour Office 365 avec Visual Studio !Gilles Pommier
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Patrick Guimonet
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...Benoit Jester
 
Alphorm.com Formation Windows Server 2016 : Installation et Configuration
Alphorm.com Formation Windows Server 2016 : Installation et ConfigurationAlphorm.com Formation Windows Server 2016 : Installation et Configuration
Alphorm.com Formation Windows Server 2016 : Installation et ConfigurationAlphorm
 
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013serge luca
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...Patrick Guimonet
 

Semelhante a Automatiser le déploiement d'environnements SharePoint 2010/2013 grâce à PoweShell (20)

La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Shg303 Td10 Administration Share Point 2010 V1 0
Shg303   Td10   Administration Share Point 2010 V1 0Shg303   Td10   Administration Share Point 2010 V1 0
Shg303 Td10 Administration Share Point 2010 V1 0
 
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint 2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
2009-02-11 COL318 - Quoi de neuf dans l'administration SharePoint
 
Powershell
PowershellPowershell
Powershell
 
Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013Workflow et bcs sous share point 2013
Workflow et bcs sous share point 2013
 
Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013Workflow et bcs sous SharePoint 2013
Workflow et bcs sous SharePoint 2013
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
2010-03-15 Architecture de Services SharePoint 2010
2010-03-15 Architecture de Services SharePoint 20102010-03-15 Architecture de Services SharePoint 2010
2010-03-15 Architecture de Services SharePoint 2010
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Votre première App SharePoint pour Office 365 avec Visual Studio !
Votre première App SharePoint pour Office 365 avec Visual Studio !Votre première App SharePoint pour Office 365 avec Visual Studio !
Votre première App SharePoint pour Office 365 avec Visual Studio !
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...
TechDays 2014 - Retours d'expériences et meilleures pratiques pour la migrati...
 
Alphorm.com Formation Windows Server 2016 : Installation et Configuration
Alphorm.com Formation Windows Server 2016 : Installation et ConfigurationAlphorm.com Formation Windows Server 2016 : Installation et Configuration
Alphorm.com Formation Windows Server 2016 : Installation et Configuration
 
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
 

Mais de Franck Cornu

Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...
Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...
Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...Franck Cornu
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Franck Cornu
 
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...Franck Cornu
 
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Franck Cornu
 
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingIntranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingFranck Cornu
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Franck Cornu
 
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Franck Cornu
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Franck Cornu
 
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Franck Cornu
 
Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Franck Cornu
 
Concevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheConcevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheFranck Cornu
 
Réussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointRéussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointFranck Cornu
 

Mais de Franck Cornu (12)

Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...
Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...
Implémentez votre prochain assistant personnel d’intranet SharePoint grâce au...
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
 
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
SPS Québec - Votre intranet "Client-Side" en SharePoint Online/O365 avec PnP,...
 
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
Evolution de l’Intranet d’entreprise avec Office 365 : quelles approches ?
 
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site PublishingIntranets et sites web en SharePoint 2013 avec le Cross Site Publishing
Intranets et sites web en SharePoint 2013 avec le Cross Site Publishing
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
 
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
Mettre en place un intranet ou un site web public en SharePoint 2013 autour d...
 
Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!Agilité et SharePoint: Incompatible? On gage que non!
Agilité et SharePoint: Incompatible? On gage que non!
 
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
Mise en place d'un intranet ou d'un site web en SharePoint 2013 grâce au Cros...
 
Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013Cross Site Publishing Solution for corporate news in SP 2013
Cross Site Publishing Solution for corporate news in SP 2013
 
Concevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la rechercheConcevoir des applications SharePoint basées sur la recherche
Concevoir des applications SharePoint basées sur la recherche
 
Réussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePointRéussir son analyse fonctionnelle SharePoint
Réussir son analyse fonctionnelle SharePoint
 

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

  • 1. C05- Automatiser vos déploiements d’environnements SharePoint 2010/2013 grâce à PowerShell
  • 2. 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
  • 3. Agenda Qui est concerné? Quoi automatiser et pourquoi? PowerShell avec SharePoint, par où commencer? L'automatisation à travers un projet SharePoint de A à Z Conclusion
  • 4. 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
  • 5. 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.
  • 6. É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….
  • 7. Environnements SharePoint Il devient évident qu’une automatisation s’impose! C’est donc maintenant que PowerShell entre en jeu
  • 8. 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
  • 9. 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>
  • 10. 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”)
  • 11. 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
  • 12. 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
  • 13. Étapes d’un projet SharePoint
  • 14. 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
  • 15. Déploiement automatique avec Windows Azure 1-Installation des serveurs
  • 16. 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)
  • 17. Vue d’ensemble de Windows Azure Windows Azure Services web apps web sites cloud apps cloud services Apps existantes virtual machines
  • 19. 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
  • 20. Démo
  • 21. 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
  • 22. 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”) }
  • 23. Étapes d’un projet SharePoint
  • 24. 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"
  • 25. Étapes d’un projet SharePoint
  • 27. 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.
  • 28. 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"}
  • 29. 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>
  • 30. Étapes d’un projet SharePoint
  • 31. 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
  • 32. DémoObjectif: Activer des features à différents niveaux grâce à un fichier de configuration et PowerShell
  • 33. Étapes d’un projet SharePoint
  • 34. 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
  • 35. DémoObjectif: Importer un magasin de termes et créer une colonne de site mappée sur un des termes
  • 36. 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
  • 37. Cmdlets utilitaires pour SharePoint Gary Lapointe Import-SPTerms/Export-SPTerms ... Scripts Get-SPScripts Technet CodePlex Outils existants
  • 38. DémoObjectif: Survol rapide de la configuration et du fonctionnement de AutoSPInstaller pour vos environnements
  • 39. 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"
  • 40. 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
  • 41. 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

Notas do Editor

  1. Versions de PowerShell pour les versions de SharePoint: 2.0 pour SharePoint 2010 3.0 pour SharePoint 2013
  2. Lien sur le whitepaper Windows Azure http://www.microsoft.com/en-us/download/details.aspx?id=34598
  3. Instanciation de VM depuis une image standard Script arrêt / redémarrage de la plateforme complète
  4. 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/
  5. Préférez un couple fichier XML de configuration + fonction PowerShell associée plutôt que mettre ces valeurs directement dans le script Dans 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
  6. Wizard = Même pool d’applications IIS Nom des bases de données par défaut Même service account pour tous Configuration par défaut des services apps
  7. Composants différents entre 2010 et 2013 pour le search Index component Content processing component Analytics component
  8. Instanciation de VM depuis une image standard Script arrêt / redémarrage de la plateforme complète
  9. Il peut arriver que certains de vos développements aient besoins de configurations particulières dans SharePoint. Par exemple:
  10. Instanciation de VM depuis une image standard Script arrêt / redémarrage de la plateforme complète
  11. Gestion des logs avec Log4Net (Start/Stop-Transcipt par défaut) Séparation des étapes dans des scripts séparés correspondant à chaque étape Reprise sur erreur plus facile Normalisation des fichiers pour votre environnement Inclusion 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 ..
  12. Instanciation de VM depuis une image standard Script arrêt / redémarrage de la plateforme complète