Hello,
Can we send the verification code through other method? or perhaps run custom script to send verification code?
Verification codes for self-password reset can only be sent via SMS or email. There are no other way and it cannot be scripted.
How to configure web GUI to just allow HelpDesk to choose "reset password without ability to type it manually the temporary password?
What exactly do you mean? Could you, please, provide a live example of the desired workflow?
Do you have the script to auto generate password or assign password from user's attribute?
Here is an example on how to set a random password of 12 characters for a user:
$Context.TargetObject.SetPassword("%adm-RandomString,12%")
In the same way you can set user password to a value based on their properties. For example, this script sets the password to the value of the user department:
$Context.TargetObject.SetPassword("%department %")
In both cases, the scripts use value references. For more details about the feature, have a look at the following help article: https://www.adaxes.com/help/ValueReferences.
For your information, such password generations can be performed without using scripts. You can use the built-in Reset user password action in your custom command. It allows using a template based on value references and generating random complex passwords based on predefined criteria.