Powershell VidadateSet Escolha de uma lista

Powershell VidadateSet Escolha de uma lista

O atributo “ValidateSet”Em PowerShell é utilizado para validar os valores ou objetos fornecidos. O que significa que apenas permite os valores inseridos na lista fornecida de itens. O parâmetro especificado também pode ser utilizado nas funções do PowerShell. Durante o tempo de execução, ele verifica se a lista contém os valores específicos ou não. Se o valor for encontrado na lista, este cmdlet continuará sendo executado, caso contrário, ele lançará um erro.

Este artigo fornecerá detalhes perspicazes sobre o atributo PowerShell "ValidateSet".

Powershell validateSet: Escolha de uma lista

O atributo “Validar”Em PowerShell é utilizado para verificar e validar se o valor ou objeto inserido existe nos objetos fornecidos ou não. Exemplos que demonstram o atributo declarado são fornecidos abaixo.

Exemplo 1: Crie uma função para solicitar ao usuário inserir um valor e validá -lo usando o cmdlet "ValidateSet"

O exemplo a seguir validará o valor inserido pelo usuário:

Função os

[VidadateSet ('Windows', 'iOS', 'Linux')]
$ read = read -host -PROMPT 'Digite o nome do sistema operacional'


De acordo com o código acima:

    • Primeiro, crie uma função chamada “OS”.
    • Então, fora da função, crie um “ValidateSet”Argumento e forneça os valores declarados.
    • Depois disso, inicialize uma variável e atribua o “read-host”Cmdlet.
    • Então, adicione o “-incitar”Parâmetro e especifique o texto a ser exibido no momento da entrada do usuário:



Vamos validar o valor dado, se ele existe na coleção ou não:

janelas



Agora, vamos entrar no valor do objeto que não existe no conjunto de objetos fornecidos:

Manjaro



Pode -se observar que o console lança um erro.

Exemplo 2: Use a instrução "param" junto com o atributo "validateSet" para validar o valor fornecido

O exemplo declarado levará o usuário a inserir o valor e, em seguida, validar o valor inserido:

Param (
[Parâmetro (obrigatório)]
[Vidadateset ("Adam", "John", "Bill", "Katty")]]
$ Funcionários_info
)
$ funcionários_age = [ordenado]@
'Adam' = 28
'John' = 26
'Bill' = 32

$ Funcionários_info | Foreach-object
$ Age_Output = "0 tem 1 anos de idade."-F $ _, $ FURILIÁRIO_AGE [$ _]
Write-Output $ AGE_OUTPUT


No código acima mencionado:

    • Primeiro, crie um “Param ()”Declaração e torná -lo obrigatório.
    • Então, passe o “ValidateSet”Atributo com o conjunto de objetos dentro dele e também passa a tabela de hash atribuída“$ Funcionários_info" variável.
    • Depois disso, crie uma tabela de hash. Nessa tabela de hash, atribuindo os valores aos objetos.
    • Em seguida, escreva a tabela de hash atribuída variável e adicione o “|Oleoduto.
    • Depois disso, adicione o “Foreach-object”CMDLET para exibir a saída no Console PowerShell:



Vamos inserir o valor fornecido à coleta de objetos para validá -lo:

Conta



Pode -se observar que o comando executado com sucesso porque o objeto inserido existe nos objetos fornecidos.

Agora, vamos entrar no objeto que não existe na coleção de objetos:

James



Pode -se ver que o console lança um erro porque o objeto inserido não existe na coleção de objetos fornecidos.

Conclusão

O cmdlet “ValidateSet”Em PowerShell especifica o conjunto de valores possíveis para um argumento de parâmetro cmdlet. Além disso, isso também pode ser usado pela função PowerShell. Quando está ativado, aceita e valida o valor fornecido. Se o valor existir na coleção, o programa será executado ainda mais. Caso contrário, não será executado e lançará um erro. Este blog forneceu informações detalhadas sobre o atributo "validateSet".