If you want to force PowerShell to check the input variable being of type Boolean and not accepting a 0 or 1, you can do this:
$a = 1
$a -eq $true
returns True, which may not be what you want
($a.gettype() -eq $true.gettype()) -and ($a -eq $true)
returns False if $a = 1, True if $a = $true