Pergunta

Qual é a melhor maneira de criar centenas de subsites em um conjunto de sites para fins de teste?Não importa quais sejam seus nomes.Fazendo algumas pesquisas, encontrei alguns scripts que exigem a inserção do nome de cada site ou o uso de um arquivo xml que ainda envolveria a inserção manual de centenas de nomes exclusivos para cada subsite.Eu só precisaria que os subsites fossem automaticamente nomeados como test1, test2 ou seguissem algum tipo de padrão semelhante.Deve haver alguma maneira de aproveitar o cmdlet New-SPWeb com um loop for, talvez?Isso pode ser feito sem usar um arquivo de configuração ou csv?

Foi útil?

Solução

O script abaixo aceita a matriz do nome do subsite, mas você pode alterá-lo em vez de passar as matrizes de nome do SubSIte, basta adicionar test(i)... quero dizer, no loop for, em vez de verificar a contagem da matriz, verifique corrigir o número de subsite($i <100000)...então o URL do subsite será assim

$SiteUrl = $SiteCollectionURL + "/test" +$i

.Copie e cole o código abaixo e salve-o como CreateSubSite.ps1, veja as seções destacadas em amarelo para alterar os valores configuráveis:

Add-PsSnapin Microsoft.SharePoint.PowerShell

## SharePoint DLL 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 

#Creating Sub Sites in top site collection.
Write-Output " "
Write-Output "Creating Sub Sites"

$SiteCollectionURL = "http://localhost/sites/SPFix"

$SiteCollectionTemplate = "STS#0" 

$SiteCollectionLanguage = 1033

$SubSites = @("Central Services", "Knowledge Base", "Service Center", "IT", "HR", "Finance")

for($i=0 ; $i -lt $SubSites.count ; $i++)
{
$SiteUrl = ""
$SiteUrl = $SiteCollectionURL + "/" 
$SiteUrl = $SiteUrl += $SubSites[$i]
Write-Output " "
#Write-Output "Creating Site for " += $SubSites[$i]
Write-Output " "
New-SPWeb $SiteUrl -Template $SiteCollectionTemplate -Name $SubSites[$i]  -UseParentTopNav -Language $SiteCollectionLanguage
Write-Output " "
#Write-Output "Site Created for " += $SubSites[$i]
Write-Output " "
}

Remove-PsSnapin Microsoft.SharePoint.PowerShell

http://www.sharepointfix.com/2011/04/powershell-script-to-create-subsites.html

Outras dicas

A sintaxe básica para criar site seria New-SPSite -Url $WebSiteUrl -OwnerAlias $SiteOwner -Name "Store" -Template $webTemplate e criando subsite 'new-spweb -url $ websiteurl -Owneralias $ site download -name "store" -template $ webtemplate.

Agora para sua exigência acho que você tem que usar algum tipo de loop e ligar para a sintaxe acima para que muitas vezes.

Referir esta pergunta sobre sintaxe Provisionamento de sites - Exemplo `

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top