Assurez-vous de lire les articles précédents de la série:
- Apprenez à automatiser Windows avec PowerShell
- Apprendre à utiliser les cmdlets dans PowerShell
- Apprendre à utiliser des objets dans PowerShell
- Apprentissage du formatage, du filtrage et de la comparaison dans PowerShell
- Apprendre à utiliser la communication à distance dans PowerShell
- Utilisation de PowerShell pour obtenir des informations sur l'ordinateur
- Utilisation de collections dans PowerShell
Et restez à l’écoute pour le reste de la série toute la semaine.
Snapins
Snapins sont tellement l'année dernière. Toutes les blagues de côté, les composants logiciels enfichables n’ont jamais vraiment retenu l’attention parmi la communauté PowerShell car la plupart des scripteurs ne sont pas des développeurs et vous ne pouvez écrire des composants logiciels enfichables que dans un langage comme C #. Néanmoins, certains produits utilisent des composants logiciels enfichables, tels que Web Deploy, par exemple. Afin de voir quels snapins sont disponibles pour vous dans le shell, utilisez la commande suivante:
Get-PSSnapin –Registered
Add-PSSnapin -Name WDeploySnapin3.0
À ce stade, vous obtiendrez une erreur si le composant logiciel enfichable Web Deploy n'est pas installé. Si vous l'avez installé, comme moi, il sera importé dans votre session. Pour obtenir une liste des commandes disponibles dans le composant logiciel enfichable, vous pouvez simplement utiliser l'applet de commande Get-Command:
Get-Command –Module WDeploy*
Remarque: techniquement, il ne s’agit pas d’un module, mais pour une raison quelconque, vous devez toujours utiliser le paramètre Module.
Modules
Les modules sont plus récents et constituent la voie à suivre. Ils peuvent être scriptés à l'aide de PowerShell ou codés dans un langage comme C #. La plupart des commandes intégrées sont également organisées en modules. Pour voir une liste de modules sur votre système, vous pouvez utiliser la commande suivante:
Get-Module –ListAvailable
Import-Module -Name SQLASCMDLETS
Vous pouvez utiliser le même truc que nous avons utilisé avec les composants logiciels enfichables pour afficher toutes les commandes que le module a ajoutées au shell.
($env:PSModulePath).Split(“;”)
Cela va cracher le contenu de la variable. Notez que si vous avez un module tel que SQL installé, comment il a modifié la variable pour inclure l’emplacement du module SQL.
Module de chargement automatique
PowerShell 3 a introduit une nouvelle fonctionnalité impressionnante qui porte plusieurs noms. Aucun d’entre eux n’est officiel, mais «Module Auto Loading» en est la meilleure description. En gros, cela vous permet d'utiliser des cmdlets appartenant à un module externe sans importer explicitement le module à l'aide de la cmdlet Import-Module. Pour voir cela, commencez par supprimer tous les modules de votre shell à l'aide de la commande suivante:
Get-Module | Remove-Module
Vous pouvez ensuite vérifier que vous n'avez chargé aucun module en utilisant les éléments suivants:
Get-Module
Test-Connection localhost