I have workaround but you need to enhance & use accordingly -
Relevance to run the action in every 45 days-
not exists action whose (now - last active time of it < 45 * day )
Action script generate random password & change it for mentioned user, you can pass the username as parameter (I hard coded it for testing)-
delete "C:\Windows\temp\random.txt"
delete __appendfile
appendfile -Join("ABCDabcd&@#$%1234".tochararray() | Get-Random -Count 16 | % {{[char]$_}) >> "C:\Windows\temp\random.txt"
move __appendfile __Download\test.ps1
wait {pathname of regapp "powershell.exe"} -ExecutionPolicy Bypass __Download\test.ps1
delete __Download\test.ps1
waithidden "C:\Windows\System32\net.exe" user test {line of file "C:\Windows\temp\random.txt"}
Major & only drawback, password will be visible in client log file but you can also enhance it by deleting logs of that day or use some encryption method to convert generated password into secure string.
I hope this will help 