首页 > 解决方案 > 将电子邮件地址导入 AD

问题描述

我正在使用 powershell 脚本尝试将电子邮件地址导入 Active Directory。这是我正在使用的脚本(完全公开,我从本网站的另一篇文章中复制了这个):

Import-module ActiveDirectory
$Users = Import-CSV "C:\Users\Admin\Documents\HPD_Users.csv"
ForEach($User in $Users) 
{
    Set-ADUser -Identity $User.UserName -EmailAddress $User.Email
}

我得到的错误是:

Set-ADUser : Cannot find an object with identity: 'Smith, John' under: 'DC=abc,DC=wxyz,DC=com'.
At C:\Users\Admin\Documents\Import_AD_Email.ps1:5 char:5
+     Set-ADUser -Identity $User.UserName -EmailAddress $User.Email
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Smith, John:ADUser) [Set-ADUser], ADIdentityNotFoundException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.SetAD 
   User

我认为问题在于我们在特定的 OU 中拥有用户。如何在脚本中指定?

标签: powershellactive-directory

解决方案


最后使用 sAMAccountName 让它工作。这是我的最终脚本:

Import-module ActiveDirectory
$Users = Import-CSV "C:\Users\Admin\Documents\HPD_Users3.csv"
ForEach($User in $Users) 
{
    Set-ADUser -Identity $User.sAMAccountName -EmailAddress $User.Email
}

我的 CSV 文件如下所示:

Email,sAMAccountName 
john.smith@abc.com,jsmith 
jane.doe@abc.com,jdoe

推荐阅读