07/11/2023 08:20 AM
we are integrating AD non-personal account life cycle management into Saviynt and we face some issues in the update account process:
1) the owner update didn't overwrite what is existent in AD. when the user selects a new owner and submits the request, both owners visible in Saviynt and AD contain the first owner (not the new one only).
2) for a generic account update account, the owner list is empty.
Let me know if you need further details.
07/11/2023 08:44 AM
Hi @Dalalsaleh888 ,
1. Can you provide update Account json you are using for managing non-personal account.
2. Can you give more details about this.
07/13/2023 06:34 AM
we are facing issue with generic account.
CREATEACCOUNTJSON:
{
"sAMAccountname": "${if (accttype.equals('TestAccount'))
{ if (task.accountName.startsWith('tst-'))
{task.accountName}
else
{'tst-'+task.accountName}
}
else {
if(accttype.equals('GenericAccount'))
{ if (task.accountName.startsWith('#'))
{task.accountName}
else
{'#'+task.accountName}
}
else if(accttype.equals('ServiceAccount'))
{ if (task.accountName.startsWith('svc-'))
{task.accountName}
else
{'svc-'+task.accountName}
}
else
{task.accountName}
}}",
"displayName": "${dispname}",
"LogonWorkstations": "${if (accttype.equals('TestAccount') || accttype.equals('GenericAccount')){complist}}",
"userAccountControl":"${if (accttype.equals('ServiceAccount')){66048} else {512}}",
"Pager": "${if (accttype.equals('ServiceAccount')){appci}}",
"Department": "${if (accttype.equals('ServiceAccount')){suppdl}}",
"Description" : "${description}",
"Title":"${ServiceAccountOwnerMap.get('USEROWNERS').get('ALL').collect{it}[0].customproperty50.toString()}" ,
"manager":"${ServiceAccountOwnerMap.get('USEROWNERS').get('ALL').collect{it}[0].customproperty50.toString()}" ,
"userprincipalname": "${if (accttype.equals('TestAccount') && !(task.accountName.startsWith('tst-')))
{'tst-'+task.accountName+'@dev.bhicorp.com'}
else {
if(accttype.equals('GenericAccount') && !(task.accountName.startsWith('#')))
{'#'+task.accountName+'@dev.bhicorp.com'}
else if(accttype.equals('ServiceAccount') && !(task.accountName.startsWith('svc-')))
{'svc-'+task.accountName+'@dev.bhicorp.com'}
else
{task.accountName+'@dev.bhicorp.com'}
}}",
"objectclass":["top","person","organizationalPerson","user"]
}
UPDATEACCOUNTJSON:
{
"manager":"${ServiceAccountOwnerMap.get('USEROWNERS').get('ALL').collect{it}[0].customproperty50.toString()}"
}
07/13/2023 07:11 AM
Can you try below:
"manager" : "${if((ServiceAccountOwnerMap.get('USEROWNERS').get('1').collect{it.customproperty50.toString()}[0])!=null && (ServiceAccountOwnerMap.get('USEROWNERS').get('1').collect{it.customproperty50.toString()}[0])!=''){ServiceAccountOwnerMap.get('USEROWNERS').get('1').collect{it.customproperty50.toString()}[0]}}"
07/14/2023 05:10 AM
Hi @Dalalsaleh888 ,
Is above provided expression working fine or facing any issue?
07/17/2023 04:14 AM
Please ignore issue #1 .. we are just unable to see the owner list in the update process... what is the solution for this?
07/17/2023 04:15 AM
the manager mapping we have in update account json works fine with other types of non-personal account.
07/17/2023 09:42 PM
which part of if else is not working as expected ?
07/18/2023 06:19 AM
The type of account where the owner list is not visible during the update process is a "generic account that defines in if statement as start with #"
So, to answer your question it could be the mapping of the manager attribute.