Quick tip: Configure primary device via Software Center

This week a relatively short blog post about a recently introduced feature in Configuration Manager, version 1902. That feature is the option for the user to select a device as a primary device, by using Software Center. Previously the Application Catalog was still required to provide users with that specific option. That was also practically the only reason to still use the Application Catalog. From that perspective, this also provides a clear path for further simplifying the Configuration Manager hierarchy. In this post I’ll show how to enable the option for the user to configure a primary device via Software Center, followed by the end-user experience.

Configuration

Now let’s have a look at the configuration that enables the option for the user to configure a device as a primary device, by using Software Center. That configuration can be achieved by using Client Settings. The 3 steps below show how to enable this option for the users.

1 Open the Configuration Manager administration console and navigate to Administration > Overview > Client Settings;
2 Now either open/create a new Custom Client User Settings and select the Software Center section, or open open the Default Client Settings and select the User Device Affinity section;
3

SCPU-UserSettingsIn the User Device Affinity section, select Yes with Allow user to define their primary devices and click OK;

Note: When using the Default Client Settings this setting is available in the separate section of User Settings. When using Custom Client User Settings this setting is the only available setting. Also, when using Custom Client User Settings, make sure to deploy the Client Settings to a user collection.

Note: Theoretically, when Automatically configure user device affinity from usage data is set to No, the administrator must still approve the affinity request. However, my experience is that the primary user configuration is immediately processed.

End-user experience

Let’s end this post by having a quick look at the end-user experience. When the user now opens Software Center and navigates to the Options section, the user will find a new checkbox named I regularly use this computer to do my work. When that checkbox is selected, the user will be marked as the primary user of that specific device.

SCPU-UserExperience

More information

For more information about lettings users create their own device affinity, refer to this article about User device affinity (section Let users create their own device affinities).

4 thoughts on “Quick tip: Configure primary device via Software Center”

  1. Hi Peter,
    I’ve often find your blog in my searches for help, i enjoy and appriciate the work – thank you.

    I was wondering if you know of a sdk funktion or similar that would allow me to create a simple interface for our users to create a user/device relationship – the thinking is that when a device is logged on for the first time and no user/device affinities are found, i want to pop up a dialog and ask the user if they want to create one.

    i hope you can help guide me 🙂

    and thanks again for the great blog

  2. Hi Peter,
    I am trying to do this from a standard user context, but as it happens i stumbled upon a reference to http://siteserver/CMUserService_WindowsAuth/applicationviewservice.asmx while inspecting the software center with procmon.

    Using this sccm webservice, i was able to produce this powershell code(below), which let me do what i want to achieve, i just need to get back to this to finish the small tool.

    Thanks for taking the time to answer me 🙂

    /martin

    ———————————-
    $DeviceIdObj = ([wmiclass]’root/ccm/clientSDK:CCM_SoftwareCatalogUtilities’).GetDeviceID()
    $DeviceId = $deviceidobj.ClientId+”,”+$deviceidobj.SignedClientId

    $Url = “http://siteserver/CMUserService_WindowsAuth/applicationviewservice.asmx”
    $Service = New-WebServiceProxy $Url -UseDefaultCredential

    Write-Host “Adding Primary User relationship to this machine”
    $Service.AddPrimaryMachine($DeviceId,””)

    Write-Host “Am i Primary user on this machine”
    $Service.IsPrimaryMachine($DeviceId,””,[ref]$true,[ref]$true)

    Write-Host “Removing Primary User relationship from this machine”
    $Service.RemovePrimaryMachine($DeviceId,””)

    Write-Host “Am i Primary user on this machine”
    $Service.IsPrimaryMachine($DeviceId,””,[ref]$true,[ref]$true)
    ———————————-

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.