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

File: ClearAllUserPicture.ps1
PowerShell
#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.
Potrebbe interessarti anche: