Accéder au contenu principal

SharePoint : Nettoyage des composants non fonctionnels d’une ferme

 Lorsqu’on travaille sur des projets SharePoint, il arrive que l’on déploie les premières versions de son travail via un simple BackUp & Restore.

Le fait est que ce mode de transfert crée des erreurs dans les logs si le niveau de configuration n’est pas exactement le même entre les deux fermes (ferme de développement et ferme de production).

Par exemple, le cas classique est celui suivant :

  • Ferme de développement : MOSS Enterprise (license MSDN)
  • Ferme de production : MOSS Standard

Entre ces deux versions, certains composants ne sont pas disponibles dans la version Standard, de plus il est courant d’installer des modules dans les environnements de test, sans forcément effectuer de nettoyage.

Quoi qu’il en soit, une fois qu'on a transféré notre site de test en production, les traces de ces modules sont toujours dans les bases de données et poluent les fichiers de log ULS, comme on le voit sur l’exemple suivant :

Untitled

Avec le texte suivant :

  • …… Failed to determine definition for feature with ‘…… Feature GUID .….’, Skipping this feature for element ….

La solution est donc de faire ce nettoyage des composants sur la ferme de production, en utilisant un outil disponible sur un Projet CodePlex :

Le but de cet outil est de lister tous les composants référencés dans les sites de la ferme et de les mapper avec ceux installés sur cette ferme.

On voit alors très simplement apparaître les composants dont une référence existe mais qui n’est pas disponible sur cette ferme et donc lève une erreur comme montré plus haut. On le voit très bien dans la capture suivante où quatres déférences existent vers des composants non installés :

Untitled2

Je vous laisse regarder l’aide sur le site du projet pour avoir plus d’explications sur cet outil. Mais une fois cette liste affichée, il suffit de cocher les composants en erreur et de cliquer sur le bouton adapté :

  • Remove from selected site (SPWeb)
  • Remove from selected SiteCollection
  • Remove from selected Web App
  • Remove feature from farm

il faut donc parcourir toutes les Web Applications, puis toutes les collections de site et tous les sites et sous-sites de chaque collection.

On peut aussi choisir de cliquer sur le bouton tout en bas de l’écran “Find Faulty Feature in Farm” qui va vous sortir le premier composant en erreur qu’il rencontrera en vous proposant de le supprimer :

Untitled3

Ce composant sera alors scanné et supprimé de toute la ferme, ce qui vous évitera les étapes manuelles et fastidieuses.

Ce nettoyage vous permettra de ne plus avoir de message d’erreur de composant manquant dans vos Logs SharePoint.


Attention:

Il est fortement conseillé de bien vérifier que les composants affichés par cet outil soient bien des composant non installés et non des faux positifs. Comme toute action sur la ferme de production, il faut prendre toutes ses précautions avant ce type d’action.


Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Nouveau Scripts PowerShell publiés pour gérer les Storage Accounts dans Azure Cloud

Deux scripts sont en lignes pour nettoyer des Storage Account dans Azure Cloud: Supprimer les Blobs d'un container existant https://techcommunity.microsoft.com/discussions/azure/powershell-script-to-remove-all-blobs-from-storage-account/4357815 ------------------------------------------------------- [string]$myConnectionString = "DefaultEndpointsProtocol=https;AccountName=YourStorageAccountName;AccountKey=YourKeyFromStorageAccountConnectionString;EndpointSuffix=core.windows.net" [string]$ContainerName = "YourBlobContainerName" [int]$blobCountAfter = 0 [int]$blobCountBefore = 0 $context = New-AzStorageContext -ConnectionString $myConnectionString $blobCountBefore = (Get-AzStorageBlob -Container $ContainerName -Context $context).Count Write-Host "Total number of blobs in the container Before deletion: $blobCount" -ForegroundColor Yellow Get-AzStorageBlob -Container $ContainerName -Context $context | ForEach-Object {     $_ | Remove-AzureStorageBlob   # o...

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab