PowerShell ConvaltateSet sceglie da un elenco

PowerShell ConvaltateSet sceglie da un elenco

L'attributo "ValidateSet"In PowerShell viene utilizzato per convalidare i valori o gli oggetti forniti. Significa che consente solo i valori inseriti dall'elenco fornito degli elementi. Il parametro specificato può anche essere utilizzato nelle funzioni PowerShell. Durante il runtime, verifica se l'elenco contiene o meno i valori specifici. Se il valore viene trovato nell'elenco, questo cmdlet continuerà a funzionare, altrimenti lancerà un errore.

Questo articolo fornirà dettagli approfonditi sull'attributo PowerShell "ConvaltateSet".

PowerShell ConvaltateSet: scelta da un elenco

L'attributo "Convalidare"In PowerShell viene utilizzato per verificare e convalidare se il valore o l'oggetto inserito esiste negli oggetti forniti o meno. Di seguito sono riportati esempi che dimostrano l'attributo dichiarato.

Esempio 1: creare una funzione per richiedere all'utente di inserire un valore e convalidarlo utilizzando il cmdlet "validateSet"

L'esempio seguente convaliderà il valore immesso dall'utente:

Funzione OS

[ConvaltateSet ('Windows', 'ios', 'Linux')]
$ read = read -host -prompt 'Immettere il nome del sistema operativo'


Secondo il codice sopra:

    • Innanzitutto, crea una funzione chiamata "Sistema operativo".
    • Quindi, al di fuori della funzione, crea un "ValidateSet"Argomento e fornire i valori dichiarati.
    • Successivamente, inizializza una variabile e assegna il "lettura host"Cmdlet.
    • Quindi, aggiungi il "-richiesta"Parametro e specificare il testo da visualizzare al momento dell'input dall'utente:



Convalidiamo il valore dato se esiste nella raccolta o no:

finestre



Ora, inseriamo il valore dell'oggetto che non esiste nel set di oggetti fornito:

Manjaro



Si può vedere che la console lancia un errore.

Esempio 2: utilizzare l'istruzione "Param" insieme all'attributo "ConvaltateSet" per convalidare il valore dato

L'esempio dichiarato richiederà all'utente di immettere il valore e quindi convalidare il valore immesso:

Param (
[Parametro (obbligatorio)]
[ConvaltateSet ("Adam", "John", "Bill", "Katty")]
$ Employees_Info
)
$ Employees_age = [ordinato]@
'Adam' = 28
'John' = 26
'Bill' = 32

$ Employees_info | Foreach-object
$ age_output = "0 è 1 anni."-f $ _, $ Employees_age [$ _]
Write-output $ age_output


Nel codice sopra indicato:

    • Innanzitutto, crea un "Param ()"Dichiarazione e renderla obbligatoria.
    • Quindi, passa il "ValidateSet"Attributo con l'insieme di oggetti al suo interno e passa anche la tabella hash assegnata"$ Employees_Info"Variabile.
    • Dopodiché, crea una tabella hash. In quella tabella hash assegnare i valori agli oggetti.
    • Quindi, scrivi la tabella hash assegnata e aggiungi il "|" tubatura.
    • Dopodiché, aggiungi il "Fooch-object"CMDLET per visualizzare l'output sulla console PowerShell:



Inseriamo il valore fornito alla raccolta di oggetti per convalidarlo:

Conto



Si può osservare che il comando eseguito correttamente perché l'oggetto immesso esiste negli oggetti forniti.

Ora, inseriamo l'oggetto che non esiste nella raccolta di oggetti:

Giacomo



Si può vedere che la console lancia un errore perché l'oggetto immesso non esiste nella raccolta di oggetti forniti.

Conclusione

Il cmdlet "ValidateSet"In PowerShell specifica l'insieme di possibili valori per un argomento parametro CMDLET. Inoltre, questo può essere utilizzato anche dalla funzione PowerShell. Quando è abilitato, accetta e convalida il valore dato. Se il valore esiste nella raccolta, il programma verrà ulteriormente eseguita. Altrimenti non eseguirà e lancerà un errore. Questo blog ha fornito informazioni dettagliate sull'attributo "validateSet".