A construção if/then é comum no código do PowerShell, mas você sabia que há outra maneira chamada operador ternário que permite tornar suas construções if/then muito mais concisas? Vamos aprender como construir um operador ternário personalizado no PowerShell.
Alguns dizem que, em detrimento da legibilidade, o operador ternário constrói uma lógica condicional mais concisa, mais simples e com menos código. Eles estão corretos, mas é tão bom ter esse comportamento semelhante a um operador ternário no PowerShell!
Se você não está familiarizado com um operador ternário, basicamente é usar um hashtable ou uma estrutura similar para tomar uma decisão condicional baseada em critérios.
If/Then no PowerShell
Para explicar o operador ternário do Powershell, vamos começar com um exemplo de uma construção if/then.
À primeira vista, você pode não achar que há algo errado com isso. Na verdade, realmente não há, mas essa condição pode ser testada facilmente em apenas uma linha (dentro do meu limite pessoal de 115 caracteres).
Agora, crie um hashtable do PowerShell com duas chaves; $true
e $false
. Em seguida, faça os valores serem o que você deseja exibir se uma condição que você definiu for atendida.
Em seguida, defina a condição ($CarColor é Azul
) e verifique se essa condição é atendida com $CarColor -eq 'Azul'
.
Agora use a condição ($CarColor -eq 'Azul'
) como uma chave nesse hashtable. Fazendo isso, realiza-se a verificação e, em seguida, usa-se o resultado para procurar a chave no hashtable.
Finalizando o Operador Ternário do PowerShell

Uma linha! Não é muito mais sucinto? Em vez de usar uma declaração if/then, estou usando um hashtable e fazendo uma pesquisa com base em se $CarColor
é igual a Azul
ou não. O índice resultante é então exibido no console. Se você quiser usar esse método, é tão simples quanto preencher essas lacunas:
Você também pode incluir mais do que apenas $true
e $false
se quiser. Você pode adicionar qualquer número de condições no hashtable e verificá-las. É uma maneira fácil de substituir declarações if/then longas ou declarações switch.
Agora você tem um operador ternário personalizado do PowerShell que pode começar a usar em seus scripts hoje!