Por que '$ true -eq "string"' retorna $ true? [duplicado

Esta pergunta já tem uma resposta aqui:

Por que $ false -eq “” é verdadeiro? 2 respostas

No powerShell, você compara um booleano com uma string com o operador "-eq"; ele sempre retornará o mesmo booleano que eu costumava compara

Por exemplo

$shouldBeFalse = $true -eq "hello"
$shouldBeTrue = $false -eq "hello"

A variável $ shouldBeFalse é $ true. A variável $ shouldBeTrue é $ false.

Eu tive que usar o método "Equals":

$shouldBeFalse = $true.Equals("hello")

Nesse caso, $ shouldBeFalse é $ false.

Mas por que retorna o operador -eq com esse tipo de resultado boolean

questionAnswers(2)

yourAnswerToTheQuestion