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

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01