PowerShell & SQL Server 2008, partie 2 : SQLPS ou qu'est-ce qu'un minishell ?
Comme cela est expliqué ici : SQL Server Powershell is here! il y a besoin d'explications supplémentaires concernant la fonctionnalité SQLPS !
Il s'agit d'un environnement PowerShell pré-chargé (ici avec les 2 snap-ins SQL, voir mon message précédent :PowerShell & SQL Server 2008, partie 1 : présentation générale... ). On peut le lancer directement de la ligne de commande Windows, du menu démarrer ou bien via Management Studio. Mais cet environnement a quelques limitations dont la principale est que ce "minishell" est fermé et ne permet pas de charger d'autres snap-ins. Ainsi dans une fenètre SQLPS la commande get-pssnapin n'est pas disponible.
Ceci pose le problème des gens qui voudraient créer leur propre environnement avec des fournisseurs SQL Server ET d'autres fournisseurs Exchange, AD, ...
Cela a fait couler beaucoup d'encre durant l'été... Jusqu'à ce que Jeffre Snover justifie et explique les choix faits ici : SQL Use of MiniShells
La principale solution à ce problème consiste à inclure dans ce cas les commandes de chargements des snap-ins et de configuration dans un script de démarrage.
L'exemple en est donné ici :
... avec les principales commandes ici :
Ce script est mis en attachement de ce message.
Une autre approche consiste à créer dans Management studio un moyen de lancer un environnement PowerShell non-restreint ("vanilla PowerShell"). Cela est décrit ici : Launching Vanilla PowerShell from SSMS
Ce qui en version française donne :