28 juillet 2015

WINDOWS SERVER 2012 : Référencer une dll manuellement

L'installation d'une dll dans le GAC d'un serveur Windows Server 2012 peut-être réalisée via PowerShell.
Windows Server 2012 ne présente pas de commande "GACUTIL" par défaut et il n'est pas possible de réaliser un drag and drop dans le catalogue des assembly comme sur les anciennes versions.
 
Pour enregistrer une dll, il suffit d'utiliser les commandes PowerShell suivantes:
 
 Set-location "c:\dlltemprepository"
 [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
 $publish = New-Object System.EnterpriseServices.Internal.Publish
 $publish.GacInstall("c:\dlltemprepository\dllName.dll")
 iisreset


Pour supprimer la dll, il suffit d'utiliser les commandes PowerShell suivantes:
 Set-location "c:\dlltemprepository"
 [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
 $publish = New-Object System.EnterpriseServices.Internal.Publish
 $publish.GacRemove("c:\dlltemprepository\dllName.dll")
 iisreset


15 juillet 2015

SHAREPOINT 2013 : Work management service

 
Aujourd'hui un article sur un service applicatif souvent méconnu dans SharePoint : "Work management service". Ce service a fait son apparition dans la version SP2013 et répond à un problème souvent rencontré par les utilisateurs de SharePoint : Comment centraliser les tâches d'un utilisateur dans un seul espace!

Dans les versions précédentes du produit, certains éditeurs s'étaient engoufrés dans le besoin afin de répondre au besoin. Pour combler le manque de solution natives, Microsoft à mis au point ce service qui s'appuie nativement sur des tâches de type:
  • SharePoint : Tâches associées aux types de contenus "TasksWithTimelineAndHierarchy", "Task", "GanttTasks",
  • Project server (si installé et configuré),
  • Exchange server (uniquement pour SharePoint Server).
  • Custom provider : Il est en effet possible d'étendre les capacités de ce service en connectant d'autres systèmes de tâches (tâches TFS,...) via un custom provider.
 
Le principe de fonctionnement du service pour les tâches de type SharePoint est le suivant:
  • Un élément est rajouté dans une liste de tâche SharePoint 2013,
  • Le moteur de recherche indexe le contenu de ma web application (dont ma tâche),
  • Lorsque du rafraichissement de la liste des tâches du site personnel, une interrogation au moteur de recherche permet d'agréger la liste des tâches personnelles de l'utilisateur saisies à cet emplacement avec la liste des tâches disponibles sur les différents environnements (certaines informations telles que les projets sont conservées en cache). Les tâches seront groupées par projet afin d'obtenir une information de qualité.
  • Des notifications d'affectation de tâches apparaissent pour avertir l'utilisateur.
 

7 juillet 2015

SHAREPOINT 2013 : Test-SPContentDatabase

Un axe de gouvernance des fermes SharePoint reste la vérification de vos sources de contenus.
Pour se faire, il existe la commande "Test-SPContentDatabase" qui est souvent utilisée dans le cas des migrations avant de lancer un "Mount" de cette base.
Dans le cadre de migration, elle permet de détecter les différence de configuration entre vos fermes sources et de destinations et permet de s'assurer qu'aucune personnalisation ne soit oubliée:
  • Missing Assembly,
  • Missing SetupFile,
  • Missing Feature,
  • Missing WebPart,
  • Claims configuration,

Mais cette commande peut très bien être utilisée en dehors d'un scénario de migration afin de vérifier l'intégrité de vos bases SharePoint. Il peut devenir un outil de gouvernance révélateur de la bonne santé de vos bases de données de contenus.
 
Voici un petit script PowerShell permettant de scruter la totalité des bases de contenus de votre ferme SharePoint (avec enregistrement des résultats dans un fichier CSV par base):
 
 
Add-PSSnapin Microsoft.SharePoint.PowerShell
$SaveFolder = "C:\TEMP\"
Foreach ($DBContent in Get-SPContentDatabase)
{
 Write-Host "Testing Web Application -" $DBContent.WebApplication.DisplayName -ForegroundColor Green ;
 Test-SPContentDatabase -Name $DBContent.Name -WebApplication $DBContent.WebApplication.Url -ServerInstance $DBContent.Server | ConvertTo-Csv | Out-File -Encoding default -FilePath $($SaveFolder + $DBContent.Name + ".csv")
}