SharePoint 2010 PowerShell: UID finder

En environnement SharePoint et projectServer 2010, les messages d’erreurs font presque tout le temps référence aux UID des objets et pas leur nom. Retrouver la nature de l’objet est parfois long et rébarbatif dans tous les cas.

Exemple:

Impossible de démarrer la file d’attente. Fournisseur de services partagés : ffaa66dd-8dcf-4a19-a24e-db16cd87ed67, UID du site : 79be68b6-87df-4431-9c32-bae0173c8ad0, URL : , File d’attente : ProjectQ

La traduction en Français ajoute encore un peu plus de difficulté.

Je me suis fait un script powershell qui cherche un uid ou un nom d’objet dans tout SharePoint 🙂

$id="<UID ou texte a chercher ici>"
$search=@()
$search+='Get-SPWebApplication -IncludeCentralAdministration | select Name,ID'
$search+='Get-SPManagedAccount| select Name,ID'
$search+='get-SPSiteAdministration -Limit ALL | select Name,ID'
$search+='Get-SPWebApplication -IncludeCentralAdministration | Get-SPSite -Limit All | Get-SPWeb -Limit All|Sort-Object Url|Format-List Title, Url,ID'
$search+='Get-SPSite -LIMIT ALL | select url,id'
$search+='Get-SPDatabase| select Name,ID'
$search+='Get-SPContentDatabase| select Name,ID'
$search+='Get-SPServiceApplication | select Name,ID'
$search+='Get-SPFeature | select Name,ID'
$search+='Get-SPSolution | select Name,ID'
$search+='Get-SPServiceApplication |% {$_.SiteCollection| select Name,ID}'
$search+='Get-SPTimerJob | select Name,ID'
foreach ($command in $search) 
{ 
 if ((Invoke-Expression $command) -match $id) 
 { 
 Write-Host"found $id"
 Write-Host"display it with $command" 
 } 
}