MDT 2012 New Feature: Monitoring

I was going to do a blog posting talking about how to troubleshoot issues with the new monitoring feature available in MDT 2012 for Lite Touch deployments, but then I realized I’ve not yet done an initial post talking about the feature (although I did mention it in a previous blog posting talking about DaRT integration).  So I guess I need to start with more of an overview.

Over the years, there have been requests for a way to see what deployments are presently in progress.  Way back when, we had a MOM management pack that tried to do this, but there were numerous challenges with that so we ended up removing it – we needed something much simpler.  So with MDT 2012, we implemented something simpler to monitor Lite Touch deployments.  To enable this, just check one box in the deployment share properties:

image

When you do this, two things happen:

  1. A new service, the “Microsoft Deployment Toolkit Monitor Service” (short name MDT_Monitor), is installed on the computer.  This service receives events from the computers being monitored, tracking each computer and how far it is in the deployment process.  It also provides this tracking data to Deployment Workbench for you, the administrator, to see.
  2. The CustomSettings.ini file is modified to add a new entry specifying the URL (a combination of the host name and port specified in the deployment share settings) to be used for monitoring.  This is how clients know where to send information.  The MDT scripts (through their use of ZTIUtility.vbs) will automatically send events to this URL.

That’s all there is to it.  Once you do that, you should be able to track all subsequent deployments via the “Monitoring” node in Deployment Workbench:

image

If you look at the properties of any of the computers being monitored, you can see the details:

image

You’ll notice that the display automatically updates every 10 seconds, so you can watch the computer progress.  Also, there are three possible buttons (two of which are shown below):

  • Remote Desktop.  This button runs the Remote Desktop Client (MSTSC.EXE), specifying the host name to connect to on the command line.  (This will only work if the computer is presently in a full OS and remote desktop is enabled and accessible through the firewall.  It won’t work if the computer is in Windows PE.)
  • VM Connection.  This button will only show up if you are using a Hyper-V VM.  If you click it, it will run the Hyper-V connection tool (VMConnect.exe) to connect to the host and VM name of the machine.  (We gather that information from the Hyper-V integration components from ZTIGather.wsf and pass those values along to the monitor service.  Because the integration components don’t run in Windows PE, we can only get this information when in a full OS, so this button will not be enabled when starting a new computer deployment from Windows PE.  Also, this requires that the Hyper-V host be accessible from the computer running Deployment Workbench.)
  • DaRT Remote Control.  This button will only show up if DaRT has been integrated into the MDT Lite Touch boot image.  It will run the DaRT Remote Control Viewer, passing along the computer’s IP address, DaRT ticket number, and listening port number, using those values to automatically initiate a remote control session.  (This will only work when the computer is in Windows PE, because the DaRT remote control agent only runs in Windows PE.)  See https://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx for more information about the DaRT integration.

A few other details:

  • The computers will be automatically removed after three days, to keep the database from getting too big.
  • If the monitoring service doesn’t hear from a computer for more than four hours, it considers the machine “unresponsive” – so if you see that status in the Workbench list, that’s why.
  • Every time a deployment task sequence starts, completes, or fails, an event log message will be written by the service.  So if you want to trigger some activity based on these events, you can easily do so.
  • You might think that IIS would be required for the MDT_Monitor service, but it’s not.  It’s leveraging features of the .NET Framework to run a “mini web server” as part of the service itself.
  • You might also think that a SQL database would be required to store the details.  Well, there is one, but you don’t need to install SQL Server to use it.  MDT uses a SQL Compact database; all the files needed are installed as part of MDT (and only used if monitoring is enabled).

That’s the quick overview.