Simple Deployment Monitoring
When working on a client site, the laboratory where I have the MDT server(s) set up along with the test machines is not always in the same place as where I am. This could be for a variety of reasons, but usually it is that the lab area is either too cold to stay in (aggressive AC being used!) or just too cramped to spend a lot of time in. This can be a bit of a pain where running successive MDT deployment tests as it requires lots of back-and-forth between my location and the lab area; I can usually use RDP to control the MDT server, but not for the computers being deployed because they are usually either in a WinPE phase, or don't yet have RDP enabled on them.
Because necessity is the mother of invention, I wrote a simple HTA program that I use to keep an eye on the progress of computers being deployed. This solves the problem of going to the laboratory to check on a computer, only to find that it is still being deployed! Basically, the HTA works by keeping an eye on an "eventshare" configured from within MDT and reports the progress back to the HTA window. Whilst this could never be a replacement for a proper monitoring system such as Systems Centre Operations Manager (SCOM) due to scalability and features, it works great for me when working in laboratory conditions; as such, I thought I'd share it here!
The HTA makes use of the little used EventShare property of MDT which allows you to specify a UNC path for the storage of task sequence events. This property is typically used when implementing the Microsoft Deployment Toolkit Management Pack for SCOM 2007, but you can use it for other purposes when SCOM isn't available :-) - see the MDT documentation if you want to find out more about this property.
To start using the HTA you need to download the ZIP file attached to this post, and then realise the following steps:
- Create a folder and share it. I normally create this folder directly on the MDT server, but it can be anywhere.
- Add this line to your CustomSettings.ini file: EventShare=\\MDTServer\Events$ (change the path for the one you created in the previous step).
- Extract all the files from the ZIP file to your computer (you must have network connectivity to the MDT server for this to work)
- Run the HTA program, and either use the "Browse" button to select the share you created in step 1, or type the UNC path to it in the textbox. Note that you can use the IP address of the server if name resolution is not an option.
- Upon pressing the "Refresh display" button, the HTA will read the contents of the share and display the progress of the computers being deployed. Optionally, you can set it to auto refresh itself every two minutes.
Being non-production code, you should be aware of a few of things when using:
- Computers will first appear in the window with their "WinPE name", typically starting with "MININT". Later on, during the deployment, they will be renamed to the correct hostname. There is no logic in the code to handle this.
- If you do not periodically clear out the contents of the share, you'll continue to see the progress of computers that you deployed earlier, even though they are now longer being deployed. The code simply reads the contents of the share, processes it, and displays the result.
If the above things are an issue for you, then you should look at using SCOM to monitor deployments rather than this simple HTA. The HTA will display the name of the computer being displayed, the type of deployment, and what the current step is in the task sequence. I have been using it for a while without any problems, but if you do find any bugs or have suggestions on how to improve it, please post them on this page as comments! Finally, as with all scripts/code posted on this blog, this is totally unsupported by Microsoft.
This post was contributed by Daniel Oxley, a Consultant with Microsoft Services Spain