查询多个ip的powershell输出写入条件

时间:2017-11-22 06:18:55

标签: powershell

我有一个变量,示例输出显示为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可能不同),则脚本应该失败。

有人可以帮我写这个病吗?

2 个答案:

答案 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'