2009-03-25 15 views
1

J'ai développé un script Powershell pour déployer des mises à jour sur une suite d'applications; incluant les mises à jour de base de données SQL Server.Déploiement d'applications avec Powershell

Ensuite, j'ai besoin d'un moyen d'exécuter ces scripts sur plus de 100 serveurs; sans se connecter manuellement à chaque serveur. "Powershell v2 avec à distance" n'est pas une option car il est encore dans CTP.

Powershell v1 avec WinRM semble le plus prometteur, mais je ne peux pas obtenir de commentaires de mes scripts. Les scripts s'exécutent, mais j'ai besoin de connaître les exceptions. Les scripts créent un fichier journal, existe-t-il un moyen d'envoyer le contenu du fichier journal au "client" (l'ordinateur local effectuant les appels distants)?

Répondre

1

La réponse rapide est Non. La version longue est possible, mais impliquera beaucoup de hacks. J'ai développé un script/système de déploiement très similaire en utilisant PowerShell 2 l'année dernière. La fonction d'accès à distance est la principale raison pour laquelle nous avons mis en place le statut CTP. PowerShell 1 avec WinRM est floconneux au mieux et comme vous l'avez dit, pas de véritable feedback en dehors de ok ou échoué.

L'autre solution que j'ai envisagée incluait l'utilisation de PsExec, qui est très non standard et peut être bloquée par un pare-feu. L'autre approche implique l'utilisation d'outils de gestion de système tels que System Center de MS, mais ce n'est qu'un gros marteau pour un ongle minuscule. Vous devez donc choisir votre poison ...

0

Juste un commentaire à ce sujet: La façon la plus simple de capturer la sortie PowerShell est d'utiliser la cmdlet start-transcript pour diriger la sortie de la console vers un fichier. Nous avons un petit extrait au début de tout notre script qui envoie un fichier journal avec la sortie de la console de chaque script vers un partage de fichiers central, et nomme le fichier journal avec le nom et la date du script afin que nous ayons une idée de Qu'est-il arrivé. Ce n'est pas trop difficile de canaliser tous ces fichiers journaux dans une base de données pour un traitement ultérieur non plus. Probablement ne pas résoudre tous vos problèmes, mais aiderait certainement sur la partie "récupérer des données".

meilleures salutations, Trond