遍历数组并为所有用户获取单元格

时间:2020-08-31 19:58:24

标签: powershell

我有一个看起来像这样的数组:(从简单的CSV文件导入)

path                email address
\\server\file1      email1@asdf
\\server2\file3     email2@asdf
\\server4\file4     email3@asdf
\\server9\file5     email2@asdf
\\server3\file8     email2@asdf

我正在尝试创建一个Powershell脚本,该脚本将为我提供一个电子邮件地址的所有路径。 我想说的是,此电子邮件地址具有这些路径。 问题是某些电子邮件地址相同。在此示例中为email2@asdf

谢谢您的建议

1 个答案:

答案 0 :(得分:0)

由于您尚未提供所有要求或未尝试任何脚本编写,因此我们需要做一些假设。一个简单的解决方案是使用Where-ObjectGroup-Object。这些命令的使用方式不同,根据要求,一种可能会比另一种更好。

查找已知电子邮件的路径:

$csv = Import-Csv file.csv
($csv | Where 'email address' -eq 'email2@asdf').path

基于电子邮件列表的分组路径:

$csv = Import-Csv file.csv
$csv | Group-Object 'email address' | Foreach-Object {
    $_.Name # an email address
    $_.Group.path # all paths for the email address
    "Email address {0} has the paths {1}" -f $_.Name,($_.Group.Path -join ',') # Output message
}