whileの条件式がうまく動かないので教えてください。

Test-NetConnectionでサーバのポートが開いているかチェックして
開いていなかったら、開くまで待つ処理をしたいのですが、
なぜかWhileループに入ってくれません。
条件を$result -ne "True"にすればうまく動くのですが、なぜFalseの条件だと動かないのでしょうか

あとTest-NetConnectionでポート開いていないときにWARNINGメッセージが表示されるのですが
これって表示抑止できませんか?

コード

$ProgressPreference="SilentlyContinue"
$ErrorActionPreference = "silentlycontinue"
$server = "127.0.0.1"

$result = Test-NetConnection $server -port 22 -InformationLevel Quiet

while ($result -eq "False") {
Write-Output "OFF"
$result = Test-NetConnection $server -port 22 -InformationLevel Quiet
}

write-host "kaishi"