Skip to main content

Posts

Showing posts with the label PS1toEXE

PowerShell + WPF + GUI : Hide (Use) background PowerShell Console

Few years back, I had started wrapping my PowerShell scripts with some sort of GUI built using Windows Forms (used Primal Forms CE mostly). Things went fine for a while but then I stumbled across awesome posts by MVP Boe Prox on using WPF with PowerShell to do the same. (check Resources section) I had been procrastinating the idea of playing with WPF for a while but then had a great discussion with MVP Chendrayan (Chen) and got inspired to do it. One can use Visual Studio (Express Edition - which is free) to design the UI and then consume the XAML in PowerShell script...Isn't that Cool ! See resources section for links on that. Often when we write the Code to present a nice UI to the end user there is a PowerShell console running in the background. In this post I would like to share a trick to hide/show the background console window. This trick works with both Winforms and XAML. Note - PowerGUI & Visual Studio Express are absolutely FREE ! For the demo o...

PowerGUI wraps PS1 to EXE - How does it work ?

I have lot of PowerShell Script which I want wrapped as an executable using PowerGUI (as PowerGUI Pro is free now). PowerGUI lets you do that easy..... After this it gives you option to name the exe , .NET version to target, Hide/Show console window in the back-end, Password protect your source etc. I thought maybe putting password will protect my source and was curious how does it really works.  But it works a bit differently then I thought. When you share this with your colleagues then in order for them to use this exe you need to share the password above. In this case I have a simple script which creates a simple UI and asks for a Computer name to reboot. When I give a wrong machine name it throws me an error and if you see the highlighted entry it points to a PS1 . If I go to the path in the error message I can see the source lying around: Now I haven't put any hard-coded credentials on it (BTW that's a bad practice ). Though ...