Blog de Augusto Simoes (MVP)

Sharepoint, OCS, Windows Server ...

Augusto Simoes

Consultant Infrastructure & Trainer

Ma mission est de concevoir les architectures de messageries unifiés et collaboratives afin d'accompagner nos clients vers ces nouvelles technologies.

  • Microsoft Certified Trainer
  • Microsoft Certified Systems Engineer
  • Microsoft Certified Technology Specialist :SharePoint, WSS, OCS 2007, Vista, Windows 2008
  • Microsoft Certified Database Administrator SQL 2000, 2005


MVP Logo


MyTag

Mon Profile Chez Microsoft



 

 

RecentComments

Comment RSS

[PowerShell] Message Box

PowerShell permet d’accéder au classes offertes par .Net. Il est donc relativement facile de créer des ‘Windows Forms’ via un simple script. vous pouvez retrouver mes articles précédents sur ce lien ou encore celui-ci.

Pour plus d’information sur l’espace de nom ‘System.Windows.Forms’: Site MSDN

Voyons comment créer simplement un message box dans PowerShell. Dans l’ordre pour travailler avec les ‘Windows Forms’ dans PowerShell, il suffit de respecter les quelques étapes ci-dessous:

  • Charger l’Assembly .Net correspondante

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$MaMsgBox = [Windows.Forms.MessageBox] #Placé dans une variable

[void]: Permet de définir que le chargement se fera sans en silence (peut-être remplacé par un pipe |Out-Null

LoadWithPartialName: Attention elle est obsolète et est remplacé par Load() voir le site MSDN

  • Définir Le message, l’icone, les boutons et le titre

 
$Monbouton=[Windows.Forms.MessageBoxButtons]::OK

Voici les options possibles pour les boutons
Bouton MsgBox PowerShell


$Monicon=[windows.forms.MessageBoxIcon]::Information

Voici les Options possibles pour l’icone:
Icone MsgBox PowerShell

$MaMsgBox::show("Mon Message","Ma Message Box",$Monbouton,$Monicon)

Resultat MaMsgBox

  • Et maintenant, comment gérer la réponse sur une Message Box avec ‘Oui’ ‘Non’  ?

Petit exemple simple:

#Chargement des Assembly
[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")|Out-Null
#------------------------

#Définition de la Boite de dialogue
$MaMsgBox = [Windows.Forms.MessageBox]
$Monbouton=[Windows.Forms.MessageBoxButtons]::YesNo
$Monicon=[windows.forms.MessageBoxIcon]::Information
#--------------------------

#Affichage de la boite de dialogue
$click = $MaMsgBox::show("Mon Message","Ma Message Box",$Monbouton,$Monicon)
#--------------------------

#L'utilisateur à t'il cliqué sur OUI
if ($click -eq [Windows.Forms.DialogResult]::Yes)
{
#Le choix de l'utilisateur est OUI
#Affiche une autre boite de dialogue avec le résultat de son choix
$MaMsgBoxYes = [Windows.Forms.MessageBox]
$MonboutonYes=[Windows.Forms.MessageBoxButtons]::Ok
$MoniconYes=[windows.forms.MessageBoxIcon]::Information
$MaMsgBoxYes::show("Vous voulez dire $click","Click sur OUI",$MonboutonYes,$MoniconYes)
#----------------------------------
}
else
{
#Le choix de l'utilisateur n'est pas OUI
#Affiche une autre boite de dialogue avec le résultat de son choix
$MaMsgBoxNo = [Windows.Forms.MessageBox]
$MonboutonNo=[Windows.Forms.MessageBoxButtons]::Ok
$MoniconNo=[windows.forms.MessageBoxIcon]::Information
$MaMsgBoxNo::show("Vous voulez dire $click","Click sur Non",$MonboutonNo,$MoniconNo)
#----------------------------------
}

Volia le résultat en image:

YesNo

Yes   No
Posted: Feb 08 2009, 19:56 by collaboration | Comments (1) RSS comment feed |
  • Currently 4.25/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comments

Christopher said:

Je te montrerai un truc en Powershell et Windows 7 lundi...encore mieux que les MessagesBox :p

# March 05 2009, 21:01