As a PowerShell person I’m personally not a big fan of creating a GUI for PowerShell scripts. This is however something that is asked a lot when PowerShell scripts are created for by example provisioning new users.
I’ve seen many different approaches to this. Most worked around it either by using Read-Host or creating a GUI inside their function. In some cases these approaches also meant that the function could not handle pipeline input, multiple inputs, etc. So basically they automated one thing, but prevented further automation by implementing the GUI in a stupid way.
Personally I prefer to keep my functions without a GUI. If it is desired or required, the GUI code will be written outside of the function and will result in the calling of the function with the values specified in the GUI. This way the GUI part will not pollute the function and users have more choice and flexibility to achieve their goal. You could compare it to how you normally handle output. You output objects and let users handle the formatting instead of providing them with by example the output in Format-Table.
Now the approach is clear, the GUI still needs to be created. There are multiple ways to go about this. You could by example create the GUI by looking up what exactly you need to code to get the desired result or you could use (paid) 3rd party tools / services. You could by example use the free web-based service POSHGUI to visually create your form and then have it output your needed code. There are however also (paid) editors like Visual Studio or PowerShell Studio. Another very simple method in some cases is using Out-Gridview with -PassThru. For more info, see also my previous blog post Summary of 2nd Dutch PowerShell User Group – DuPSUG meeting with additional resources
In my case I created my initial GUI form with POSHGUI. Even though you can do many more advanced GUI forms, I soon realized that I was always creating the same type of GUI form that consisted of a couple of text boxes and a submit button. Creating these manually become an annoyance very quickly. That’s why I decided to create a function to dynamically create such a GUI based on my input.
The result is this:

The code itself can be found on my GitHub: https://github.com/bjornhouben/PowerShell/blob/master/General/GUI/New-SimpleGUIForm.ps1
I hope you like it and find it useful.
Like this:
Like Loading...
Tags: graphical user interface, gui, Microsoft, POSHGUI, Powershell, Windows Presentation Foundation, WPF
The last couple of months I’ve been playing around a lot with PowerShell and I’ve also been trying to make some nice GUI versions for my script using PowerShell Studio 2012 from Sapien Technologies Inc. While looking for more information how to best use PowerShell Studio 2012 I came across LazyWinAdmin.
LazyWinAdmin is a great tool created by Francois-Xavier C that will save you a lot of time. It provides you with most of the commonly used tools and commands in a very structured and easy to access way. In the picture below you can see what I mean.

For more info on the tool, take a look at the website and be sure to download and test it yourself.
If you want to take a look at other useful tools I’ve found in the past, take a look at my applications list.
Like this:
Like Loading...
Tags: application, Applications, automation, graphical user interface, gui, Powershell, PowerShell Studio 2012, Sapien, Sapien Technologies, Sapien Technologies Inc., Script, tool, tools
Future events
Before starting with my summary of 2nd DuPSUG meeting, I want to inform you about some future events first:
- Dutch PowerShell User Group Meetings
- To keep track of news, use the links to LinkedIn, Facebook, Twitter and the RSS feed on the DUPSUG website.
- In the future, the plan is to meet every June and November.
- The next meeting will probably be at November 7th at VX Company.
- The idea is that community members will also present their own experiences, use cases, scripts, tools, methods. If you want to do so, please contact the DUPSUG group.
- Remko Weijnen | Blog | Twitter | LinkedIn might be one of the people presenting at a future DUPSUG meeting.
- Jeff Wouters might be able to arrange one or more copies of the PowerShell Deep Dives book from Manning since he’s contributing to it. The book isn’t complete and released yet, but Manning has an Early Access Program which means that you will get access to the completed chapters now and will get the full version when it’s done. Until June 13 there’s even a promotion to get a 40%-50% discount and it also applies to other great PowerShell books.
- Inter Access Microsoft Summer Summit (Hilversum, July 2nd 2013 17:30-22:00 CET)
This event
Last Thursday I attended the second Dutch Powershell User Group meeting in Hilversum hosted at Inter Access and sponsored by Sapien Technologies Inc.
Just like I mentioned in the summary of the first meeting there were manu interesting sessions that provided me with more insight and inspired me for practical uses. It was also great to discuss current developments with other knowledgeable and passionate people. The main differences with the previous meeting was that:
- This meeting was completely in Dutch, while the previous one was completely in English. As such, the workshop descriptions were also in Dutch and you needed to bring your own laptop.
- The format of this meeting was more of a workshop, while the previous one was mainly presentations.
Thanks go out to all attendees, especially those presenting, organizing and sponsoring the event. Special thanks to Daniel Bot for helping me fix a (stupid mistake in a) script I was working on 🙂
Goodies and giveaways
Workshops / presentations
And now on with the really interesting stuff, the sessions/workshops. Below are the sessions with some info about the speakers and their sessions. I also added notes I took and other information I looked up afterwards. If you come across any errors or have comments, please leave a reply so I can fix it.
Read the rest of this entry »
Like this:
Like Loading...
Tags: $PSBoundParameters, -asjob, -passthru, Azure, background jobs, Cloud, Compliance Settings, DCM, Desired Configuration Management, Desired State Configuration, devops, DHCP, DHCP failover, DNS, DSC, DuPSUG, Dutch PowerShell User Group, error handling, Event, Exe, Filters, flickr, forms, Functions, graphical user interface, gui, GUI applications, high availability, Hilversum, HTA, HTML Application, Integrated Scripting Environment, Inter Access Microsoft Summer Summit, InterAccess, InterAccess Microsoft Summer Summit, Interface Video Training, IPv4, ISE, Jaap Brasser, Jeff Wouters, job, jobs, Manning, module, msi, nslookup, Out-Gridview, parallel, parallelization, passthrough, Ping, PowerGUI, Powershell, PowerShell 3, Powershell 3.0, PowerShell 4.0, PowerShell Deep Dives, PowerShell GUI, PowerShell GUI applications, PowerShell Runspace, PowerShell RunSpaces, Powershell v3, PowerShell Workflow, presentation, PS2Exe, Resolve-DNSName, Richard Siddaway, runspace, runspaces, SCCM, script block, script blocks, scriptblock, scriptblocks, ShowUI, splat, splatting, System Center Configruation Manager, Test-Connection, The MSI Wizard, VisualStudio, VX Company, Windows, Windows 2012, Windows 2012 Server, Windows 8.1, Windows Forms, Windows Presentation Foundation, Windows Server 2012, Windows Server 2012 R2, WinForms, workflow, workshop, WPF
I’ve been using Windows 8 for quite some time now (10 months or so), but at first I also had trouble getting used to the new GUI. When I talk to people about Windows 8, there seem to be a lot of people that are having these troubles as well.
For those people, please read this great article before deciding to move back to an older version of Windows:
http://www.hanselman.com/blog/Windows8ProductivityWhoMovedMyCheeseOhThereItIs.aspx
Like this:
Like Loading...
Tags: graphical user interface, gui, ICT, Interface, Metro, Metro Interface, Microsoft, Modern, Windows, Windows 8
For those people unwilling to read the entire post, here’s a direct link to my own list of operations and a description of how to perform them using specific input methods.
Context
In the past the Windows user interface has been changed. In hindsight I would classify these changes as evolutionary (Windows 95, 98, XP, Vista, Windows 7). I did however notice that a lot of people still had and many still have trouble working with it. Most people however are currently able to perform those things they want to be able to do. With Windows 8 however, a lot has changed and people need to re-learn how they can do what they want to do. I think this will be intimidating for many people and will probably also prevent people from upgrading for some time. This video should give new users an idea of what the new interface looks like. You can also check other links on this page. Also check this video to get an even better feeling of how to use the new user interface. If you are willing to spend some more time on getting used to Windows 8, you can also check the videos from Lynda.com Windows 8 Consumer Preview First Look. With this blog post I hope I can:
- Help people understand what has changed without going in too much detail.
- Provide insight in what options there are to fully leverage potential/productivity.
- Provide practical tips and tricks to help people enjoy using Windows 8.
Read the rest of this entry »
Like this:
Like Loading...
Tags: gestures, graphical user interface, gui, ICT, Metro UI, Metro Windows 8 UI, Microsoft, Modern UI, UI, User Interface, Windows, Windows 8, Windows RT