If the script runs normally outside of SAM but doesn't run correctly as a PowerShell script monitor within SAM it's most likely one of two possible reasons. The first is bitness. When running the PowerShell script on the server it's likely using 64bit PowerShell. When PowerShell scripts are run in SAM it uses 32bit PowerShell by default. This can be changed by editing the application template and expanding the "Advanced" section and changing the "Platform to run polling job on" from "x86" to "x64".
The other common issue is permissions and user context. By default all PowerShell scripts in SAM are executed under the local "system" account, which has no permissions to access any network resources. You will need to use impersonation by enabling "Run the script under specified account" and ensuring this is the same user account that you successfully tested the script with previously on the Orion server.
As a suggestion though, I would recommend using the native PowerShell Get-Process Cmdlet instead of PSExec.