This is just going to be a quick tip but I have not posted in awhile and thought I would share this little quick hit. PowerShell has a SUPER useful command for rendering variables in PowerShell into HTML called ConvertTo-HTML and of course HTML in general is really easy to spice up a bit as far as the looks go.

How can we show that information to an end user in a pop-up?

Since PowerShell has full .NET access we can pass an HTML string into an embedded WPF WebBrowser?

Usage of the function is:


    $HTML = Get-Process | select name,id | ConvertTo-HTML | Out-String


And this is what we would see:

Cool! Now we can start to build some interesting result pages for our scripts or interesting popups to show. Check out a couple of my more simple samples using this same technique:


function Show-HTML ([string]$HTML)

    [xml]$XAML = @'
        Title="PowerShell HTML GUI" WindowStartupLocation="CenterScreen">
            <WebBrowser Name="WebBrowser"></WebBrowser>

    #Read XAML
    $reader=(New-Object System.Xml.XmlNodeReader $xaml) 
    $Form=[Windows.Markup.XamlReader]::Load( $reader )
    # Store Form Objects In PowerShell
    $WebBrowser = $Form.FindName("WebBrowser")





Micah Rairdon

Micah Rairdon
Christian, husband, father, all around haver of fun related to IT. Appreciate the blog and want to donate? I will receive a small commission if you shop Amazon using this link. Thank you!

ASCII GUI in your PowerShell Console

Making a GUI in the PowerShell Console using PhonicUK's CLRCLI Continue reading