# Create form as a way in SailPoint IIQ to turn on or off "pwdlastset" for AD's "change password at next logon"

**URL:** <https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676>\
**Category:** IIQ Discussion and Questions\
**Tags:** identityiq, password-management\
**Created:** [August 20, 2025, 1:30pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676 "2025-08-20T13:30:45Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![derrickthomasvdot](https://avatars.discourse-cdn.com/v4/letter/d/d78d45/32.png) [@derrickthomasvdot](https://developer.sailpoint.com/discuss/u/derrickthomasvdot)\
**Post date:** [August 20, 2025, 1:30pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/1 "2025-08-20T13:30:45Z")

</div>

## Which IIQ version are you inquiring about?

_8.3_

## Please share any images or screenshots, if relevant.

 ![image](https://global.discourse-cdn.com/sailpoint/original/3X/a/2/a27c632b7b90ab5f727db14e45408f27cf77ca93.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/3X/1/8/1866cae57d3db9d165f98a6fe706df3711808112.png)

## Please share any other relevant files that may be required (for example, logs).

_[Please insert files here, otherwise delete this section]_

## Share all details about your problem, including any error messages you may have received.

_We would like to_ Create a form as a way in SailPoint IIQ to turn on or off “pwdlastset” for AD’s “change password at next logon”. it would be found under our “User Management” menu. it would be called “Change Password at Next Logon Flag”. Once you click on the form, it would bring it up, choose then identity and then submit to remove the CHECKMARK in Active Directory or click the cancel button.

---

<div class="post-metadata">

**Author:** ![tharshith](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/tharshith/32/34929_2.png) [@tharshith](https://developer.sailpoint.com/discuss/u/tharshith)\
**Post date:** [August 20, 2025, 1:37pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/2 "2025-08-20T13:37:33Z")

</div>

Hi @derrickthomasvdot

In order to implement your usecase -

1. Create a workflow and add your logic across various steps in that workflow
2. Create a quicklink and attach this to previously developed workflow
3. Add this quicklink to your **User Management** quicklink category

Thanks,  
Harshith

---

<div class="post-metadata">

**Author:** ![derrickthomasvdot](https://avatars.discourse-cdn.com/v4/letter/d/d78d45/32.png) [@derrickthomasvdot](https://developer.sailpoint.com/discuss/u/derrickthomasvdot)\
**Post date:** [August 20, 2025, 3:21pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/3 "2025-08-20T15:21:27Z")

</div>

I need a better representation of what this would look like. Is there any template/example that could be used to obtain this?

---

<div class="post-metadata">

**Author:** ![Arun-Kumar](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/arun-kumar/32/15128_2.png) [@Arun-Kumar](https://developer.sailpoint.com/discuss/u/Arun-Kumar)\
**Post date:** [August 21, 2025, 4:45am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/4 "2025-08-21T04:45:30Z")

</div>

Hi @derrickthomasvdot ,

Please refer the attached workflow and quicklink for reference.

[Workflow-Self\_Service\_Change\_pwdlastset.xml](https://developer.sailpoint.com/discuss/uploads/short-url/8zVi293YBvfzXHlVy0CS5zqMEho.xml) (3.5 KB)  
[Change Password at Next Logon Flag quicklink.xml](https://developer.sailpoint.com/discuss/uploads/short-url/ugh30WEsuxvpeA94F7UnGbmbV0X.xml) (708 Bytes)

---

<div class="post-metadata">

**Author:** ![sagr0812](https://avatars.discourse-cdn.com/v4/letter/s/ac91a4/32.png) [@sagr0812](https://developer.sailpoint.com/discuss/u/sagr0812)\
**Post date:** [August 21, 2025, 6:41am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/5 "2025-08-21T06:41:31Z")

</div>

> [@Arun-Kumar](#):
>

can’t open the [Change Password at Next Logon Flag quicklink.xml](https://developer.sailpoint.com/discuss/uploads/short-url/ugh30WEsuxvpeA94F7UnGbmbV0X.xml) file

---

<div class="post-metadata">

**Author:** ![Arun-Kumar](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/arun-kumar/32/15128_2.png) [@Arun-Kumar](https://developer.sailpoint.com/discuss/u/Arun-Kumar)\
**Post date:** [August 21, 2025, 6:44am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/6 "2025-08-21T06:44:00Z")

</div>

Hi

Refer this

```auto
  <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE QuickLink PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<QuickLink action="workflow" category="User Management" messageKey="Change Password at Next Logon Flag" name="Change Password at Next Logon Flag">
  <Attributes>
    <Map>
      <entry key="workflowName" value="Self Service View Workflow"/>
	  <entry key="workflowSuccess" value="Request submitted successfully"/>
    </Map>
  </Attributes>
  <Description>Self Service Account Invite</Description>
  <QuickLinkOptions allowSelf="true">
    <DynamicScopeRef>
      <Reference class="sailpoint.object.DynamicScope" name="Self Service"/>
    </DynamicScopeRef>
  </QuickLinkOptions>
</QuickLink>

```

---

<div class="post-metadata">

**Author:** ![derrickthomasvdot](https://avatars.discourse-cdn.com/v4/letter/d/d78d45/32.png) [@derrickthomasvdot](https://developer.sailpoint.com/discuss/u/derrickthomasvdot)\
**Post date:** [August 21, 2025, 12:38pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/7 "2025-08-21T12:38:13Z")

</div>

The quicklink installed successfully after some tweaks, but the actual wokflow did not. I’m receiving the following error:

 ![image](https://global.discourse-cdn.com/sailpoint/original/3X/c/9/c99b3a8d242007b698fb19bf2dbd08c71d183a84.png)

It looks like it is pointing to something wrong with the first line

---

<div class="post-metadata">

**Author:** ![Arun-Kumar](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/arun-kumar/32/15128_2.png) [@Arun-Kumar](https://developer.sailpoint.com/discuss/u/Arun-Kumar)\
**Post date:** [August 22, 2025, 2:39pm UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/8 "2025-08-22T14:39:15Z")

</div>

Hi @derrickthomasvdot ,

Ensure that the following XML declaration and document type definition are included at the top of the workflow before attempting to import it

```auto
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Workflow PUBLIC "sailpoint.dtd" "sailpoint.dtd">

```

---

<div class="post-metadata">

**Author:** ![derrickthomasvdot](https://avatars.discourse-cdn.com/v4/letter/d/d78d45/32.png) [@derrickthomasvdot](https://developer.sailpoint.com/discuss/u/derrickthomasvdot)\
**Post date:** [August 26, 2025, 10:51am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/9 "2025-08-26T10:51:48Z")

</div>

The form work and installed correctly, but it looks like the workflow is not working. When I look in the syslog, I get the following error:

```auto
sailpoint.tools.GeneralException: sailpoint.tools.GeneralException: BeanShell script error: bsh.ParseException: Parse error at line 1, column 1189. Encountered: <EOF> BSF info: script at line: 0 column: columnNo
	at sailpoint.server.ScriptletEvaluator.doScript(ScriptletEvaluator.java:268)
	at sailpoint.server.ScriptletEvaluator.evalSource(ScriptletEvaluator.java:71)
	at sailpoint.api.Workflower.evalSource(Workflower.java:5932)
	at sailpoint.api.Workflower.advanceStep(Workflower.java:5171)
	at sailpoint.api.Workflower.advance(Workflower.java:4558)
	at sailpoint.api.Workflower.assimilate(Workflower.java:4208)
	at sailpoint.api.Workflower.handleWorkItem(Workflower.java:7646)
	at sailpoint.api.Workflower.process(Workflower.java:1856)
	at sailpoint.api.Workflower.process(Workflower.java:1880)
	at sailpoint.api.WorkflowSession.advance(WorkflowSession.java:468)
	at sailpoint.service.WorkflowSessionService.advance(WorkflowSessionService.java:105)
	at sailpoint.service.form.FormService.next(FormService.java:192)
	at sailpoint.service.form.FormService.submit(FormService.java:115)
	at sailpoint.rest.ui.form.BaseFormResource.submitOrValidate(BaseFormResource.java:162)
	at sailpoint.rest.ui.form.BaseFormResource.submit(BaseFormResource.java:122)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397)
	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
	at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)
	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
	at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.web.SailPointResponseFilter.doFilter(SailPointResponseFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.rest.jaxrs.MethodOverrideFilter.doFilter(MethodOverrideFilter.java:90)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.rest.RestCsrfValidationFilter.doFilter(RestCsrfValidationFilter.java:71)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.rest.AuthenticationFilter.doFilter(AuthenticationFilter.java:109)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.web.SailPointContextRequestFilter.doFilter(SailPointContextRequestFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.web.SailPointPollingRequestFilter.doFilter(SailPointPollingRequestFilter.java:151)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at sailpoint.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: sailpoint.tools.GeneralException: BeanShell script error: bsh.ParseException: Parse error at line 1, column 1189. Encountered: <EOF> BSF info: script at line: 0 column: columnNo
	at sailpoint.server.BSFRuleRunner.runScript(BSFRuleRunner.java:349)
	at sailpoint.server.InternalContext.runScript(InternalContext.java:1296)
	at sailpoint.server.ScriptletEvaluator.doScript(ScriptletEvaluator.java:263)
	... 87 more
Caused by: org.apache.bsf.BSFException: BeanShell script error: bsh.ParseException: Parse error at line 1, column 1189. Encountered: <EOF> BSF info: script at line: 0 column: columnNo
	at bsh.util.BeanShellBSFEngine.eval(BeanShellBSFEngine.java:202)
	at org.apache.bsf.BSFManager$5.run(BSFManager.java:445)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.apache.bsf.BSFManager.eval(BSFManager.java:442)
	at sailpoint.server.BSFRuleRunner.runScript(BSFRuleRunner.java:347)
	... 89 more

```

---

<div class="post-metadata">

**Author:** ![derrickthomasvdot](https://avatars.discourse-cdn.com/v4/letter/d/d78d45/32.png) [@derrickthomasvdot](https://developer.sailpoint.com/discuss/u/derrickthomasvdot)\
**Post date:** [August 26, 2025, 10:55am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/10 "2025-08-26T10:55:57Z")

</div>

Could it be the application.class is showing: Application.class,“AD\_Active-Directory”. Our AD application is called something different. Should I replace that? I made that change but nothing happens. Just the same error.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/sailpoint/original/2X/f/f2136700ed5e3703e0b85e02f6be799dacca7735.png) [@system](https://developer.sailpoint.com/discuss/u/system)\
**Post date:** [October 25, 2025, 10:56am UTC](https://developer.sailpoint.com/discuss/t/create-form-as-a-way-in-sailpoint-iiq-to-turn-on-or-off-pwdlastset-for-ads-change-password-at-next-logon/171676/11 "2025-10-25T10:56:02Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
