gpt4 book ai didi

powershell - 为Office 365的用户更新某些 “My Contacts”的电子邮件地址

转载 作者:行者123 更新时间:2023-12-02 23:25:27 24 4
gpt4 key购买 nike

我们有一个Office 365部署,是从另一个提供程序迁移而来的。用户拥有大量的个人通讯录(在Outlook中标记为“我的联系人”)。

我们密切合作的公司最近更改了域名。我需要更新用户的个人联系人,以便“@ foobar.com”的电子邮件地址现在转到“@ foobar.co.uk”。让用户自己执行此操作比其值(value)要多得多。

在使用PowerShell更新全局通讯簿方面似乎有很多指导,但对于单个用户如何更新“我的联系人”却没有。

是否有任何示例等在PowerShell中编辑个人用户的个人联系人的代码片段?还是本质上类似的示例脚本?

最佳答案

当我在Contacts文件夹中设置联系人时,我可以确认以下代码片段对我有用,并且它成功重写并正确保存了联系人。请注意,我还更改了DisplayName字段,因为在某些情况下(在我的位置)此代码不会被重写以反射(reflect)正确的地址。

警告:我目前已禁用(评论)此代码中的实际工作。由于它将仅在Contacts文件夹中挖掘未知数量(数千或更多?)的联系人(而不是带有此代码的“全局地址”列表)。

仅当您验证通过Write-Host命令看到了预期的输出时,才应取消注释中间的三行。

我不愿意发现我为您提供帮助的尝试,从而导致大量的联系被改写,并且让人头疼。

就是说,这绝对应该给您一个领先的机会,并且您可以根据需要/需要进行修改。

$olApp = new-object -comobject outlook.application
$namespace = $olApp.GetNamespace("MAPI")
$Contacts = $namespace.GetDefaultFolder(10)

foreach ($Entry in $Contacts.Items)
{

if ($Entry.Email1Address -like "*foobar*")
{
$newAddress = $Entry.Email1Address -replace "foobar.com", "foobar.co.uk"
$newDisplayName = $Entry.Email1DisplayName -replace "foobar.com", "foobar.co.uk"

#UNCOMMENT the below lines, once you've confirmed it will work as expected for you
#$Entry.Email1Address = $newAddress
#$Entry.Email1DisplayName = $newDisplayName
#$Entry.Save()

#COMMENT OUT (or don't) the three below lines, once you've validated that this will work in your environment
$Entry | Format-Table FullName,Email1Address,Email1DisplayName
Write-Host ("Would convert " + $Entry.Email1Address + " to... " + $newAddress)
Write-Host ("Now displayed as " + $Entry.Email1DisplayName + " to... " + $newDisplayName)
}

}

$olApp.Quit | Out-Null
[GC]::Collect()

进一步的公开信息:在企业端运行联系人列表之前,请考虑对其进行备份。另外,请参阅上面有关某些企业系统未以标准 abc@xyz.com格式显示电子邮件地址的注释。因此,为什么我还提供了 Write-Host命令,以便让您查看是否存在类似的问题。如果是这样,请告诉我们,我将尝试进一步探讨如何引用适当的名称(如果可能)

您可能必须将其提供给用户一个批处理文件,因此不必解释如何运行它,也不必取决于企业中配置的 ExecutionPolicy

关于我的设置的注意事项:Windows 7,Office 365(特别是Outlook 2016-16.0.6366.2062)和PowerShell 5.0,尽管我觉得此处的cmdlet和引用是通用的。如果您有问题,那就是。

关于powershell - 为Office 365的用户更新某些 “My Contacts”的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38235070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com