Interagindo com o usuário através de um script PowerShell

Overview
Olá! Se você está procurando por um jeito simples e eficaz de comunicar com o usuário durante a execução de um script em PowerShell, você veio ao lugar certo! Este post vai te mostrar, de forma descomplicada e direta, como criar um messagebox que irá não apenas capturar a atenção do usuário, mas também coletar e reagir às respostas dele. Vamos embarcar juntos nessa jornada por códigos e mensagens que podem tornar seus scripts muito mais interativos e amigáveis. Preparado? Vamos lá!
Neste post, mostro um exemplo básico de como interagir com o usuário durante a execução de um script PowerShell. A ideia é mostrar um messagebox e depois executar um determinado código de acordo com a resposta dele.
A implementação é toda bem simples, mas acredito que server para demonstrar o conceito.
Para manter um nível básico de organização, vamos definir o titulo do messagebox, a mensagem e as opções de resposta.
1$title = "Messagebox Demo"
2$message = "Do you like Bacon?"
3$answerOptions = "YesNoCancel"
4$icon = "Question"
Lembrando do escopo básico deste post, considere:
- Opções de resposta ($answerOptions) podem ser: "Ok", "YesNo" ou "YesNoCancel".
- As opções de ícone são: "Error", "Question" e "Warning".
Agora vamos disparar o messagebox, utilizando a classe correspondente no .Net e armazenar o resultado.
1$msgBoxAnswer = [System.Windows.MessageBox]::Show($message, $tile, $answerOptions, $icon)
Ok, agora que temos a resposta do usuário, basta verificar o botão que ele clicou e executar o comando correspondente:
1switch ($msgBoxAnswer) {
2 'Yes' {
3 Write-Host "Great! So do I! :)"
4 }
5
6 'No' {
7 Write-Host "Sad to hear that, but ok."
8 }
9
10 'Cancel' {
11 Write-Host "Ok. You don't have to answer right
Este fonte está disponível no Github!
Espero ter ajudado.