2009-02-11 35 views
0

在我的腳本中,我試圖測試真假。這個語法不正確?powershell exchange:if語句的語法?

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

write-host $pdaout 

回答

3

看起來這將是更好的只是檢查的布爾值,而不是直接使用的ToString()的:

$pdaout = "" 

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

write-host $pdaout 

這是來自Windows Powershell team re: Boolean Values and Operators的博客文章

0

它應該是,除了可能對tostring()功能(使用toString()以確保有大小寫區分沒有問題)

此外,您可能需要使用elseif避免做第二測試如果第一個是成功的:

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