powershell - 将电子邮件地址导入 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 中拥有用户。如何在脚本中指定?
解决方案
最后使用 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
推荐阅读
- python - Keras:如何减去两个不同模型的输出并馈送到另一个模型?
- qt - QML:更改文本字段中的光标颜色
- php - Laravel - 显示用户所在公司的所有项目
- python - 我想换一会儿
- firebase - 在身份验证后保护移动应用程序的 API
- c++ - 重新排序内存操作的简单示例
- angular - 当应用程序启动时是否可以获取数据,然后使用 forRoot 使用获取的数据初始化我的模块?
- c# - 由于标有 [JsonIgnore] 的空字段值,ASP.NET 核心绑定失败
- angular - 如何避免重复创建具有相同信息的动态组件angular8
- google-app-maker - 以编程方式更改页面大小