如何使用 PowerShell 更新 SharePoint 中的用户电子邮件地址?
问题:SharePoint 工作流失败,因为用户没有电子邮件地址!
(Get-SPUser -Identity "Crescent\bourgeois" -Web "https://portal.crescent.com/projectpipeline").email
解决办法很简单! SharePoint 用户没有电子邮件地址,因此为用户添加电子邮件地址即可解决问题!
如何更新 SharePoint 用户电子邮件地址?
也许您知道无法使用网络浏览器 UI 来完成此操作,但您必须使用 PowerShell!在这篇博文中,我将向您展示如何使用 PowerShell 在 SharePoint 中更新用户的电子邮件地址。要更新用户电子邮件地址,请使用 Set-SPUser cmdlet。以下是一些示例:
语法:
Set-SPUser -Identity "i:0#.w|Domain\username" -Email "email@domain.com" -Web https://sharepoint-site-url
示例:
Set-SPUser -Identity "i:0#.w|Crescent\Salaudeen" -Email "Salaudeen@crescent.com" -Web https://intranet.crescent.com/
这将为整个网站集设置具有电子邮件的用户的电子邮件 ID。
从 Active Directory 更改用户电子邮件地址:
您可以从 Active Directory 同步用户的电子邮件 ID
Set-SPUser -Identity "i:0#.w|Domain\username" -Web "https://sharepoint-site-url" -SyncFromAD
Set-SPUser -Identity "i:0#.w|Crescent\Salaudeen" -Web "https://intranet.crescent.com/" -SyncFromAD
此脚本从 Active Directory 同步用户属性,例如显示名称、电子邮件、部门等。以下是更新后的用户电子邮件的结果:
用于更新 Web 应用程序中所有站点的用户电子邮件地址的 PowerShell 脚本:
使用此脚本更新整个 Web 应用程序的用户电子邮件地址。
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$WebAppURL="https://intranet.crescent.com"
$UserAccount="i:0#.w|Crescent\Salaudeen"
#Update Email for all sites in the web application
Get-SPWebApplication $WebAppURL | Get-SPSite -Limit All | Foreach-object {
Write-host "Processing:" $_.Rootweb.URL
#Get the User's Current Display Name and E-mail
$User = Get-SPUser -Identity $UserAccount -Web $_.Rootweb.URL
if($User -ne $null)
{
Set-SPUser -Identity "i:0#.w|Crescent\Salaudeen" -Email "Salaudeen@crescent.com" -Web $_.Rootweb.URL
}
}
要同步 Active Directory 中的所有用户详细信息(例如电子邮件、显示名称等),请使用:
Get-SPUser -Web https://web-app-url | Set-SPUser -SyncFromAD

