Question [Module] Validation d'arguments de fonction
- Laurent Dardenne
- Auteur du sujet
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 11 ans 2 mois #12701
par Laurent Dardenne
Tutoriels PowerShell
[Module] Validation d'arguments de fonction a été créé par Laurent Dardenne
Voici un module de validation d'argument, sujet abordé
il y a qq temps
.
Venant de finaliser un tutoreil sur les modules, j'en ai profité pour me replonger dans ce code.
La doc MAML (xml) n'est pas opérationnelle, c'est juste une démo...
Un exemple d'usage :
[code:1]
Import-Module .\ValidationsArgument.psm1
$DebugPreference=\"Continue\"
Test-IsImplementingInterface -?
help Test-IsImplementingInterface
#Résumé de l'aide des fonctions exportées
((get-module ValidationsArgument).exportedcommands).Keys|
Foreach {get-help $_}
#On valide le contenu du chemin, pas son existence
function ContainsWildcard(
[ValidateScript( {Test-ContainsWildcardCharacters } )]
[Parameter(Mandatory = $true,Position=0,
ValueFromPipeline = $true,
HelpMessage=\"Nom de chemin.\"«»)]$Path)
{
process {Write-Host \"Le chemin ne contient pas de jokers : $Path\"}
}
\"C:\Windows\notepad.exe\",
\"C:\Windows\*.exe\",
\"Truc:\Windows\*.exe\",
\"..\*.exe\",
\"ORCL:\test.exe\"|ContainsWildcard
[/code:1]
Dans l'exemple précédent, la fonction de validation Test-ContainsWildcardCharacters est portée par l'attribut [ValidateScript()].
L'objectif étant de centraliser (réutilser) du code de validation, sans pour autant nécessiter des compétences en C#, quoique cette approche reste basée sur du code PS avancé.
Une explication du principe mis en oeuvre dans le chapitre 5.11 ValidateScript de ce tutoriel
<br><br>Message édité par: Laurent Dardenne, à: 18/09/12 13:14
Venant de finaliser un tutoreil sur les modules, j'en ai profité pour me replonger dans ce code.
La doc MAML (xml) n'est pas opérationnelle, c'est juste une démo...
Un exemple d'usage :
[code:1]
Import-Module .\ValidationsArgument.psm1
$DebugPreference=\"Continue\"
Test-IsImplementingInterface -?
help Test-IsImplementingInterface
#Résumé de l'aide des fonctions exportées
((get-module ValidationsArgument).exportedcommands).Keys|
Foreach {get-help $_}
#On valide le contenu du chemin, pas son existence
function ContainsWildcard(
[ValidateScript( {Test-ContainsWildcardCharacters } )]
[Parameter(Mandatory = $true,Position=0,
ValueFromPipeline = $true,
HelpMessage=\"Nom de chemin.\"«»)]$Path)
{
process {Write-Host \"Le chemin ne contient pas de jokers : $Path\"}
}
\"C:\Windows\notepad.exe\",
\"C:\Windows\*.exe\",
\"Truc:\Windows\*.exe\",
\"..\*.exe\",
\"ORCL:\test.exe\"|ContainsWildcard
[/code:1]
Dans l'exemple précédent, la fonction de validation Test-ContainsWildcardCharacters est portée par l'attribut [ValidateScript()].
L'objectif étant de centraliser (réutilser) du code de validation, sans pour autant nécessiter des compétences en C#, quoique cette approche reste basée sur du code PS avancé.
Une explication du principe mis en oeuvre dans le chapitre 5.11 ValidateScript de ce tutoriel
La pièce jointe ValidationsArgument.zip est absente ou indisponible
Tutoriels PowerShell
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.054 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- [Module] Validation d'arguments de fonction