```-ErrorAction SilentlyContinue``` prevents it throwing, causing it to return null instead.
```[bool](Get-Command thisisnotarealcommand -Erroraction SilentlyContinue).Name``` returns False, ditto ```[bool](Get-Process thisisnotarealprocess -ErrorAction SilentlyContinue).Id```