powershell exchange:if then语句语法?

时间:2009-02-11 05:50:33

标签: powershell exchange-server

在我的剧本中,我试图测试真假。这种语法不正确吗?

$pdaout = ""
if ($pda.ActiveSyncEnabled.tostring() -like "True") {$pdaout = "TRUE"}
if ($pda.ActiveSyncEnabled.tostring() -like "False") {$pdaout = "-"}

write-host $pdaout

2 个答案:

答案 0 :(得分:3)

似乎直接检查布尔值而不是使用ToString()会更好:

$pdaout = ""

if ($pda.ActiveSyncEnabled -eq $True) { $pdaout = "TRUE" }
else { $pdaout = "-" }

write-host $pdaout

以下是来自Windows Powershell team re: Boolean Values and Operators

的博客文章

答案 1 :(得分:0)

应该是,tostring()函数除外(使用toString()以确保区分大小写没有问题)

另外,如果第一个测试成功,您可能希望使用elseif来避免进行第二次测试:

if ($pda.ActiveSyncEnabled.toString() -like "True") {$pdaout = "TRUE"}
elseif ($pda.ActiveSyncEnabled.toString() -like "False") {$pdaout = "-"}