How to use User Device Affinity

How to / Nasıl yaparım:


Prerequisites for User Device Affinity

The following prerequisites are required for this module:

·         DHCP is configured and running

·         WDS is installed

·         Configuration Manager 2012 is configured for PXE

·         Windows 7 installation image is available

How to configure Distribution Point role for User Device Affinity

Use the following procedure to configure the Distribution Point role to support User Device Affinity (UDA).  By default the UDA setting will be set to 'Do not allow UDA'.

The following options can be chosen on the PXE tab of the Distribution Point:

·         Allow UDA with Auto-Approval- the UDA will be processed during provisioning and automatically approved

·         Allow UDA pending Administrator approval- the UDA will be processed during provisioning and await administrator approval

·         Do not allow UDA:  does not allow UDA to be set during the task sequence

In this exercise we will use the Allow UDA with auto-approval value.


To configure the User Device Affinity on the Distribution point

1.       In the Configuration Manager console, click Administration.

2.       In the Administration workspace, expand Site Operations and then click Servers and Site System Roles.

3.       In the Servers and Site System Roles node, select the Distribution Point on which you want to enable UDA.

4.       In the Site System Roles node, select Distribution Point, and then right-click and select Role Properties.

5.       In the Distribution Point properties screen, select the PXE tab.

6.       On the PXE tab, change the value of the Primary User assignment to Allow UDA with auto-approval

7.       Click on OK to apply the changes.


To approve the User Device Affinity request when the UDA setting is set to 'Allow UDA pending Administrator Approval

1.       In the Configuration Manager console, click Assets and Compliance.

2.       In the Assets and Compliance node click on Device Collections.

3.       In the Device Collections node right-click the All Systems collection and click Manage Affinity Requests

4.       Click on the User Name and machine combination and select Approve or Reject.

5.       Click Close when ready.


Create a simple pre-execution task to query the user for the Primary User of the current machine

In some scenarios it can be useful that the user can reinstall his machine and specify the Primary User of the machine so applications can be pre-deployed to the machine


To modify the boot image to include the pre-execution query 

1.       In the Configuration Manager console, click Software Library.

2.       In the Software Library workspace, expand Operating Systems  and then click Boot Images.

3.       In the Boot Images node, select the correct Boot Image on which you want to enable the pre-execution hook.

4.       On the Boot Image Properties, select the Customization page.

5.       Check the box for Enable prestart command hook and type in the following commandline:

a.       Wscript.exe UDA.vbs

Content of UDA.vbs:
'Start of Script
UDAUser = Inputbox("Specify your username in DOMAIN\USERNAME FORMAT")

SMSTSAssignUserMode = Auto

set env = CreateObject("Microsoft.SMS.TSEnvironment")

env("SMSTSUdaUsers") = UDAUser

env("SMSTSAssignUsersMode") = SMSTSAssignUserMode

'End of Script


6.       Check the box for Include files for the prestart command hook and browse to the following location:

a.       \\server\packagesource\pre-hook

7.       Click on OK to apply the changes

8.       Click on Yes to update the package to all Distribution Points.

9.       In the Manage Distribution Point Wizard click next to start updating the boot image.

10.   After the image has been update, click on Close to close the wizard.




İsmail Şen


Comments (1)

  1. Dan Olson says:

    How would I hard code the Domain name into the script so we would only have to enter the username?

Skip to main content