Click HERE to see how Saviynt Intelligence is transforming the industry. |
09/12/2024 06:39 AM - edited 09/12/2024 06:40 AM
Hi All,
1. I have a requirement to append [External] to the displayname of the AD account if the user is Contractor else send the name as it is.
eg: if user.employeetype==contractor then ${user.disaplayname}+ '[External]'
else ${user.displayname}
Can you please provide the Account update json for this.
2. Another issue is with Manager account of the user. If manager AD account is marked as "suspended from import" then also it is going into the else part.
"manager":"${if ( managerAccount == null || managerAccount?.comments == null || managerAccount?.comments == '' || managerAccount?.name.contains('Deleted') ) '' else {managerAccount?.comments}}"
Can you please suggest what should be done in this case?
3. If user is already present in the employee OU then account update fails. If use is not present in the same ou then moveusertoou works fine. How can i make sure MoverUserToOU only gets triggered if the user is in wrong OU i.e EmployeeType is contractor but account is in Employee OU.
,"moveUsertoOU": "${if(user.employeeType.equals('Contractor') && (user.customproperty21 !='Terminated')) {'OU=Test - Contractors,OU=xxx,DC=yyy,DC=zzz'} else if (user.employeeType.equals('Permanent') &&(user.customproperty21 != 'Terminated')) {'OU=Test - Active Employees,OU=xxx,DC=yyy,DC=zzz'} else if(user.customproperty21.equals('Terminated')) {'OU=Test - Terminated users,OU=xxx,DC=yyy,DC=zzz'}}"
Regards,
Abhay Yadav
09/12/2024 07:30 AM
@Abhay_Yadav
Displayname:
${if(user.employeetype.equals('contractor')){ user.displayname+'[External]'}else{user.displayname}}"
Manager:
"manager":"${managerAccount==null?'':managerAccount.comments}"
or
"${if(managerAccount==null){''}else {managerAccount.comments}"
MoveUser OU:
"${if(user.employeeType.equals('Contractor') && !user.customproperty21.equals('Terminated'))
'OU=Test - Contractors,OU=xxx,DC=yyy,DC=zzz'
else if (user.employeeType.equals('Permanent') && !user.customproperty21.equals('Terminated'))
'OU=Test - Active Employees,OU=xxx,DC=yyy,DC=zzz'
else if (user.customproperty21.equals('Terminated'))
'OU=Test - Terminated users,OU=xxx,DC=yyy,DC=zzz'}"
or
"${if(user.employeeType == 'Contractor' && user.customproperty21 != 'Terminated')
{'OU=Test - Contractors,OU=xxx,DC=yyy,DC=zzz'}
else if (user.employeeType == 'Permanent' && user.customproperty21 != 'Terminated')
{'OU=Test - Active Employees,OU=xxx,DC=yyy,DC=zzz'}
else if (user.customproperty21 == 'Terminated')
{'OU=Test - Terminated users,OU=xxx,DC=yyy,DC=zzz'}
else
{''}}" // This passes an OU here.
09/12/2024 07:50 AM
"displayname": "${if (user.employeeType.equals('Contractor')) {user.displayName + ' [External]'} else {user.displayName}}"
"manager": "${if (managerAccount == null || managerAccount?.comments == null || managerAccount?.comments == '' || managerAccount?.name.contains('Deleted') || managerAccount?.status == 'Suspended From Import Service') '' else {managerAccount?.comments}}"
"moveUsertoOU": "${if (user.employeeType.equals('Contractor') && user.customproperty21 != 'Terminated' && !user.currentOU.contains('Contractors')) {'OU=Test - Contractors,OU=xxx,DC=yyy,DC=zzz'} else if (user.employeeType.equals('Permanent') && user.customproperty21 != 'Terminated' && !user.currentOU.contains('Active Employees')) {'OU=Test - Active Employees,OU=xxx,DC=yyy,DC=zzz'} else if (user.customproperty21.equals('Terminated') && !user.currentOU.contains('Terminated users')) {'OU=Test - Terminated users,OU=xxx,DC=yyy,DC=zzz'}}"
09/13/2024 01:24 AM - edited 09/13/2024 02:33 AM
Hi @rushikeshvartak ,
I tried passing the display name but it is passing it without resolving the value .
Account update json:
{"department":"${user.departmentname}","streetAddress":"${user.street}","title":"${user.title}","sn":"${user.lastname}","displayName":"${if(user.employeeType.equals('Contractor')) {user.displayName + '[External]'} else {user.displayName}}","userAccountControl":"544","employeeID":"${user.username}"}
09/13/2024 06:28 AM
It should work refer https://forums.saviynt.com/t5/identity-governance/required-if-else-condition-syntax-in-ad-connection...
09/13/2024 07:07 AM
@Abhay_Yadav
${if(user.employeeType.equals('Contractor')){user.displayName + 'External'} else {user.displayName}}
or
${user.employeeType == 'Contractor' ? user.displayName + '[External]' : user.displayName}
or
${(user.employeeType.equals('Contractor')) ? user.displayName + '[External]' : user.displayName}
https://forums.saviynt.com/t5/saviynt-knowledge-base/common-questions-around-using-groovy-functions-...