Outils pour utilisateurs

Outils du site


dev:powershell:ecrire_un_module_powershell

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:powershell:ecrire_un_module_powershell [2023/08/23 12:01] yoanndev:powershell:ecrire_un_module_powershell [2023/08/27 12:25] (Version actuelle) yoann
Ligne 14: Ligne 14:
  
 <code powershell> <code powershell>
-New-ModuleManifest -Path C:\myModuleName.psd1 -ModuleVersion "2.0" -Author "YourNameHere"+New-ModuleManifest -Path C:\My.Module.Name.psd1 -ModuleVersion "2.0" -Author "YourNameHere"
 </code> </code>
  
Ligne 21: Ligne 21:
 <code powershell> <code powershell>
 # Définition des paramètres  # Définition des paramètres 
 +$module_properties = @{
 +   RootModule = '.\aScriptExample.psm1'
 +   ModuleVersion = '0.0.0.1'
 +   GUID = New-Guid | Select-Object -ExpandProperty Guid
 +   Author = 'anAuthorName'
 +   CompanyName = 'aCompanyName'
 +   Description = "a module short description"
 +   PowerShellVersion = '5.1'
 +   FunctionsToExport = @("aFunction1", "aFunction2", "aFunction3")
 +   CmdletsToExport = @()
 +   AliasesToExport = @()
 +   VariablesToExport = @('$aVarName1', '$aVarName2')
 +}
  
 +New-ModuleManifest -Path .\My.Module.Name.psd1 @module_properties
 </code> </code>
  
Ligne 33: Ligne 47:
 La cmdlet **Test-ModuleManifest** permet de vérifier la syntaxe du fichier module manifest : La cmdlet **Test-ModuleManifest** permet de vérifier la syntaxe du fichier module manifest :
 <code powershell> <code powershell>
 +Test-ModuleManifest .\Phobos.Epsilon.filehash.psd1
 +</code>
  
 +===== Sélection des objets à exporter =====
 +
 +Fonctions, alias et variables doivent être sélectionnés pour être exportés :
 +  * Depuis le script ;
 +  * Depuis le fichier manifest.
 +
 +
 +Dans le script on utilise la cmdlet **Export-ModuleMember**
 +
 +<code powershell>
 +Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt -Variable aVarName
 +</code>
 +
 +Depuis la table de hachage du fichier manifest, on renseigne la valeur de la clé **VariablesToExport**
 +
 +<code powershell>
 +@{
 +  # Par défaut toutes les variables sont exportés. Ici on définit
 +  # Précisément les variables qu'on souhaite exporter.
 +  VariablesToExport = @('$aVarName1', '$aVarName2')
 +
 +</code>
 +
 +
 +===== Charger le module =====
 +
 +Pour charger le module dans la session active : 
 +<code powershell>
 +Import-Module .\aModuleName.psd1
 +</code>
 +
 +Ce chargement dynamique est éphémère et ne concerne que le shell en cours d'exécution. Pour que le module soit chargé automatiquement lors du lancement de Powershell, il doit être installé voir la note .
 +
 +===== Décharger le module =====
 +
 +<code powershell>
 +Remove-Module aModuleName
 </code> </code>
  
dev/powershell/ecrire_un_module_powershell.1692792092.txt.gz · Dernière modification : 2023/08/23 12:01 de yoann