SCCM Integration

Pranita2
Kilo Guru

Hi,

We have implemented SCCM Integration, and observed that "Assigned to" field is not getting updated by the import.

Can anybody help me to get "Assigned to" field get updated from SCCM import?

 

Many thanks

Pranita

14 REPLIES 14

If you go to SCCM <version> Computer Identity transform map script then you will find that its using source.u_username to populate the Assigned to.

If you check in SCCM <version> Computer Identity Data Source you will find this - v_GS_COMPUTER_SYSTEM.UserName0 as username.

From my knowledge of SCCM (from integrations done in past) SCCM scans the machines and get whatever is stored on it. That means if your company allows 2 accounts/entities to login (like coporate key, local machine IDs and email IDs) then whatever user used for login that will be pulled by SCCM and stored.
And again this is who logged in and not whom this machine is allocated.

Then from that value the user ID/name will be extracted and tried to check with the user table field (specified in the system property). If match is found then that is add to Assgined to field on the CI.

In case you have all the entities (like coporate key, local machine IDs) on your user table then you could either update the system property value or update the script in the transform map to check mutiple fields (in specific order).

 

Here is the transform map script acting in transform map-

function setAssignedTo() {
    var userName = source.u_username;
    if (JSUtil.nil(userName))
        return;

    var x = userName.indexOf("\\");
    if (x > -1)
        userName = userName.substring(x + 1);

    var nameField = gs.getProperty('glide.discovery.assigned_user_match_field', "user_name");
    target.assigned_to = GlideUser.getSysId(nameField, userName);
}

 

-Tanaji

Please mark reply as correct/helpful if applicable

Andrew Westerv4
Mega Guru

The value that comes in from SCCM is "domain\user" to which the user account is the sAMAccountName. Traditionally, the LDAP imports would use the sAMAccountName as your User table's user_name. The system property "glide.discovery.assigned_user_match_field" uses this mapping to determine the match. If you have used some other AD attribute, like email or UPN, for your user_name field, you will need to update the system property to the field that does store your sAMAccountName in the User table.

Hi Andrew,

 

Thank you for the response!!

 

Can you please tell me how can i check and update accordingly.

 

Thanks,

Pranita

Hi,

can you check your import set table where you get user name? You can also go to sys_properties table to search for that property which andrew mentioned.


Thanks,
Ashutosh

Hi Ashutosh,

Thanks for the response!!

 

I checked the import script which is as follows:

function setAssignedTo() {
    var userName = source.u_username;
    if (JSUtil.nil(userName))
        return;

    var x = userName.indexOf("\\");
    if (x > -1)
        userName = userName.substring(x + 1);

    var nameField = gs.getProperty('glide.discovery.assigned_user_match_field', "user_name");
    target.assigned_to = GlideUser.getSysId(nameField, userName);
}

 

and the above property glide.discovery.assigned_user_match_field value is set to the user_name(Attachment added)

 

Even then i am not able to get the Assigned to field populated, also just to verify i mapped the source field value to target filed value in import map which was not there by default.

 

But still there is no update on the field "Assigned to".

 

Thanks,

Pranita