I tried to modify security setting in WSWAN ,
Which is setting the value of WSMan:\localhost\Service\Auth\CredSSP. Its type of this value is Boolean. I tried to set that value to $true or true , both of them work well.
So the question here is , when I ignore the $,the value will become a string, it is not a value of Boolean , but why it still work ,without error, is it a convention in the context of WSMAN ?
PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value $true PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth Type Name SourceOfValue Value ---- ---- ------------- ----- System.String CredSSP true PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value true PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth Type Name SourceOfValue Value ---- ---- ------------- ----- System.String CredSSP true PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value $false PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth Type Name SourceOfValue Value ---- ---- ------------- ----- System.String CredSSP false PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value false PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth Type Name SourceOfValue Value ---- ---- ------------- ----- System.String CredSSP false