Dans la version précédente, le service sur le serveur qui exécutait la commande stsadm venant d'une machine distante était un web service. Je me suis donc mis à regarder WCF, et notamment les services WCF, et hmm ... comment dire ... c'est beaucoup mieux :-p
Bref, voici la version 2 de ce petit utilitaire qui permet d'exécuter à distance des commandes stsadm sur un serveur SharePoint.
Il faut au préalable lancer le service (en double cliquant sur l'exécutable NetstsadmService.exe) sur le serveur SharePoint, en précisant un numéro de port sur lequel écouter :
Dans la capture précédente, le service tournera donc sur le port 1234.
Ensuite, il faut exécuter la commande suivante depuis un poste distant (en supposant que le client du service NetStsAdm.exe soit dans le path)
> NetStsAdm.exe -TargetURL http://SharePoint:1234 -o deletesolution -name SampleFeature.wsp
TargetURL pointe vers le service, ensuite la syntaxe est la même que pour une commande stsadm. Dans l'exemple précédent, il est demandé de supprimer la solution SampleFeature.wsp.
Sur le même principe que la première version, si dans votre commande vous spécifiez un "filename" (pour par exemple les opérations addsolution, addtemplate, backup, restore etc ...), le fichier sera dans un premier temps téléchargé sur le serveur dans le répertoire temporaire renvoyé par la méthode :
Ensuite, le paramètre sera bien entendu modifié pour prendre en compte le nouveau chemin sur le serveur.
Vous pourrez avoir une trace des commandes exécutées, en effet celles-ci s'afficheront sur la console hébergeant le service.
Attention, aucune sécurité n'est mise en place, ce qui veut dire que le service est accéssible de façon anonyme. Cet outil est dans un premier temps destiné aux environnements de développement. Dans une prochaine version, je mettrai en place la sécurité.
Vous pouvez télécharger cette nouvelle version sur CodePlex (le code source est également disponible).
Merci de me remonter vos commentaires et/ou remarques!