微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Group-Object 提取关键信息和 ConvertTo-HTML

如何解决如何使用 Group-Object 提取关键信息和 ConvertTo-HTML

我有一个包含各种电子邮件地址和协作者的 csv 文件。然后我使用 | group-object INVITER_EMAIL -AsHashTable –Asstring 创建一个带有键的哈希表,其中一个 INVITER_EMAIL 可以有多个协作者。

我可以使用以下方法在屏幕上显示

foreach ($User in $Collaborators.keys) {
  $Collaborators[$User] | select INVITER_EMAIL,COLLABORATOR_LOGIN,INVITE_ACCEPTED,ITEM_NAME,URL_TO_ITEM       
}

但是当我尝试管道 | ConvertTo-HTML 时,它不会正确格式化字符串。
我可以做 [string]$Collaborators.'user@email.com' 这给了我想要为一个用户生成的正确 HTML,但是很难让它通过 foreach 循环。不确定我可能遗漏了什么,但我希望在某个时候将其中的每一个都放入表单电子邮件的单独 $body 中。不确定这是否可能?谢谢

$Collaborators

Name                           Value                                                                                                                                                                                      
----                           -----                                                                                                                                                                                      
user@email.com           {@{REAL_OWNER_EMAIL_DOMAIN=somewhere; REAL_OWNER_EMAIL=user@email.com; REAL_OWNER_FirsT_NAME=Anna; REAL_OWNER_LAST_NAME=Someone; OWNER_LOGIN=admins@email...

解决方法

我认为您的问题是正确的。

但是这个想法是获取每个人的信息,并从中组合一个新对象并将其放入数组。您只需要在每个循环周期中创建一个 customObject。

例如。

foreach ($User in $Collaborators.keys) {
    [array]$MyList += [PSCustomObject]@{
        Email = $Collaborators[$User].Name
        Inviter = $Collaborators[$User].INVITER_EMAIL
        Login = $Collaborators[$User].COLLABORATOR_LOGIN
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。