Puppet handles Powershell scripts the same way it handles other executable commands, which is that an exit status of 0 is considered to be success and a non-zero exit status will be treated as a failed resource.