Workflow and ServiceDesk Community

Expand all | Collapse all

Self-Service Password Reset

  • 1.  Self-Service Password Reset

    Posted 02-04-2020 04:46 AM

    Hi All,

    Im having trouble setting up a self-service password rest on 8.1/8.5. I have found a useful project and videos here:

    but when i load up the projects im told that some libraries are missing. Has anyone managed to update this project at all and if so, am i able to get the project files for it?If not - does anyone have any idea how i could change it to get it working?


    Thanks in advance.




  • 2.  RE: Self-Service Password Reset

    Trusted Advisor
    Posted 02-04-2020 05:05 AM

    Which libraries are missing?


    Was this from Open Project and the template in Workflow Projects or was it using the Examples Project?

    Workflow - Examples - ResetPassword

    Workflow - Examples

    [Install Drive]:\Program Files\Symantec\Workflow\Designer\Examples\

  • 3.  RE: Self-Service Password Reset

    Posted 02-04-2020 08:00 AM

    Thanks for the fast response :)

    I have this form of password reset working but i wanted to use a second option for staff to be able to reset their own with the use of a security questinos and unique ID. We have people who work out of hours and the ability to reset their own passwords. The project in the link i sent seems to do exactly that. With regards to the Libraries - it does not say what is missing. Sorry.


  • 4.  RE: Self-Service Password Reset

    Trusted Advisor
    Posted 02-04-2020 08:21 AM

    When you open the project are there components missing in a model, with lines not connected?

  • 5.  RE: Self-Service Password Reset

    Posted 02-06-2020 10:45 AM

    Yes - there are. The first one i can see is teh Get Computer Info and Start Audit Trail model. In-fact - it is that model in the two that seems to be the problem.

    In the Initialization project it is missing a componant between the 'Get Current User' componant and the 'Setup Process' componant. I think the a componant for getting the computer does not exist in the new version.


  • 6.  RE: Self-Service Password Reset

    Trusted Advisor
    Posted 02-06-2020 11:20 AM

    Yes the "Get Computer Info" was removed from one of the libs in 8.1.

    But you can copy an old lib, and it will work, do you have a backup from another server? 

  • 7.  RE: Self-Service Password Reset

    Posted 02-06-2020 11:34 AM

    Sadly no. Is there anywhere else i can get it from?

    Also - do you know if there is a workflow that already exists for Ad Account Unlocks? To save me having to try to build one :)

    Thanks for your help Alex.

  • 8.  RE: Self-Service Password Reset

    Trusted Advisor
    Posted 02-06-2020 12:36 PM
    Support should be able to provide a copy, —- You could use a Code Script Component public void Unlock(string userDn) { try { DirectoryEntry uEntry = new DirectoryEntry(userDn); uEntry.Properties["LockOutTime"].Value = 0; //unlock account uEntry.CommitChanges(); //may not be needed but adding it anyways uEntry.Close(); } catch (System.DirectoryServices.DirectoryServicesCOMException E) { //DoSomethingWith --> E.Message.ToString(); } } See Africo’s article for the same concept Custom C# Component – Adding a Computer to a Group in Active Directory

  • 9.  RE: Self-Service Password Reset

    Posted 02-12-2020 08:27 AM

    Hi Alex,

    Thanks again for the help. However, i am not getting much luck with my account unlock script. I did manage to get the 'Add comptuer to group' project working. This is the code from the source that i am using - you can see that it is quite straightforward. However, when i run the test in Script Componant Wizard it fails with 'Script Error: Type or namespace definition, or end-of-file expected.' CAn you help me shed some light on what i am missing?

    using System.DirectoryServices.AccountManagement;

    using System;

    using System.DirectoryServices;

    using System.DirectoryServices.ActiveDirectory;

    namespace DynamicNamespace {

    public class DynamicClass {

    public System.String DynamicMethod(System.String userDn)


    // this line creates the authentication context for AD interface

    PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "OURDOMAIN", "DC=OURDOMAIN,DC=co,DC=uk");




    UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, userDn);

    if (usr != null)


    if (usr.IsAccountLockedOut())


    return "Account" + userDn + " unlocked.";


    catch (Exception e)


    return e.Message;