Passaggio all'ora legale 31 marzo 2024 02:00 03:00 sposta avanti l'orologio di 1 ora (si dorme 1 ora in meno)
Questo script in PowerShell 2.0 permette di creare in automatico dei siti SharePoint 2010 partendo da un elenco in CSV con il titolo del sito e la url relativa:

PowerShell: CreazioneSiti.ps1
$ErrorActionPreference = "Stop"

#url base da cui iniziare a creare i siti
$url = "http://sharepoint.sgart.local/IT/Prodotti"
#nome del template da utilizzare per i siti
$templateName = "NomeSiteDefinition#1"
#codice lingua del template
$lcid = 1040
#legge il file csv con l'elenco
$f = Import-Csv .\FileCsvConElencoSiti.csv

$site= new-object Microsoft.SharePoint.SPSite($url)
$web = $site.OpenWeb()
#$web = get-spweb $url

$f | ForEach-Object {
  #crea i siti
  $title = $_.Titolo
  $url1 = $_.Url
  Write-Host $url1

  if([string]::IsNullOrEmpty($url) -eq $true) { continue; }
  $webNew = $web.Webs.Add($url1, $title, "", $lcid, $templateName, $false, $false)
  Write-Host $webNew.Title

  $webNew.Dispose();
  Write-Host "--------------------------"
}

$web.dispose()
$site.dispose()
In questo script vanno aggiornati la variabile url, templateName, lcid e f in base alle necessità.

il file FileCsvConElencoSiti.csv dovrà essere nella forma:
Text
Titolo,Url
Titolo sito 1,UrlSito1
Titolo sito 2,UrlSito2
Nuovo sito di prova,SitoProva
..
dove la prima riga (Titolo,Url) rappresenta l'header del file.

Per ricavare il codice da utilizzare per il template di sito (variabile templateName) si può usare questo script:
PowerShell
$url = "http://sharepoint.sgart.local/site"
$lcid = 1040

[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site= new-object Microsoft.SharePoint.SPSite($url)
$web = $site.OpenWeb()
$web.GetAvailableWebTemplates($lcid)
#$web.GetAvailableCrossLanguageWebTemplates() | select name
Potrebbe interessarti anche: