Enhanced Application Deployment: Part 3

Before the weekend I want to update you all with the progress over the past couple of days with the application deployment project I have been working on. Rather than clutter the other post I want to touch on some of the configuration options available in the web service to try and make it applicable anywhere.

As the web service is built using common methods available to us in Visual Studio, the configuration is pretty simple. Anyone interested in or has used Visual Studio and developed .NET applications will know about the XML based configuration file. This works in the same way.

Configuration Settings

We have a number of variables, it might seem like quite a lot for the type and size of application but I feel they are needed so anyone can run it. I will try and group them as much as possible in the next few sections.

Active Directory

For Active Directory we currently have five configuration variables which are as follows:

  • Domain – Pretty self explanatory I hope, this would be either contoso.corp or contoso.com for example, this variable is not the NetBIOS name of your domain.
  • FriendlyDomain – This one is the NetBIOS name of your domain, the one before the slash, so for example CONTOSO\Username, you would use CONTOSO here (with no slashes).
  • GroupPrefix – This is a list of strings essentially to tell the web service what to leave when filtering the list, using the example from previous posts, here I would use DLSG-AppUser and DLSG-AppGroup. If the group name contains anything listed in this variable it will be added to the list of applications to install.
  • AppIdentifier – As ConfigMgr has applications and packages this helps separate the lists for the correct table in MDT. Again using the previous post, here I have App and Pkg, so that if the group name contains App it adds it to the application list and if it contains Pkg then the package list.

Configuration Manager

  • ConfigMgrSqlServer – This is the database server of the SQL server where Configuration Manager is held, all of these variables help validate the application or package actually exists.
  • ConfigMgrSqlInstance – If the database is on a named instance, then this is the place for that.
  • ConfigMgrSqlDatabase – This is the name of the SQL database, using the default this would be CM_<SiteCode>, for example CM_C01.

Microsoft Deployment Toolkit

  • MdtSqlServer – This is the SQL server where the MDT database is held.
  • MdtSqlInstance – This is the instance of the MDT database, incase it’s on a named instance.
  • MdtSqlDatabase – This is the database name of the MDT database, which you specify when you set it up in the Deployment Workbench.


So this is the list of configuration parameters on the web service, this all means that when we call the web service we only need to pass the following information:

  • Computer name
  • MAC address
  • Username

Stay tuned for some more posts next week about some more details and screenshots of logs of this working.


Tags: , , , ,

About Martyn

Martyn is one of the Senior Cloud Architects and DevOps Team Leader at one of the worlds leading Cloud Transformation Specialists Inframon. Martyn is responsible for the architecture of some of the largest Azure deployments in EMEA and is a advisor to a many businesses on their strategies. Martyn is a regular speaker at Microsoft events and community events on Azure and DevOps, giving his insight to a growing number of audiences.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: