The same comments in that linked post still pretty much applies here. There is never a guarantee that there will always be an interactive session that has a logged on user so whatever you write will be quite brittle unless you have some pretty in depth checks to conditionally run this beforehand. Ultimately you have to solutions;
Use PSExec with the ‘-s -i “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk”’ argument
The value you set for -i is the dynamic session id for the session you want to display this in, you need to get this somehow
This is also a security issue as the user will now see a Window that is run with SYSTEM privileges, this means a limited process will now have a way to run things under an admin scope (very dangerous)
Create a scheduled task that is set to run when the user is logged in and trigger it either immediate or on the next logon.
The scheduled task is your best bet and you can use win_scheduled_task to do this like;
`
name: create task that runs under a user’s interactive desktop
win_scheduled_task:
name: Interactive Process
actions: