Use web services in MDT

In this article, you'll learn how to create a simple web service that generates computer names and then configure MDT to use that service during your Windows 10 deployment. Web services provide a powerful way to assign settings during a deployment. Web services are web applications that run code on the server side, and MDT has built-in functions to call these web services. Using a web service in MDT is straightforward, but it does require that you've enabled the Web Server (IIS) role on the server. Developing web services involves some coding, but for most web services used with MDT, you can use the free Microsoft Visual Studio Express 2013 for Web.

Create a sample web service

In these steps, we assume you have installed Microsoft Visual Studio Express 2013 for Web on PC0001 (the Windows 10 client) and downloaded the MDT Sample Web Service from the Microsoft Download Center and extracted it to C:\Projects.

  1. On PC0001, using Visual Studio Express 2013 for Web, open the C:\Projects\MDTSample\ MDTSample.sln solution file.

  2. On the ribbon bar, verify that Release is selected.

  3. In the Debug menu, select the Build MDTSample action.

  4. On MDT01, create a folder structure for E:\MDTSample\bin.

  5. From PC0001, copy the C:\Projects\MDTSample\obj\Release\MDTSample.dll file to the E:\MDTSample\bin folder on MDT01.

  6. From PC0001, copy the following files from C:\Projects\MDTSample file to the E:\MDTSample folder on MDT01:

    • Web.config
    • mdtsample.asmx

    figure 15.

    Figure 15. The sample project in Microsoft Visual Studio Express 2013 for Web.

Create an application pool for the web service

This section assumes that you've enabled the Web Server (IIS) role on MDT01.

  1. On MDT01, using Server Manager, install the IIS Management Console role (available under Web Server (IIS) / Management Tools).

  2. Using Internet Information Services (IIS) Manager, expand the MDT01 (CONTOSO\Administrator) node. If prompted with the Do you want to get started with Microsoft Web Platform? question, select the Do not show this message check box and then select No.

  3. Right-click Application Pools, select Add Application Pool, and configure the new application pool with the following settings:

    • Name: MDTSample
    • .NET Framework version: .NET Framework 4.0.30319
    • Manage pipeline mode: Integrated
    • Select the Start application pool immediately check box.
    • Select OK.

    figure 16.

    Figure 16. The new MDTSample application.

Install the web service

  1. On MDT01, using Internet Information Services (IIS) Manager, expand Sites, right-click Default Web Site, and select Add Application. Use the following settings for the application:

    • Alias: MDTSample
    • Application pool: MDTSample
    • Physical Path: E:\MDTSample

    figure 17.

    Figure 17. Adding the MDTSample web application.

  2. In the Default Web Site node, select the MDTSample web application, and in the right pane, double-click Authentication. Use the following settings for the Authentication dialog box:

    • Anonymous Authentication: Enabled
    • ASP.NET Impersonation: Disabled

    figure 18.

    Figure 18. Configuring Authentication for the MDTSample web service.

Test the web service in Internet Explorer

  1. On PC0001, using Internet Explorer, navigate to: `http://MDT01/MDTSample/mdtsample.asmx'.

  2. Select the GetComputerName link.

    figure 19.

    Figure 19. The MDT Sample web service.

  3. On the GetComputerName page, type in the following settings, and select Invoke:

    • Model: Hewlett-Packard
    • SerialNumber: 123456789

    figure 20.

    Figure 20. The result from the MDT Sample web service.

Test the web service in the MDT simulation environment

After verifying the web service using Internet Explorer, you're ready to do the same test in the MDT simulation environment.

  1. On PC0001, edit the CustomSettings.ini file in the C:\MDT folder to look like the following:

    [Settings]
    Priority=Default, GetComputerName
    [Default]
    OSInstall=YES
    [GetComputerName]
    WebService=http://mdt01/MDTSample/mdtsample.asmx/GetComputerName
    Parameters=Model,SerialNumber
    OSDComputerName=string
    

    figure 21.

    Figure 21. The updated CustomSettings.ini file.

  2. Save the CustomSettings.ini file.

  3. Using an elevated Windows PowerShell prompt (run as Administrator), run the following commands. Press Enter after each command:

    Set-Location C:\MDT
    .\Gather.ps1
    
  4. Review the ZTIGather.log in the C:\MININT\SMSOSD\OSDLOGS folder.

    figure 22.

    Figure 22. The OSDCOMPUTERNAME value obtained from the web service.