I am currently undergoing a career change which will take me out of the ConfigMgr realm for some time. But before I do that I wanted to bring the public version of CMFrontend up to what I have done internally so that everyone can hopefully take use of whats is new in the tool as there are some pretty big additions.
- New users tab that allows you view and get quick access to all the computers that a username uses.
- New OSD API has been included to help facilitate the creation of Pre-Execution applications / scripts. Please see the API documentation for more details.
- New C# launcher application & protocol that is browser agnostic. (Deployment required, see instructions in readme)
- Remote Control has been added to the Tools list.
- CMFrontend will now cleanup old and unused collections that are no longer needed.
- Page load is now much faster as the task log is now limited to the last 25 entries.
- Small style tweaks and bug fixes.
For more information on these new items look further down on this post.
- Full install & upgrade: https://utexas.box.com/cmfrontend
To upgrade an existing isntallation run update.ps1 in an elevated powershell session on the server hosting CMFrontend.
The new features
A common problem we have had in the past: Student worker needs to deploy an application to a user’s machine but all they know is the username. This generally resulted in a lengthy process of looking up the records in a CMDB, giving up and asking higher level IT staff, or asking the user themselves for the asset information. All of these scenarios add unneeded time to a resolution.
To solve this, we added a tab where our workers can search for a username and then be given a list of computers they can click on and then perform any action that is already available from with CMFrontend.
This is probably the most requested feature I have received over the past few years. I finally bit the bullet so I could better incorporate the authorization of who could perform OS Deployments with CMFrontend and finally remove the ADSI hack from our boot images. What is included is pretty bare bones but it should be enough for most scenarios. I have included the classes used in the API to help speed up development for anyone wanting to leverage this feature. Here is an example of what we made internally that leverages this API.
The tools page has been broken for years now due to java’s security hardening. With it being broken and our ever increasing desire to destroy all things java I finally decided to write write the launcher in C# using a custom protocol.
While this method does require deployment to all systems using CMFrontend it has worked extremely well. I have included a ConfigMgr export for convenience as well as the source code for transparency.
Over the past 4 years of using this solution internally we have deployed 8000+ applications from CMFrontend which has resulted in hundreds of unused collections and deployments, most of which don’t do anything as the application that was being deployed is long gone. With this update all of that will be cleaned up even if you have been using CMFrontend from the beginning.