07/23/2023 11:12 PM
Greetings, I have encountered a problem while creating an account in AD. So, I created an if else block in the CREATEACCOUNTJSON parameter in the connector and when I tried to create an account in the target application, I got this error in the provisioning comments of the task:
Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed: SimpleTemplateScript6.groovy: 2: unexpected char: '\' @ line 2, column 1. \"cn\": \"${cn}\", ^ 1 error
The configuration for CREATEACCOUNTJSON is:
${if (${user.startdate} < sysdate()) {
"cn": "${cn}",
"displayname": "${user.displayname}",
"givenName": "${user.firstname}",
"name": "${user.displayname}",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "${task.accountName}",
"sn": "${user.lastname}",
"userAccountControl": "546"
}
else {
"cn": "${cn}",
"displayname": "${user.displayname}",
"givenName": "${user.firstname}",
"name": "${user.displayname}",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "${task.accountName}",
"sn": "${user.lastname}",
"userAccountControl": "544"
}
}
Can you pls help me in this?
Thanks.
07/23/2023 11:25 PM
Hi @avinash_16 ,
Can you try below one:
${if (user.startdate < sysdate()) {
"cn": "cn",
"displayname": "user.displayname",
"givenName": "user.firstname",
"name": "user.displayname",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "task.accountName",
"sn": "user.lastname",
"userAccountControl": "546"
}
else {
"cn": "cn",
"displayname": "user.displayname",
"givenName": "user.firstname",
"name": "user.displayname",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "task.accountName",
"sn": "user.lastname",
"userAccountControl": "544"
}
}
07/24/2023 12:07 AM
Thank you for the reply but still I'm getting the same error.
Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed: SimpleTemplateScript4.groovy: 3: unexpected char: '\' @ line 3, column 1. \"cn\": \"cn\", ^ 1
07/23/2023 11:33 PM
remove $ inside the if/else conditino and retry the provisioning. Once you specify the "$" once you dont need to add it all the time inside the script.
07/24/2023 12:07 AM
Thank you for the reply but still I'm getting the same error.
Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed: SimpleTemplateScript4.groovy: 3: unexpected char: '\' @ line 3, column 1. \"cn\": \"cn\", ^ 1
07/24/2023 12:24 AM
Hi @avinash_16 ,
Can you share the createaccount json you are using now. Also, did you have added ACCOUNTNAMERULE?
07/24/2023 12:30 AM - edited 07/24/2023 01:10 AM
Yeah sure.
CREATEACCOUNTJSON:
${if (user.startdate < sysdate()) {
"cn": "cn",
"displayname": "user.displayname",
"givenName": "user.firstname",
"name": "user.displayname",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "task.accountName",
"sn": "user.lastname",
"userAccountControl": "546"
}
else {
"cn": "cn",
"displayname": "user.displayname",
"givenName": "user.firstname",
"name": "user.displayname",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "task.accountName",
"sn": "user.lastname",
"userAccountControl": "544"
}
}
ACCOUNTNAMERULE: CN=${user.username},OU=AD_Offshore,DC=lab,DC=example,DC=com###cn=${account},OU=AD_Offshore,DC=lab,DC=example,DC=com
Thanks.
07/24/2023 01:47 AM
Hi @avinash_16 ,
Try this.
${if (user.startdate < sysdate()) {
'"cn": "'+cn+'",
"displayname": "'+user.displayname+'",
"givenName": "'+user.firstname+'",
"name": "'+user.displayname+'",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "'+task.accountName+'",
"sn": "'+user.lastname+'",
"userAccountControl": "546"
}
else {
"cn": "'+cn+'",
"displayname": "'+user.displayname+'",
"givenName": "'+user.firstname+'",
"name": "'+user.displayname+'",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"sAMAccountName": "'+task.accountName+'",
"sn": "'+user.lastname+'",
"userAccountControl": "544"'
}
}
07/24/2023 02:44 AM
I tried but it still shows the error.
Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed: SimpleTemplateScript7.groovy: 1: expecting ''', found '\n' @ line 1, column 325. ","userAccountControl": "546"}
I tried adding the "+" sign for "userAccountControl", but still it shows an error: Error while creating account in AD - Failed to parse template script (your template may contain an error or be trying to use expressions not currently supported): startup failed: SimpleTemplateScript8.groovy: 1: expecting ''', found '\n' @ line 1, column 327. "userAccountControl": "+546+"}
Thanks.
07/24/2023 02:49 AM
Hi @avinash_16 ,
Try it once:
${if (user.startdate < sysdate()) {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson","user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "546"'} else {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson", "user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "544"'}}
07/24/2023 04:51 AM
Yeah the error is now resolved but now I'm getting a new error message.
Checking DN for CN=SamM,OU=AD_Offshore,DC=lab,DC=pronoesis,DC=com.Not FOund DN for CN=SamM,OU=AD_Offshore,DC=lab,DC=pronoesis,DC=com. Error while creating account in AD - No signature of method: SimpleTemplateScript9.sysdate() is applicable for argument types: () values: [] Possible solutions: isCase(java.lang.Object)Checking DN for CN=SamM,OU=AD_Offshore,DC=lab,DC=pronoesis,DC=com.Not FOund DN for CN=SamM,OU=AD_Offshore,DC=lab,DC=pronoesis,DC=com. Error while creating account in AD - No signature of method: SimpleTemplateScript206.sysdate() is applicable for argument types: () values: [] Possible solutions: isCase(java.lang.Object)
Also can you give me an explanation on why that error occurred in the first place and what changes you made so the error got resolved. Please?
Thanks.
07/24/2023 05:06 AM
Hi @avinash_16 ,
Try to use new Date() instead of sysdate and check.
${if (user.startdate < new Date())
07/24/2023 11:12 PM
Error message: Error while creating account in AD - Template contains string which are not allowed \bnew\s+(.*?)[(]
${(if user.startdate < new Date())
{'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson","user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "546"'}
else {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson", "user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "544"'}}
07/24/2023 06:08 AM
@avinash_16 use the format like below instead of sysdate()
${(if user.startdate < (new java.text.SimpleDateFormat('yyyy-MM-dd').format(new Date())))}{}
07/24/2023 10:36 PM
Tried this but getting this error: Template contains string which are not allowed \bnew\s+(.*?)[(]
CREATEACCOUNTJSON parameter: ${(if user.startdate < (new java.text.SimpleDateFormat('yyyy-MM-dd').format(new Date())))
{'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson","user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "546"'}
else {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson", "user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "544"'}}
07/24/2023 11:33 PM
Hi @avinash_16 ,
Can you please try the below changes?
${def currentDate = Calendar.getInstance().getTime().format('yyyy-MM-dd HH:mm:ss');if(user.startdate < (currentDate)){'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson","user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "546"'}else {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson", "user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "544"'}}
07/25/2023 01:13 AM
Hi @avinash_16 ,
Try json provided by @naveenss, if still be an issue try below one once:
${(if user.startdate < (api.calendar()))
{'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson","user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "546"'}
else {'"cn": "'+cn+'", "displayname": "'+user.displayname+'", "givenName": "'+user.firstname+'", "name": "'+user.displayname+'", "objectClass": ["top", "person", "organizationalPerson", "user"], "sAMAccountName": "'+task.accountName+'", "sn": "'+user.lastname+'", "userAccountControl": "544"'}}
07/26/2023 10:16 AM
dum question,
why are we adding + in values?
'"cn": "'+cn+'", "displayname": "'+user.displayname+'"