#Not everyone likes command line–based arguments. Some people want to be provided with a message box pop-up for #YES or NO options or information/error messages. In this article, we will discuss how to show pop-up messages using #PowerShell to serve such purposes. We will focus our discussion on how to present YES/NO, YES/NO/CANCEL, and OK/CANCEL kinds of pop-up messages. # #Pop-up messages can be generated in PowerShell using Windows Forms. Although I don’t see any problems with them, #they look a bit old and legacy-like. The Windows Presentation Framework provides similar functionality with rich-looking UIs. #In this article, we will be using some of the classes from the Windows Presentation Framework assembly to create pop-up messages. # #First, you need to import the Presentation Framework–related libraries into the current PowerShell session. #You can do this using the following Add-Type statement. Without doing this, we cannot call the MessageBox-related classes that help in pop-up generation. Add-Type -AssemblyName PresentationCore,PresentationFramework #This helps us access the classes in the Windows Presentation Framework. Now we need to decide what kind of message box we want to show #(for example, a simple message box with an OK button, or a message box with “Yes” and “No” prompts). #For demonstration purposes, we’ll assume you want to show a pop-up message box with YES and NO buttons. So we’ll put that in a variable using the following command: $ButtonType = [System.Windows.MessageBoxButton]::YesNo #Now decide on the title for the pop-up message and the message you want to display: $MessageboxTitle = “Test pop-up message title” $Messageboxbody = “Are you sure you want to stop this script execution?” #Also decide what kind of message you are displaying. Is it an error, a warning, or an informational message? Let’s assume it is a warning message: $MessageIcon = [System.Windows.MessageBoxImage]::Warning #Now, let’s generate a pop-up message box with the data above. This uses the Show method of the System.Windows.MessageBox class. [System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon)