我是PowerShell的新手。我需要编写一个脚本,仅显示CSV文件中的非人类电子邮件地址。
我的意思是它只显示像"Admin, news, support, fax"这样的地址,而不显示像"Hans Mueller, Tim Cook, Paul Rot"这样的地址。下面是列表中的一个例子:example所以我需要一个可以过滤多个关键字的函数
CVS文件中的是电子邮件地址、别名、名称。CVS文件从Exchange Admin Center导出。
我试过了:
$csvdata = import-csv "C:Usersbenedikt.prachtDesktopCVS VergleichExport.csv" -Delimiter ","
$csvdata | Where-object {$_.Emailaddress -match "@domain1.local"}
foreach ($user in $csvdata){
if($user.name -match "admin"){$parsedusers += $user.name}
elseif($user.name -match "Administrator"){$Parsedusers += $user.name}
}
$parsedusers | Out-file "C:Usersbenedikt.prachtDesktopCVS Vergleichparsedcsvdata.csv"
但它只给出了这个:输入图片描述
有很多方法可以做到这一点,但这里有一个例子
$csvdata = import-csv "C:csvdata"
$csvdata |
Where-object {$_.Emailaddress -match "@domain1.local"} |
Export-csv "C:parsedcsvdata" -NoTypeInformation
这将获得所有具有您的域的电子邮件地址。您可以按照相同的步骤过滤更多。
$csvdata = import-csv "C:csvdata"
$csvdata | Where-object {$_.Emailaddress -match "@domain1.local"}
foreach ($user in $csvdata){
if($user.name -match "anotherword"){$parsedusers += $user.name}
elseif($user.name -match "anotherword"){$Parsedusers += $user.name}
}
$parsedusers | Out-file "C:parsedcsvdata.csv"