更新公司联系人

时间:2017-05-23 11:34:00

标签: powershell csv active-directory

我有公司联系人的CSV格式。

我想创建一个脚本来读取CSV行,并查看存储在AD中的当前内容。

当我从AD读取联系人然后从CSV中读取该行时,在屏幕中它们看起来相同但是它们失败并且不等于功能。

我的问题是:

最好是阅读联系的每一部分,即:

  • contact.firstname并与compare.firstname
  • 进行比较
  • contact.lastname并与compare.lastname
  • 进行比较
  • contact.emailaddress并与compare.emailaddress
  • 进行比较

使用一组If命令?或者有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

你总是可以从某处开始,然后寻找完美的方式。帮助贡献者开始适合您的事情的一个简单示例可能是:

$csv = import-csv C:\Temp\test.csv -Delimiter ";"

这会给你一个这样的对象

firstname lastname email         
--------- -------- -----         
john      doe      john@doe.com  
johnny    doe      johnny@doe.com
jim       doe      jim@doe.com   

现在可以通过多种方式解析此对象。根据您想要比较的字符串变量,我建议您使用ForEach-Object(或者它的%{}缩写)

像这样:

$csv | % {
if ($_.Firstname -eq $Contact.Firstname) {Write-host "Match!" -fo green}
else{Write-host "No match :(" -fo red}

}

您将能够逐个循环遍历csv文件的所有对象,并比较它们的音符属性。

希望它可以帮助你开始。