Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays foreach中的数组拆分_Arrays_Powershell_Foreach - Fatal编程技术网

Arrays foreach中的数组拆分

Arrays foreach中的数组拆分,arrays,powershell,foreach,Arrays,Powershell,Foreach,我正在使用Exchange邮件跟踪从一个数组中拆分收件人,使其显示在自己的行中 当我运行以下命令时: foreach ($recepient in $recepients){ $recepient.Recipients } 收件人显示为一个列表 但是,当我将变量添加为表达式时,输出将显示仍然在数组中的收件人 还尝试使用: Split-Array -inArray $user -Size 1 没有多大进展 输出未拆分收件人数组。例如: Timestamp recip

我正在使用Exchange邮件跟踪从一个数组中拆分收件人,使其显示在自己的行中

当我运行以下命令时:

foreach ($recepient in $recepients){
    $recepient.Recipients
}
收件人显示为一个列表

但是,当我将变量添加为表达式时,输出将显示仍然在数组中的收件人

还尝试使用:

Split-Array -inArray $user -Size 1
没有多大进展

输出未拆分收件人数组。例如:

Timestamp recipients Messagesubject eventID --------- ---------- ---------------- ------- 01/01/2019 10:11:00 {User1,User2} Subject Deliver 目标是让每个用户都有自己的线路

Timestamp recipients Messagesubject eventID --------- ---------- ---------------- ------- 01/01/2019 10:11:00 User1 Subject Deliver 01/01/2019 10:11:00 User2 Subject Deliver 时间戳收件人Messagesubject事件ID --------- ---------- ---------------- ------- 2019年1月1日10:11:00用户1主题交付 2019年1月1日10:11:00用户2主题交付
如果结果中有嵌套数组,并且要提取它们,则可以使用嵌套循环和自定义对象,如下所示:

foreach ($recepient in $recepients){
    Foreach ($SingleRecipient in $recepient.Recipients) {
        [PSCustomObject]@{
            User = $SingleRecipient
            timestamp = $recepient.timestamp
            MessageSubject = $recepient.MessageSubject
            eventid = $recepient.eventid
        }
    }
}

如果结果中有嵌套数组,并且要提取它们,则可以使用嵌套循环和自定义对象,如下所示:

foreach ($recepient in $recepients){
    Foreach ($SingleRecipient in $recepient.Recipients) {
        [PSCustomObject]@{
            User = $SingleRecipient
            timestamp = $recepient.timestamp
            MessageSubject = $recepient.MessageSubject
            eventid = $recepient.eventid
        }
    }
}

太好了,谢谢你。使用pscustomobject以及将其添加到变量中所花费的时间


使用嵌套的foreach循环更有意义

太好了,谢谢你。使用pscustomobject以及将其添加到变量中所花费的时间


使用嵌套的foreach循环更有意义

您将需要一个嵌套的foreach循环来提取recipients属性中的用户。[1]此
$recipients=get-messagetrackinglog
未获取收件人。。。它正在收到信息。[grin][2]这意味着此
foreach($recepient in$recepients)
不会给收件人。。。它给你信息。[3] 这意味着此
$user=$recepient.recipient
最终将为您提供一个或多个实际收件人。//如果您希望在单独的行中列出这些收件人,则需要遍历该列表。如果您只想展开列表,请使用
$Message.Recipients-join';'
为您提供分号分隔的文本字符串。您需要一个嵌套的foreach循环来提取recipients属性中的用户。[1]此
$recipients=get-messagetrackinglog
未获取收件人。。。它正在收到信息。[grin][2]这意味着此
foreach($recepient in$recepients)
不会给收件人。。。它给你信息。[3] 这意味着此
$user=$recepient.recipient
最终将为您提供一个或多个实际收件人。//如果您希望在单独的行中列出这些收件人,则需要遍历该列表。如果您只想展开列表,请使用
$Message.Recipients-join';'
为您提供以分号分隔的文本字符串。