2009-02-11 10 views
0

Dans mon script j'essaie de tester pour vrai et faux. Cette syntaxe est-elle incorrecte?powershell exchange: si alors syntaxe d'instruction?

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

write-host $pdaout 

Répondre

3

on dirait qu'il serait préférable de vérifier que la valeur booléenne directement au lieu d'utiliser ToString():

$pdaout = "" 

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

write-host $pdaout 

Voici un article de blog du Windows Powershell team re: Boolean Values and Operators

0

Il devrait être, sauf peut-être pour la fonction tostring() (utiliser toString() pour assurer qu'il n'y a pas de problème avec la sensibilité de cas)

De plus, vous voudrez peut-être utiliser elseif pour éviter de faire une seconde test si le premier a réussi:

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