首页 > 解决方案 > 遍历数组并获取所有用户的单元格

问题描述

我有一个看起来像这样的数组:(从简单的 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.

谢谢你的任何建议

标签: powershell

解决方案


由于您尚未提供所有要求或尝试编写任何脚本,因此我们只能做出假设。一个简单的解决方案是使用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
}

推荐阅读