SharePoint - trouver la valeur sitetemplate d'un modèle WSP?
-
05-09-2019 - |
Question
Je suis en train de scripter la création de sites pour les 40 modèles Microsoft SharePoint fab. Je vais avoir du mal à trouver la valeur du paramètre sitetemplate pour la commande stsadm pour créer les sites.
par exemple:.
stsadm -o createsite -url http://Test/sites/Team_Site **-sitetemplate STS#0** -title "Team Site" ...
Y at-il une commande que je peux courir, ou quelque part je peux chercher à trouver la valeur sitetemplate pour les paquets WSP (par exemple BugDatabase.wsp)?
La solution
Je pense que la meilleure façon de le faire est via PowerShell, mais vous pouvez écrire du code pour faire la même chose. La clé est d'obtenir une référence sur le Web, puis appelez SPWeb.GetAvailableWebTemplates(lcid)
.
Voici quelques lignes de script / commande PowerShell pour cracher le nom et les propriétés Titre sur l'écran:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$theSiteColl = New-Object Microsoft.SharePoint.SPSite("http://server")
$theWeb = $theSiteColl.OpenWeb()
$theWeb.GetAvailableWebTemplates(1033) | select name, title
#put your locale ID in the function call
La colonne Name
est celui que vous devez passer dans la commande stsadm -o createsite
, et la colonne de Title
aide l'associer à quelque chose qui fait sens. Sur ma boîte de test, le modèle d'application BugDatabase est BT#0
.
Autres conseils
Un WSP est juste un fichier CAB qui peut contenir plusieurs modèles. Je pense que vous auriez besoin de le faire manuellement. Pour ce faire, renommer le WSP pour une extension de la cabine, et extraire le manifest.xml WEBTEMP fichiers * du WSP, et regardez là. est juste le nom de la définition du site Nom de programatic Une définition du site, suivi de #, puis l'ID de configuration. Par exemple, pour créer un site en utilisant la configuration 0 du modèle STS, utilisez STS # 0.