1) Generate error if Powershell command is not found
2) Add debug log message for session property setting
3) Reduce connection() method overhead