所以我是PowerShell的新手。我理解了一些基础知识,我仍然尽可能地自学。
因此我被要求自动将我们公司的联系人推送到每个人的邮箱(大约60-70个联系人到60-70个邮箱)我们使用Office 365。 他们还希望联系人同步到手机,因此我无法使用共享联系人列表。似乎只有MAIN联系人列表可以同步到手机。
到目前为止,我已经使用了这个:
import-contactlist -csv -csvdata ([system.io.file]::readallbytes("PATH TO CSV FILE")) -identity USER
这很好用,但是如果对CSV有任何更改并且我再次运行它,它只会使所有联系人加倍而不是覆盖。无论如何我可以覆盖联系人吗?
我也试过这个:
Search-Mailbox -identity USER -SearchQuery kind:contacts -deletecontent
这会删除我首先创建的联系人,但如果用户创建了任何其他联系人,它也会删除这些联系人。 我觉得我正朝着正确的方向前进..任何人都可以帮忙吗?
答案 0 :(得分:0)
好吧,我想我弄明白了。用以下内容导入联系人后:
import-contactlist -csv -csvdata ([system.io.file]::readallbytes("PATH TO CSV")) -identity USER
我可以运行它来查找和删除每个添加的联系人:
$tcontacts = get-content PATH TO CSV WITH ONLY NAMES
$zcontacts = get-content PATH TO CSV WITH NAMES OF MAILBOXES YOU WANT TO REMOVE CONTACTS FROM
$ccontacts = "null"
$scontacts = "null"
$xcontacts = "null"
foreach ($ccontacts in $tcontacts) {foreach ($scontacts in $zcontacts) {$xcontacts = $scontacts; Search-Mailbox -identity $xcontacts -SearchQuery kind:'contacts', $ccontacts -deletecontent -force}}
我使用xcontacts = scontacts是因为指针问题(我认为?)但是无论如何,使用$ scontacts for -identity都不起作用。
这是一个相当粗糙的剧本,你们可能会找到一个较短的剧本,但它有效!感谢