Rimuovere la picture dell'utente senza avere il servizio di Profile
Questo script in PowerShell per SharePoint 2010 (Server e Foundation) permette di rimuovere la picture impostata sul profilo utente anche se non è in funzione il servizio User Profile Service
PowerShell: ClearAllUserPicture.ps1
#rimuove in tutte le site collection dalla WebApplication
#la picture impostata nel profilo utente
#funziona senza il servizio di gestione dei profili
$url = "http://sharepoint.sgart.local"
#$ErrorActionPreference = "Stop"
Get-SPSite -WebApplication $url -Limit All | % {
$w = $_.RootWeb
Write-Host $w.url -ForegroundColor Green
Write-Output $w.url
$l = $w.Lists["User Information List"]
#prenso solo gli utenti con la url della picture impostata
$l.Items | ? {$_["Picture"] -ne $null} | % {
$m = "> " + $_.Name + " - " + $_["Picture"]
Write-host $m
Write-Output $m
#$_["Picture"] = $null
#$_.Update()
}
$w.Dispose()
}
Le informazioni relative all'utente sono memorizzate su SQL nel content DB principalmente nella tabella UserInfo. Mentre le informazioni aggiuntive, come la proprietà Picture sono memorizzati nella tabella AllUserData come lista di nome User Information List. Il campo Picture è mappato sui campi varchar6 e 7.