【问题标题】:powershell exchange : if then statement syntax?powershell 交换:if then 语句的语法?
【发布时间】:2010-10-06 20:10:05
【问题描述】:

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

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

write-host $pdaout

【问题讨论】:

    标签: powershell exchange-server


    【解决方案1】:

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

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

    这是来自Windows Powershell team re: Boolean Values and Operators的博文

    【讨论】:

      【解决方案2】:

      应该是,除了tostring() 函数(使用toString() 确保不区分大小写)

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

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

      【讨论】:

        猜你喜欢
        • 2015-08-20
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多