Automatisez SharePoint avec PowerShell

Commencez à utiliser PowerShell avec SharePoint. Get-Help, Get-SPSite et Get-SPWeb sont les commandes indispensables pour débuter.

En effet, dans cet article, vous allez découvrir comment utiliser PowerShell avec SharePoint. Les commandes Windows PowerShell permettent d’automatiser tous les traitements à faire dans SharePoint.

PowerShell avec SharePoint

Même si au début, cela réclame un petit investissement intellectuel, cela en vaut vraiment la peine.

Comment utiliser PowerShell avec SharePoint

Avant de les utiliser, allez dans Tous les programmes > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell (à exécuter en tant qu’administrateur).

Toutefois, vous pourriez aussi lancer la commande PowerShell de Windows et tapez Add-PSSnapin Microsoft.SharePoint.PowerShell pour récupérer les cmdlets SharePoint.

Par ailleurs, dans le modèle objet de SharePoint, faites attention car SPSite est une collection de sites, tandis que SPWeb représente un site (ou un sous-site).

Tout d’abord, la première cmdlet à connaître est celle qui donne l’aide sur l’aide: Get-Help Get-Help. Les fichiers d’aide sont au format XML. Ils se trouvent dans le dossier C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/CONFIG/POWERSHELL/Help/fr-fr pour la version française.

D’autres exemples de cmdlet utiles pour savoir comment utiliser PowerShell avec SharePoint :

  • Liste de toutes les cmdlets de SharePoint: Get-Command -PSSnapin Microsoft.SharePoint.PowerShell. Pour connaître leur nombre: @(Get-Command -PSSnapin Microsoft.SharePoint.PowerShell).count.
  • Liste de toutes les méthodes et propriétés d’un objet du Modèle Objet de SharePoint (par exemple Get-SPSite): Get-SPSite | Get-Member. La même commande pour Get-SPWeb: Get-SPSite | Get-SPWeb | Get-Member.
  • Affiche toute l’aide d’une commande (par exemple Get-SPSite): Get-Help Get-SPSite -Full. Pour avoir uniquement les exemples: Get-Help Get-SPSite -Examples
  • Services SharePoint avec leurs états: Get-SPServiceInstance
  • Bases de données: Get-SPDatabase
  • Collections de sites et de leurs bases de données respectives: Get-SPSite -Limit All | select url, contentdatabase. Si vous omettez -Limit All, la requête ne renvoie que les 200 premiers objets.
  • Volume de stockage d’une collection de sites: Get-SPSite | select url, @{Expression={$_.Usage.Storage}}
  • Liste des sites basés sur un certain modèle de site (par exemple un site d’équipe): Get-SPSite -Limit All | Get-SPWeb -Filter {$_.Template -eq « STS#00 »}
  • Liste des modèles de sites de la ferme: Get-SPWebTemplate

Il existe bien d’autres cmdlets intéressantes.

Comment utiliser PowerShell avec SharePoint

Les cmdlets sont susceptibles d’utiliser une très grande quantité de mémoire. Aussi, afin d’éviter une fuite mémoire, vous pouvez utiliser les cmdlets Start-SPAssignment et Stop-SPAssignment. Ces cmdlets implémentent l’interface IDisposable afin de libérer la mémoire qui n’est plus utile. Voici deux exemples tirés de l’aide de la commande Get-SPSite qui utilisent la méthode d’affectation de collection :

Start-SPAssignment -Global
 $s = Get-SPSite
 $s.url
 Stop-SPAssignment -Global

L’exemple ci-dessous utilise une méthode moins consommatrice de mémoire que la précédente grâce à des variables nommées :

$o = Start-SPAssignment
 $s = $o | Get-SPSite
 $s.url
 Stop-SPAssignment $o

Lorsqu’on débute en PowerShell, et même après, le paramètre -WhatIf est précieux car il simule l’exécution de la cmdlet. Par exemple, la commande Get-SPSite | Remove-SPSite -WhatIf vous retournera WhatIf : Opération « Remove-SPSite » en cours sur la cible « http://mw41 », sans supprimer la collection de site. La difficulté est de savoir où positionner le paramètre -WhatIf quand les commandes sont imbriquées.

Vous trouverez ci-dessous, un programme en téléchargement libre qui:

  • Stocke les paramétres de configurations des fichiers journaux SharePoint dans un premier fichier texte,
  • Modifie la durée de conservation des journaux, ainsi que d’autres paramétres,
  • Stocke à nouveau les paramétres de configurations des fichiers journaux dans un nouveau fichier texte,
  • Compare avec une commande PowerShell les deux fichiers.

Téléchargez le fichier zip suivant, qui contient le programme : SPDiagnosticConfigParams_V1_0_0.zip

Pour aller plus loin

D’autres articles sur SharePoint 2010 devraient vous intéresser.

En particulier, si le développement vous intéresse, découvrez ces articles qui expliquent comment Programmer avec SharePoint 2010 ou Installer SharePoint 2010 sur Windows 7.

Si vous hésitez à basculer sur SharePoint 2010, consultez l’article sur comment Mettre à niveau SharePoint 2007 vers SharePoint 2010, ou Utiliser la version gratuite de SharePoint 2010 (foundation).

Ensuite, si c’est l’administration de SharePoint 2010 qui vous intéresse, regardez l’article sur Mettre à niveau la base de données de SharePoint 2010, Tester gratuitement SharePoint 2010, Comprendre les licences SharePoint 2010 ou Dépanner le profil utilisateur dans SharePoint 2010.

Puis, d’autres articles peuvent vous aider à gérer correctement SharePoint 2010, comme Découvrir le centre d’administration de SharePoint 2010, L’accessibilité dans SharePoint 2010, Apprendre à virtualiser un serveur SharePoint 2010, Nommer les groupes de sécurité dans SharePoint 2010.

Pour les aspects fonctionnels et métiers, vous avez le choix avec Trouver ses documents rapidement avec un type de contenu SharePoint 2010, Découvrir l’intégration Office avec SharePoint 2010, Créer des sites SharePoint 2010.

Enfin, pour les plus avancées, vous avez des articles détaillés sur comment Classer automatiquement les documents avec l’organisateur de contenu SharePoint 2010, Comprendre comment le versionning de SharePoint 2010 gère les versions d’un fichier, ou Développer des flux de travail (workflow) avec SharePoint 2010.


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *