Mostrando postagens com marcador MessageBox. Mostrar todas as postagens
Mostrando postagens com marcador MessageBox. Mostrar todas as postagens

domingo, 27 de agosto de 2017

Obtendo o caminho do Script

Por vezes necessitamos saber a partir de que pasta o script powershell está executando, ou mesmo o caminho completo, incluindo o nome do script.

Há variáveis interessantes de que podemos tirar proveito:
  • $PSCommandPath: use quando precisar do caminho completo + nome do script.
  • $PSScriptRoot: use quando precisar saber a pasta onde reside o script. Imagine que você queira referenciar um arquivo de configuração, obter informações a partir de um arquivo .CSV, ou mesmo carregar imagens. Se todos estiverem armazenados em uma subpasta de onde reside o script, esta variável facilita em muito a programação.


 Add-Type -AssemblyName System.Windows.Forms

[System.Windows.Forms.MessageBox]::Show( `
$PSCommandPath, '$PSCommandPath', 'OK', 'Information')

[System.Windows.Forms.MessageBox]::Show( `
$PSScriptRoot, '$PSScriptRoot', 'OK', 'Information')



Para conhecer outras variáveis interessantes, acesse essa referência.

sábado, 26 de agosto de 2017

Criando uma MessageBox

A classe System.Windows.Forms.MessageBox possui vários métodos Show [veja aqui].

Através deles, podemos exibir uma MessageBox personalizada.

Add-Type -AssemblyName System.Windows.Forms

# Exibe a MessageBox
$resposta = [System.Windows.Forms.MessageBox]::Show( `
'Quer reiniciar o computador?', 'Exemplo de MessageBox', 'YesNo', 'Question')


Nesse exemplo, chamamos Show(texto,título,botões,ícone).

Podemos capturar em uma variável qual o botão foi pressionado e, assim, realizar determinada ação com base no valor dessa variável:

# Verifica o botão clicado
# Realiza ação, baseada no botão clicado
if ($resposta -eq 'Yes')
{
  Restart-Computer -WhatIf
}
else
{
  Write-Warning 'Não vamos reinciar o computador.'
}


Ao executarmos o script o resultado é o seguinte: