我有一个变量,示例输出显示为10.10.102.83,True
例如
$a = $ISCSI.InitiatorPortalAddress+ ',' +$ISCSI.IsConnected
1) echo $a = 10.10.102.83,True
2) echo $a = 0.0.0.0 10.30.28.31 ,True True
3) echo $a = 10.0.0.1 10.30.28.31 ,True True
我需要写一个条件。如果$ a输出带有多个IP,如示例2或示例3中所述(每个输出中的IP可能不同),则脚本应该失败。
有人可以帮我写这个病吗?
答案 0 :(得分:0)
试试这个:
$a = "0.0.0.0 10.30.28.31" ,"True True"
$count=(($a -split ',')[0] -split ' ').Count
if ($count -gt 1)
{
throw 'No good!'
exit
}
"test"
答案 1 :(得分:0)
您的$ISCSI
变量包含多个对象。
当您致电$ISCSI
时,您没有访问.IsConnected
一次 - 您实际上会在数组中的每个对象上获得.IsConnected
的结果,在这种情况下是$true
if ($ISCSI.Count -gt 1){
#Throw Error
} else {
$a = $ISCSI.InitiatorPortalAddress+ ',' +$ISCSI.IsConnected
#Other Logic
}
SELECT * FROM `data_specs` WHERE `Item_Code` = `ACR102190250`
1}} S上。
PowerShell打印数组时的默认行为是打印它们之间的空格,从而产生您在那里看到的输出。
你可以使用这样的东西来确保在继续之前只有一个对象。
#1054 - Unknown column 'ACR102190250' in 'where clause'