SharePoint

Administration de ligne de commande ultraperformante pour Sharepoint

Todd Klindt

 

Vue d'ensemble:

  • Configuration de Sharepoint avec STSADM
  • Ecriture de scripts pour les tâches administratives quotidiennes
  • Opérations STSADM avancées

Pensez à la façon dont les gens interagissent avec Windows ou Microsoft Office. Les utilisateurs qui sont fans de la souris manipulent le pointeur pour naviguer entre les menus et les barres d'outils afin d'exécuter les tâches courantes. D'autres préfèrent

le clavier, exécutant rapidement des frappes et des raccourcis familiers. Il existe presque toujours plusieurs façons d'effectuer une tâche donnée.

En effet, une interface graphique peut être facile à utiliser, mais elle peut aussi se révéler peu pratique pour les tâches qui nécessitent des actions répétitives. Certaines opérations sont plus faciles à effectuer avec le clavier. Si vous vous occupez de l'administration de Sharepoint®, vous savez sans doute ce que c'est qu'être embourbé dans une interface graphique. Mais Sharepoint offre en fait une façon plus performante d'exécuter les tâches.

L'interface principale utilisée pour la gestion de Windows® Sharepoint Services (WSS) et de Microsoft® Office SharePoint Server 2007 (MOSS) est l'interface graphique d'administration centrale de SharePoint. Mais Sharepoint inclut également un outil de ligne de commande pour une administration plus performante. Cet outil, STSADM.exe, fournit toutes les fonctionnalités de l'Administration centrale de SharePoint, tout en offrant la souplesse de ligne de commande convoitée par de nombreux administrateurs. Dans cet article, je vous propose un cours accéléré pour apprendre à gérer WSS et MOSS à l'aide de STSADM. Je vous donnerai également quelques conseils de configuration de votre environnement et j'aborderai certaines commandes STSADM courantes. Je vous expliquerai même certaines commandes STSADM avancées qui vous feront de vous un héros, en cas de difficultés.

Démarrage

Si vous n'êtes pas encore tombé sur STSADM, c'est peut-être parce qu'il est bien caché. Dans Windows SharePoint Services 2.0, il se trouve par défaut dans c:\program files\common files\microsoft shared\web server extensions\60\bin. Dans la version 3.0, l'emplacement par défaut est c:\program files\common files\microsoft shared\web server extensions\12\bin.

Pour simplifier l'accès à cet outil, j'utilise deux approches différentes. D'abord, j'ajoute simplement ce répertoire à ma variable d'environnement PATH. De cette façon, je peux utiliser STSADM depuis n'importe quel emplacement du système de fichiers. Cependant, ce n'est pas toujours la solution idéale. Ma deuxième approche consiste à créer un raccourci vers CMD.EXE et à définir l'emplacement de STSADM comme répertoire initial. Pourquoi ne pas tout simplement pointer un raccourci directement vers STSADM ? Cela ne marche pas puisque STSADM n'est pas interactif. Par conséquent, si vous pointez un raccourci directement vers STSADM, vous obtiendrez un affichage rapide de son utilisation, puis il disparaîtra.

Lors de l'exécution de STSADM, vous devez être membre du groupe Administrateurs sur le serveur Web et vous devez exécuter l'application localement. Cela signifie qu'il n'est pas possible d'utiliser STSADM pour administrer à distance un serveur Sharepoint.

Pour afficher les opérations que vous pouvez effectuer avec STSADM, tapez stsadm.exe -help dans une invite de commande. Vérifiez cette liste après avoir appliqué les mises à jour et les correctifs à Sharepoint puisque de nouvelles opérations peuvent être ajoutées. Vous trouverez également un guide pratique des opérations stsadm.exe à l'adresse go.microsoft.com/fwlink/?LinkId=77516.

Notions fondamentales sur STSADM

Commençons par examiner certaines commandes permettant de modifier votre installation Sharepoint existante. Vous pouvez utiliser STSADM pour ajouter des fonctionnalités à Sharepoint et modifier les paramètres de configuration.

STSADM utilise le paramètre -o suivi de l'opération que vous souhaitez exécuter. Si vous tapez simplement STSADM -operationname, cela ne fonctionnera pas. Si, par exemple, vous souhaitez ajouter des modèles de site à votre installation, utilisez la commande suivante :

Stsadm -o addtemplate -filename <filename of the template> 
-title <title of template> -description <description of template>

Ou, pour ajouter un package de composants WebPart utilisez cette commande :

Stsadm -o addwppack -filename <filename of the Web Part Package>

Pour obtenir des informations sur l'utilisation pour une opération, passez simplement l'opération sans aucun paramètre et STSADM vous indiquera l'entrée qu'il attend. STSADM -help operationname vous donnera également des informations sur l'utilisation.

Lors de la gestion des modèles, l'opération enumtemplates permet de voir les modèles ajoutés et deletetemplate de supprimer ceux qui sont installés. De même, il existe des commandes qui fonctionnent avec les packages de composants WebPart. L'opération enumwppacks permet de lister les packages de composants WebPart installés sur chaque serveur virtuel ou application Web, et deletewppack permet de supprimer ceux qui ont été ajoutés.

STSADM comporte également deux opérations qui gèrent les paramètres Sharepoint : setproperty et getproperty. L'exécution de ces opérations sans aucun paramètre vous donnera une liste des propriétés que vous pouvez afficher ou manipuler. À l'instar de STSADM lui-même, cette liste change avec les mises à jour et les correctifs. Cependant, certaines propriétés sont plus utiles que d'autres. La figure 1 répertorie certaines propriétés qui peuvent être définies après l'installation de Sharepoint, notamment les propriétés les plus courantes sur lesquelles les administrateurs Sharepoint demandent des informations.

Figure 1 Définition des propriétés utiles de Sharepoint

Propriété Fonction
Alerts-enabled Active ou désactive les alertes pour votre serveur virtuel ou votre application Web.
Alerts-limited Spécifie si le nombre d'alertes que les utilisateurs peuvent définir sur le serveur virtuel ou l'application Web est limité.
Alerts-maximum Si des limites d'alertes sont définies, nombre maximal d'alertes qu'un utilisateur peut définir.
Days-to-show-new-icon Cette propriété définit la durée pendant laquelle l'icône « Nouveau » apparaît en regard des éléments ajoutés au site Web, comme les messages d'annonce, par exemple.
Job-immediate-alerts Spécifie la fréquence à laquelle Sharepoint recherche des alertes immédiates à envoyer. La valeur par défaut pour Sharepoint 2.0 est de cinq minutes. Vous pouvez ajuster cet intervalle ici. La diminution de la durée augmentera la charge de votre Web et de vos serveurs de base de données. Vous devez dont être vigilant si vous modifiez cette propriété.
Job-daily-alerts Spécifie l'heure à laquelle les alertes quotidiennes sont envoyées. Les valeurs par défaut pour Sharepoint 2.0 sont comprises « entre 22:00 et 06:00 ». Si certains utilisateurs ne sont pas dans le même fuseau horaire que le serveur, vous pouvez ajuster cette propriété.
Job-weekly-alerts Vous voyez probablement le modèle qui se profile. Définit la planification des alertes hebdomadaires.

Examinons rapidement l'utilisation d'une de ces propriétés. La commande suivante permettra à Sharepoint d'envoyer des alertes immédiates toutes les 10 minutes :

Stsadm -o setproperty -pn job-immediate-alerts -pv "Every 10 minutes"

Notez que j'ai utilisé -pn et -pv au lieu de -propertyname et -propertyvalue. Ce sont des raccourcis acceptables lorsque vous ne souhaitez pas taper le mot entier. Notez également que tous les exemples et commandes que j'ai présentés dans cette section fonctionneront pour les deux versions 2.0 et 3.0 de Windows SharePoint Services.

Administration quotidienne

L'administration quotidienne de Sharepoint est assez facile. Pour la plupart des administrateurs Sharepoint, l'essentiel des tâches quotidiennes consiste à travailler avec les utilisateurs et les sites. STSADM dispose de plusieurs opérations permettant d'optimiser ces tâches.

Je commencerai par les sites et les Webs. Par souci de cohérence, j'utiliserai « site » pour faire référence aux collections de site et « Web » pour faire référence aux sous-sites (également appelés sous-Webs). La terminologie est parfois compliquée, mais si vous restez cohérent par rapport à celle que STSADM utilise, vous trouverez plus facilement la commande souhaitée.

Si vous exécutez une installation Sharepoint de grande taille, vous passez probablement beaucoup de temps à créer de nouveaux sites pour les utilisateurs. Moi-même, j'effectue souvent ce type de tâche. La création de nouveaux sites est assez facile dans l'Administration centrale de SharePoint. Mais comme j'exécute cette tâche très souvent, je trouve plus rapide d'utiliser STSADM pour faire le travail.

J'utilise l'opération createsite. Elle est relativement simple et a recours aux paramètres suivants :

  • url <url>
  • ownerlogin <DOMAINE\nom>
  • owneremail <personne@exemple.com>
  • ownername <nom d'affichage>
  • lcid <langage>
  • sitetemplate <modèle de site>
  • title <titre du site>
  • description <description du site>
  • quota <modèle de quota>

Vous pouvez afficher ces paramètres à l'invite de commande en tapant stsadm -help createsite (voir Figure 2). De ces neuf paramètres, les seuls champs obligatoires sont URL, ownerlogin et owneremail.

Figure 2 Paramètres Createsite

Figure 2**  Paramètres Createsite **(Cliquer sur l'image pour l'agrandir)

Si vous créez souvent des sites, vous pouvez optimiser le processus en écrivant un script wrapper lié à STSADM pour automatiser la tâche. Par exemple, pour automatiser la création de sites personnels, enregistrez les éléments suivants dans un fichier texte nommé createpersonalsite.cmd :

stsadm -o createsite -url https://localhost/users/%1 -ownerlogin contoso\%1 
-owneremail %1@contoso.com -sitetemplate usersite.stp 
-title "Personal site for %1" -description "Personal site for %1" -quota "500 MB"

Pour ensuite créer un site pour l'utilisateur jsmith, vous pouvez simplement exécuter le script suivant :

createpersonalsite.cmd jsmith

L'écriture du script de création de site permet de gagner beaucoup de temps de frappe et de vous assurer de la cohérence de tous vos nouveaux sites. L'opération createweb fournit les mêmes fonctionnalités au niveau du Web.

Dans Windows SharePoint Services 2.0, le moyen le plus facile d'obtenir une liste exhaustive des collections de sites sur un serveur virtuel particulier est d'utiliser STSADM. Enumsites répertorie au format XML toutes les collections de sites sur un serveur virtuel ou une application Web spécifiques. Cela peut être associé à un composant WebPart d'affichage des données pour afficher facilement une liste des collections de sites. (Voir l'encadré « Utilisation d'un composant WebPart d'affichage des données » pour plus d'informations).

L'opération deletesite permet, comme vous pouvez le deviner, de supprimer des sites. Il vous suffit de fournir l'URL. Facultativement, vous pouvez passer -deleteadaccounts pour supprimer des comptes dans Active Directory®. Si vous travaillez avec des Webs, vous utiliserez l'opération deleteweb.

Vous pouvez également ajouter, supprimer et énumérer les utilisateurs d'un site ou du Web. Les opérations associées sont adduser, deleteuser et enumusers. Ces opérations sont pratiques si des utilisateurs doivent être ajoutés en masse à un site, ou si vous devez maintenir une liste d'utilisateurs qui ont accès à un site pour des audits.

Si vous travaillez avec des Webs, vous aurez accès à une opération supplémentaire, renameweb, qui permet de modifier le nom et l'URL d'un Web. Par exemple, pour renommer un Web et remplacer « ancien_nom » par « nouveau_nom_cool », utilisez les éléments suivants :

Stsadm -o renameweb -url https://localhost/oldname -newname coolnewname

Cela peut être d'un grand secours lorsque les noms de projet changent ou que les unités sont réorganisées. Dans Windows SharePoint Services 2.0, c'est un problème majeur, dans la mesure où le seul moyen de migrer des Webs, c'est à l'aide de SMIGRATE.exe, qui ne gère aucun paramètre utilisateur, comme l'appartenance ou les alertes. Avec Windows SharePoint Services 3.0, le problème est moindre, puisque STSADM peut sauvegarder et restaurer des Webs et des sites.

Sauvegarde et Restauration

L'une des meilleures utilisations de STSADM, réside dans la sauvegarde et la restauration des sites et des Webs. Des petites aux moyennes installations, ces fonctionnalités peuvent constituer la base d'un plan de récupération après incident. L'opération de sauvegarde est explicite et très facile à utiliser. Il suffit d'indiquer à STSADM le site à sauvegarder et l'emplacement dans lequel enregistrer le fichier de sauvegarde, comme suit :

Stsadm -o backup -url https://localhost -filename site.bak

Cette opération vide toute la collection de sites dans le fichier site.bak. Cela inclut tout le contenu des sites, tels que les Webs, les versions de document, les listes et les utilisateurs. Elle ne sauvegarde pas de définitions de site ou les modifications effectuées au niveau du système de fichiers de vos serveurs.

L'opération de sauvegarde étant importante, il faut être vigilant, car des problèmes peuvent survenir. Si le site est assez grand, la base de données de contenu peut être verrouillée pendant le processus de sauvegarde. Cela peut empêcher les utilisateurs d'accéder aux sites de cette base de données jusqu'à ce que l'opération de sauvegarde soit terminée. Ce problème a été atténué grâce aux service packs, mais il convient néanmoins de rester vigilant lorsque vos sites grandissent. STSADM utilise également le répertoire temp du serveur lors des sauvegardes et des restaurations, donc surveillez votre espace disque.

Utilisation d'un composant WebPart d'affichage des données

Vous pouvez associer la commande enumsites à un composant WebPart d'affichage des données pour afficher facilement une liste de collections de sites. Voyons comment procéder.

Tout d'abord, créez une tâche planifiée qui exécute :

stsadm –o enumsites –url https://localhost
>c:\inetpub\wwwroot\excludedsite\sites.xml 

Assurez-vous que le fichier XML est enregistré dans un répertoire publié avec IIS, mais non géré par Sharepoint. Utilisez ensuite Microsoft FrontPage® (ou le successeur de Frontpage, Microsoft Office SharePoint Designer 2007) pour ajouter un composant WebPart d'affichage des données à une page de composants WebPart, que vous pointerez-le vers l'URL du fichier XML.

Le composant WebPart d'affichage des données fournit des fonctionnalités comme le tri, le filtrage et le regroupement. Vous pouvez aussi faire du champ de l'URL un lien direct vers le site. Si vous préférez une liste de Webs, l'opération enumsubwebs fournit une sortie XML des sous-Webs dans une collection de sites ou un Web.

Enfin, n'oubliez pas que si les sauvegardes STSADM fonctionnent bien pour les petits et moyens sites, les fonctionnalités ne sont pas particulièrement évolutives. Pour les sites de très grande taille (plusieurs gigaoctets ou plus), les processus de sauvegarde et de restauration peuvent ralentir de façon considérable.

La restauration d'un site est tout aussi simple. STSADM -o restore récupère un fichier créé par STSADM -o backup et l'enregistre sur un site dans Sharepoint. Cette commande est très souple : vous pouvez restaurer un site à son emplacement original (si, par exemple, le site a été supprimé à tort), le restaurer comme un site différent sur le même serveur virtuel (peut-être si vous souhaitez tester un processus sur un site sans courir le risque de détruire des données) ou le restaurer sur un tout autre serveur ou sur un serveur virtuel.

La restauration sur un autre site ou serveur facilite la récupération de documents individuels. Si un utilisateur veut restaurer un document sur un site sauvegardé, il n'est pas nécessaire de restaurer tout le site. Une restauration complète sacrifierait toutes les modifications apportées à ce site puisque la sauvegarde a été stockée. Au lieu de cela, il suffit de restaurer le site vers une URL différente, de récupérer les documents et de les enregistrer sur le site original.

Dans Windows SharePoint Services 2.0, STSADM comporte une limitation assez sérieuse. Lors de la sauvegarde, il ne peut traiter que des sites, pas des Webs. Les administrateurs ont manifesté leur mécontentement et Microsoft a réagi. Dans Windows SharePoint Services 3.0, les opérations de sauvegarde et de restauration peuvent désormais gérer les Webs. Deux nouvelles commandes sont également ajoutées : importer et exporter.

Pour exporter un Web, utilisez la commande simple suivante :

Stsadm -o export -url https://localhost/web -filename backup.dat

La fonctionnalité d'exportation propose des options pratiques, notamment -versions switch. Cette option permet de déterminer la taille de vos fichiers de sauvegarde en limitant les versions de fichier qui seront sauvegardées.

Pour importer un Web sur un serveur, utilisez la commande suivante :

Stsadm -o import -url https://localhost/web2 -filename backup.dat

Si votre site est suffisamment grand, le fichier de sauvegarde peut être décomposé en plusieurs fichiers.. Dans ce cas, pointez STSADM -o import vers le premier fichier et il récupérera automatiquement les fichiers suivants.

Opérations spécialisées

Maintenant que vous êtes à l'aise avec STSADM, je vais vous présenter quelques opérations que vous pouvez utiliser pour résoudre un problème. La première opération est toute nouvelle et s'appelle migrateuser. La version 2.0 ne se synchronise pas avec Active Directory. Si un compte est renommé, il ne peut plus se connecter à Sharepoint. Par le passé, il était impossible de migrer l'accès utilisateur d'un utilisateur de domaine à un autre. Avant Windows SharePoint Services 2.0 Service Pack 2 (SP2), il fallait supprimer l'utilisateur de chaque Web et ajouter manuellement le nouveau compte.

SP2 a introduit une nouvelle API et STSADM en tire parti. Si le compte jsmith est renommé jjones, utilisez la commande suivante :

Stsadm -o migrateuser -oldlogin domain\jsmith -newlogin domain\jjones -ignoresidhistory

Puisqu'en réalité vous ne migrez pas de comptes, vous pouvez ignorer l'historique de l'identificateur de sécurité Windows (SID). Notez que cette commande ne nécessite pas d'URL. Elle effectue la modification dans toutes les bases de données de contenu indépendamment des sites ou des Webs.

unextendvs est une autre opération susceptible de vous sortir d'une ornière. Si vous ne souhaitez pas que Sharepoint affiche un serveur virtuel ou une application Web, vous devez annuler leur extension. Normalement, cette action s'effectue à partir de l'Analyseur de configuration Sharepoint. Cependant, dans un groupe de serveurs Web, l'Analyseur de configuration Sharepoint nécessite que vos serveurs soient tous au même niveau de correctif. Il est possible qu'un serveur soit désynchronisé du reste du groupe, par conséquent, l'option unextend n'apparaîtra pas dans l'Analyseur. Toutefois, si vous utilisez STSADM, la commande suivante annulera l'extension de votre serveur virtuel :

Stsadm -o unextendvs -url https://localhost

Une fois le serveur sorti du groupe de serveurs Web, vous pouvez effectuer la maintenance nécessaire.

Pour faciliter l'administration du groupe de serveurs Web, l'Analyseur de Configuration Sharepoint peut être installé sur le même port pour tous vos serveurs. Le port est généré de façon aléatoire lors de l'installation de Sharepoint, mais STSADM inclut une opération pour remplacer le port par un autre que vous spécifiez :

Stsadm -o setadminport -port 1026

Cette opération effectue toutes les modifications de la base de données nécessaires, effectue les modifications IIS et ajuste le raccourci vers l'Analyseur de Configuration Sharepoint dans les Outils d'administration.

Conclusion

Windows SharePoint Services est une solution extrêmement puissante qui nécessite par conséquent une administration ultraperformante. STSADM permet d'effectuer l'administration de Sharepoint, notamment l'automatisation de la configuration et les tâches quotidiennes courantes. En effet, c'est parfois le seul moyen de faire le travail.

Todd Klindt est analyste systèmes chez UGS, où il passe ses journées à s'amuser avec Sharepoint, et est payé pour cela. Il est également MVP sur Windows SharePoint Services et est natif du signe du Verseau

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.