Sometimes you may end up with wrong results on powershell because of the return object. A detailed demonstration can be located below where the return object is not a string and the evaluation of equals is not correct.
For example lets assume that we need to check docker status from powershell and catch this result through the string that is returned. When docker is not running you can expect a similar message like the below.
By getting the result of the docker info command into a variable we can see that the return object is of type Object in powershell.
When you try to use the contains functions with this object in order to evaluate the docker status you will end up with a false result as is not evaluated correctly.
In order to resolve this issue you should specify that the result should be a string with Out-String function.
Then when you evaluate the expression with Contains function this is performed as expected and the correct result is returned.