PowerShell: Estrarre l'elenco dei siti personali
Un esempio in PowerShell di come estrarre l'elenco dei siti personali dal file XML generato dall'utility prescan.exe di SharePoint e creare dei file per eseguire il backup e restore degli stessi su un altra web application
oppure le pagine unghosted
da notare la sintassi [xml] (cast)
che permette di leggere un file e salvarlo in una variabile come oggetto XML a cui poi si potrà accedere tramite la sintassi xpath (es.: SelectNodes).
PowerShell
write-host "estrae i siti personali dal file xml"
$stsadm = "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\stsadm"
$backup = "backup.txt";
$restore = "restore.txt";
[xml]$list = Get-Content *.xml;
#$node = $list.SelectNodes("//site/@url");
"#Backup" > $backup
"#Restore" > $restore
$list.summary.sites.site | ForEach-Object {
$url = $_.url;
if ($url) {
$person = $url.Substring($url.LastIndexOf("/")+1);
"$stsadm -o backup -url $url -filename $person.bak" >> $backup
"$stsadm -o restore -url http://www.mionuovosito.net/$personal -filename $person.bak" >> $restore
}
}
"esegui come bat i file $backup e $restore"
PowerShell
write-host "estrae le pagine unghosted dal file xml"
[xml]$list = Get-Content *.xml;
$list.SelectNodes("//unghostedPage/@url")
PowerShell
[xml]$list = Get-Content *.xml;