win_timezone change does not survive reboot

My timezone was Pacific Standard Time. I used the win_timezone module to set it to UTC. I appeared to work. The TZ was UTC. After reboot, the TZ was Pacific Standard Time again.

Is this expected? Is there a way to make TZ change persist after reboot?

Sounds like you might have a GPO policy that sets the timezone and on a reboot that is being applied. The win_timezone module is just changing the timezone when running but if something else is changing it back then there’s nothing Ansible can really do.