SharePoint 2010: Console PowerShell à distance

Beaucoup d’opérations de maintenance avec SharePoint 2010 s’effectuent depuis une console PowerShell. Voici la marche à suivre pour créer une console PowerShell sur votre Poste, plutôt que d’avoir à vous connecter sur le serveur.

Etape 1 : préparation de l’environnement pour supporter l’exécution à distance.

Il ne s’agit pas ici d’une opération spécifique à SharePoint, mais à PowerShell en général. Pour autoriser les consoles à distance, il faut tout d’abord autoriser l’exécution à distance via la commande suivante (à exécuter en tant qu’administrateur) :

Cette commande va vous demander confirmation et faire le nécessaire pour autoriser la connexion à distance :

  • Démarrer le service WinRM (Windows Remote Managment) et le configurer pour démarrer automatiquement
  • Créer le port d’écoute
  • Ajouter les exceptions de FireWall nécessaires

Cette première opération n’est toutefois pas suffisante. En effet, les commandes SharePoint nécessitent l’impersonification. Il faut pour cela autoriser la délégation de jetons de sécurité, tant coté client que serveur.

Exécutez coté serveur (toujours en tant qu’administrateur):

Puis du coté client (encore et toujours en tant qu’administrateur) :

*.domain.com signifie ici que vous pourrez déléguer vos jetons sur tous les ordinateurs du domaine.

Un petit coup de gpupdate des deux cotés et l’environnement devrait être prêt.

Vérifiez le avec les commandes suivantes :

Vous verrez alors les informations du serveur et non de votre poste.

Etape 2: retrouver les fonctionnalités SharePoint dans votre console distante

Lorsque vous êtes connecté, ajoutez le snappin SharePoint via la commande

Éventuellement un alias vers stsadm pour les scripts anciens :

Pour vérifier que tout fonctionne:

et vous verrez les serveurs de votre ferme.

Etape 3: automatiser le lancement de la console

Le plus simple est alors de créer un script PowerShell. Par exemple, j’utilise le script suivant :

Remplacez le nom de l’ordinateur dans le script en fonction de votre environnement.

Vous pouvez étendre le script pour par exemple autoriser l’enregistrement des Credentials, mais personnellement je préfère éviter de stocker les mots de passe de serveurs, même de manière cryptée.

Un petit raccourci Windows avec la syntaxe suivante :

Exécutez le en tant qu’administrateur, saisissez les credentials qui vont bien et vous vous retrouvez alors connecté à distance dans une console d’admin PowerShell SharePoint!

Conclusion

Cet article vous aura permis de voir comment avoir depuis votre poste client l’accès à une console d’administration distante de SharePoint. Ici il s’agit d’une console SharePoint 2010 mais vous pouvez bien entendu appliquer le concept à tout autre application: SharePoint 2007 bien sûr (sans le snapin powershell correspondant), mais aussi Hyper-V, SCVMM, etc.

Vous pouvez également appliquer le même principe pour exécuter à demande des scripts distants, comme par exemple l’exécution d’une sauvegarde sur un serveur de développement.

Rating 3.50 out of 5
[?]
  • X CHAPELUT

    Bonjour,

    Merci pour ce petit article, très utile quand on connait à peine powershell. Par contre, est-ce utilisable avec XP en changeant la méthode d’authentification ?

    • Bonjour,

      J’avoue ne pas savoir. La méthode d’authentification CredSSP n’est théoriquement pas disponible avec XP. Il est possible de passer par une autre méthode, mais le risque et de ne pas pouvoir tout effectuer depuis la console distante. Notamment, ce qui concerne la délégation de jeton ne sera pas possible.

      Le plus simple est encore d’essayer (et de poster les conclusions ici tant qu’à faire :))