Question Marche à suivre pour créer des modules PS v2

Plus d'informations
il y a 15 ans 9 mois #7001 par Alan Pinard
Bonjour tout le monde,

J'aimerais savoir si vous auriez au hasard de la documentation en français concernant les détails de la création de module Powershell v2.

Merci,

Alan Pinard
Version A

Alan Pinard
Version A

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #7002 par Laurent Dardenne
Je n'en ai pas trouvé jusqu'à maintenant, tu peux déjà consulter l'aide en français sur technet :
technet.microsoft.com/fr-fr/library/bb978525.aspx

technet.microsoft.com/fr-fr/library/dd745031(VS.85).aspx

Qu'est-ce que tu entends par \"les détails de la création\" ?
Et quel est ton objectif ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #7021 par Alan Pinard
Bonjour Laurent,

Merci de ta réponse. Le deuxième lien m'a donné de bonnes informations sur la création de module par script avec les fichier PSM1.

Mon but est de pouvoir regrouper mes scripts Powershell sous différente catégorie et de faciliter leur importation dans Powershell.

De plus, lorsque je partagerai mes scripts il seras plus facile de l'offrir sous forme de module.

Merci encore,

Alan Pinard
Version A

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #7022 par Laurent Dardenne
Versiona écrit:

Mon but est de pouvoir regrouper mes scripts Powershell sous différente catégorie et de faciliter leur importation dans Powershell.

Si toutefois tu ne le sais pas la notion de module apporte une portée qui lui est propre, voir le fichier about_scope.txt.

Il existe une variable d'environnement dédié aux chemins des modules nommée PSModulePath.

Si je me souviens bien, une variable automatique $PSScriptRoot est créée dans la portée du module.

Tu peux accéder au module par
[code:1]$module= $ExecutionContext.SessionState.Module [/code:1]
Tu peux aussi utiliser la propriété OnRemove pour une finalisation('nettoyage') du code :
[code:1]
#
Suppression des objets du Wrapper
function OnRemoveValidationArguments {
Write-debug \"Remove xxx\"
}
#Le script de la propriété 'OnRemove' est appelé
#lors de la suppression du module.
$MyInvocation.MyCommand.ScriptBlock.Module.OnRemove = { OnRemoveValidationArguments }
[/code:1]
Comment accèder aux variables de la portée de l'appelant :
[code:1]
#Fonction avancées
#Nécessaire pour accéder à $PSCmdlet.
[CmdletBinding()]
...
$ObjectInScopeOfCaller=$PSCmdlet.SessionState.PSVariable.Get(\"VarName\"«»).Value
...
[/code:1]
Ces qq infos t'aiderons, je pense, pour débuter avec les modules.

Pour finir, un article en anglais de Bruce Payette sur la conversion de script en module :
dotnetslackers.com/articles/net/converti...-a-module-part2.aspx

Bon dev!<br><br>Message édité par: Laurent Dardenne, à: 7/07/10 11:49

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #7025 par Alan Pinard
Je me suis un peu perdu dans ton dernier post. Je vais jeter un coup d'oeil au lien que tu m'a laissé ainsi que le about_scope.txt.

Je te remercie pour ces informations!

Alan Pinard
Version A

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 9 mois #7026 par Alan Pinard
Je viens de lire le \&quot;Converting a PowerShell Script into a Module\&quot; et \&quot;Converting a PowerShell Script into a Module Part 2\&quot; et j'ai trouvé ce que je cherchais.

Merci une fois de plus ;) de m'avoir pointer ce site!!

Alan Pinard
Version A

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.048 secondes
Propulsé par Kunena