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

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.