Compartilhar via


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 !

image

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 :

image

image

... avec les principales commandes ici :

image

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 :

image

image

image

image 

image

image

Initialize-Sqlpsenvironment.ps1