In vRealize Automation (formerly know as vCloud Automation Center - vCAC) you can create custom services with forms that allow users to request and work with any type of service. VMware calls this XAAS - Anything as a Service. On request I have created this form that allows a user to change his/her password in Active Directory. The form sets the current logged in user as the user to change the password for and it verifies if the user enters two identical passwords. Unfortunately at this time there are two things that I have not found how to handle them:
- verify the user's current password
- prevent the user from submitting the form if the passwords don't match. (I have found a few workarounds for form validation but they didn't do what I want. So I have now chosen to show the user that the passwords don't match and if he/she then still would continue the workflow would fail.)
If you have an idea to fix these two issues then please let me know and I will add it to this workflow. In the mean time you can use the form as it is now.
Download the vCenter Orchestrator Package here
Download the Advanced Services Designer Service blueprint here
This is how the form will look like for the end user. In this example the user had entered two non-matching passwords which will display an error message.
In the Advanced Service Designer create a Service Blueprint and point to the Orchestrator workflow named Change My Password.
This is how your form will look like when you are done:
For the user text-field set the default value to be the Principal ID of the user that requests the form. This will match the User Principal Name of the user in Active Directory. Also set this form to be Read Only.
Next create two password field for the password and the password verification. There are no images to support this step.
The final field to create is the password check field. This is a text field:
This password check field points to two actions in Orchestrator that check if the passwords match. One returns a string that will be used as the value with a meaningful error message for the end user. The other actions returns a boolean that will set the Visible-setting to false if the passwords match. See the images below.
The action that returns a boolean returns false if the passwords match. That might look strange but the parameter is used to set the visibility of the error message. And it should not be visible (false) if the passwords match.
When the form is created follow the normal procedure to assign the action to a service and setup the correct entitlements.