Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Jean-Christophe Brabant

SharePoint, HTML5, UX,PowerShell, ...
[SharePoint][PowerShell] Appliquer un template custom à un site web à sa création.

Le contexte

L’un des meilleurs amis du SharePointeur est sans nul doute PowerShell. Il offre à peu près tout ce qui est nécessaire à l’administration d’une ferme, au déploiement de projets, etc.

Une tâche revient régulièrement lors de nos développements : créer des collections de sites et des sites web. PowerShell nous permet de les créer facilement grâces aux cmdlets spécifiques : New-SPSite et New-SPWeb.

Développement avec Site & WebTemplate custom

Encore une fois, c’est une situation récurrente que de se trouver en présence de SiteTemplate et WebTemplate personnalisés.

Il est donc utile de pouvoir appliquer automatiquement ces templates directement aux sites que l’on souhaite créer par powershell.

Ca tombe bien, les cmdlets ont un paramètre qui permet de spécifer le template souhaité : “-Template”.

Et là : Problème ! Lorsqu’on exécute la cmdlet avec bon paramètres, on obtient une erreur.

PS C:\Users\Admiistrator> $SPWeb = New-SPWeb -Url http://{monsite}/test2 -Name monsite -Template "{0c6caf23-bb65-4e34-88c2-8d7d0e9dccca}#WebTemplate"
WARNING: Template is not found and is not applied.

C’est tout à fait normal. La commande va chercher dans la liste des templates globaux. (On peut en avoir une liste exhausitve en exécutant la commande suivante : Get-SPWebTemplate | Sort-Object "Name")

Comment l’appliquer ?

Pour appliquer un template après la création, il faut le créer sans lui spécifier de tempalte à la création. De même s’il n’a pas trouver le template, il créera le site sans template.

Il suffira après d’appliquer ce template après-coup grâce à la méthode ApplyWebTemplate de l’objet SPWeb.

Le code complet pour créer un site avec un template custom :

PS C:\Users\Admiistrator> $SPWeb = New-SPWeb -Url http://{monsite}/test2 -Name monsite

$SPWeb.ApplyWebTemplate("{0c6caf23-bb65-4e34-88c2-8d7d0e9dccca}#WebTemplate")
$SPWeb.Dispose()

Jicay

PS: Petit clin d’oeil à MatN qui a passé du temps sur ce problème Sourire

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 20 juin 2012 09:00 par Lauzange

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Simuler facilement l’envoi de mail par Blog de Jérémy Jeanson le il y a 18 heures et 54 minutes

- ProcDump 6.0 : support du filtrage sur messages d'exceptions .NET, des filtres multiples et du ciblage par nom de service par CoqBlog le 05-20-2013, 14:50

- Votez pour le TOP 10 des influenceurs SharePoint francophones ! par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 12:59

- [Conf’SharePoint] Dernier rappel ! :-) par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:09

- [ #SharePoint 2013 ] les modèles de sites standards… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 09:03

- 10 erreurs de compréhension concernant SharePoint… par Le blog de Patrick [MVP SharePoint] le 05-20-2013, 08:27

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29