The steps below are performed using WinZip as an example.
#Script starts here
#create WinZip shortcut on Public Desktop
$TargetFile = "C:\Program Files (x86)\WinZip\WINZIP32.EXE"
$ShortcutFile = "$env:Public\Desktop\WinZip.lnk"
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()
#Script ends here
Lastly, log into a computer that lives in the OU where this GPO is applied and within seconds of logging in you should see the WinZip shortcut get created on the desktop. If needed you can run GPUPDATE /FORCE from a CMD prompt to speed up the process, or for testing.
Note: When installing WinZip from MSI, WinZip will remove any desktop icons by default, for this shortcut policy to work properly you should have it apply after WinZip is already installed, or upgraded. Alternatively, you can change the “Policy process mode configuration” to run “Always” instead of “Once or when forced” to always create the shortcut at login or when GPUPDATE runs.