Bonjour,
j'ai crée un script Powershell qui utilise Anybox pour proposer une interface graphique dans laquelle je fait des choix.
En fonction des choix à la validation de la fenêtre j'applique des paramètres.
Un des choix est le nom de l'ordinateur, il faut que mon nom d'ordinateur fasse exactement 15 caractères.
J'ai réussi à mettre une vérification sur la ligne si ça fait moins de 15 caractères, mais je ne trouve pas pour limiter à 15 caractères maximum.
Voici la ligne en question :
Avec le Validatescript, si le nom ne fait pas 15 caractères j'ai une erreur Invalid input qui me permet de corriger.
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part New-AnyBoxPrompt -Group 'Détail du poste' -InputType Text -Message "Nom de la machine :" -DefaultValue 'PACA-' -ValidateScript { $_.Length -ge 15 }
J'ai vu qu'il existait une variable Validatelenght mais je ne trouve pas comment l'appliquer dans Anybox, je n'ai réussi à faire fonctionner que ValidateScript avec Anybox.
Vous avez une idée de comment faire ceci?
Jean-Michel
PS : Pour tester le script voici de quoi le faire tourner (il faut que Auget soit installé :
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #Installation interface graphique if (Get-Module -ListAvailable -Name AnyBox) { Write-Output "AnyBox déja installé" } else { Write-Host 'Installation interface graphique' saps -WindowStyle Hidden -FilePath powershell -Verb runas -ArgumentList {Install-Module -Name 'AnyBox' -Force} -wait Write-Host 'Interface graphique Installé' } Import-Module AnyBox $anybox = New-Object AnyBox.AnyBox $anybox.Prompts = @( # typical text prompt, but with default value. # sets are shown as drop-down lists. New-AnyBoxPrompt -Group '_Secteur' -InputType Text -Message "Choix secteur :" -ValidateSet 'BDR','VAR' -DefaultValue 'BDR' New-AnyBoxPrompt -Group 'Détail du poste' -InputType Text -Message "Type de poste :" -ValidateSet 'Accueil','Technique','Impression' -DefaultValue 'Technique' -ShowSetAs Radio -ShowSeparator New-AnyBoxPrompt -Group 'Connection Info' -InputType Text -Message "Adresse IP :" -DefaultValue '192.168.1.1' -ValidateScript { $_ -match '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' } New-AnyBoxPrompt -Group 'Détail du poste' -InputType Text -Message "Nom de la machine :" -DefaultValue 'PACA-' -ValidateScript { $_.Length -ge 15 } New-AnyBoxPrompt -Group 'Détail du poste' -InputType Checkbox -Message "Installer le scanner ?" -DefaultValue $false ) $anybox.Icon = 'Question' $anybox.Title = 'Prépa' $anybox.ContentAlignment = 'left' $anybox.FontSize = '15' $anybox.Buttons = @( New-AnyBoxButton -Name 'Annuler' -Text 'Annuler' -IsCancel New-AnyBoxButton -Name 'Lancer' -Text 'Lancer' -IsDefault ) # show the AnyBox; collect responses. $response = $anybox | Show-AnyBox
Partager