Comment rendre les paramètres obligatoires dans PowerShell?
Comment rendre les paramètres obligatoires dans PowerShell?
26
demandé sur
marc_s
2011-08-23 15:39:25
2 réponses
Vous spécifiez dans un attribut au-dessus de chaque paramètre comme ceci:
function Do-Something{
[CmdletBinding()]
param(
[Parameter(Position=0,mandatory=$true)]
[string] $aMandatoryParam,
[Parameter(Position=1,mandatory=$true)]
[string] $anotherMandatoryParam)
process{
...
}
}
32
répondu
Jamiec
2018-01-10 14:47:39
Pour rendre un paramètre obligatoire, ajoutez un "Mandatory = $true" à la description du paramètre. Pour rendre un paramètre facultatif, laissez simplement l'instruction" obligatoire".
Ce code fonctionne pour les paramètres de script et de fonction:
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[String]$aMandatoryParameter,
[String]$nonMandatoryParameter,
[Parameter(Mandatory=$true)]
[String]$anotherMandatoryParameter
)
Assurez-vous que l'instruction "param" est la première (sauf pour les commentaires et les lignes vides) dans le script ou la fonction.
Vous pouvez utiliser L'applet de commande" Get-Help " pour vérifier que les paramètres ont été définis correctement:
PS C:\> get-help Script.ps1 -full
[...]
PARAMETERS
-aMandatoryParameter <String>
Required? true
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters?
-NonMandatoryParameter <String>
Required? false
Position? 2
Default value
Accept pipeline input? false
Accept wildcard characters?
-anotherMandatoryParameter <String>
Required? true
Position? 3
Default value
Accept pipeline input? false
Accept wildcard characters?
13
répondu
llmora
2018-05-24 09:09:21