【发布时间】:2015-08-10 16:26:51
【问题描述】:
我正在使用以下脚本将 100,000 个用户从 CSV 文件导入 Active Directory。但是,我遇到了很多错误,需要您的帮助来消除它们。
脚本:
Import-Csv C:\csv\100Kusers.csv | ForEach-Object {
$userPrinc = $_."Logon Username" + "@mydomain.com"
New-QADUser -Name $_.Name `
-ParentContainer $_."Container" `
-SamAccountName $_."Logon Username" `
-UserPassword "passw0rd123" `
-FirstName $_.FirstName `
-LastName $_."LastName" `
-Description $_."Department" `
-UserPrincipalName $userPrinc `
-DisplayName $_."Name" `
-StreetAddress $_."StreetAddress" `
-City $_."City" `
-State $_."State" `
-PostalCode $_."PostalCode" `
-Email $_."Email" `
-Company $_."Company" `
-Department $_."Department" `
-HomePhone $_."HomePhone" `
-Title $_."Title" `
-Manager $_."Manager" ;`
Add-QADGroupMember -identity $_."Group" -Member $_."Logon Username" ;`
}
这是我得到的错误:
Add-QADGroupMember : Cannot resolve directory object for the given identity: 'jm?lmhx4'.
At C:\csv\PS_import_script.ps1:22 char:2
+ Add-QADGroupMember -identity $_."Group" -Member $_."Logon Username" ;`
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Add-QADGroupMember], ObjectNotFoundException
+ FullyQualifiedErrorId : Quest.ActiveRoles.ArsPowerShellSnapIn.DirectoryAccess.ObjectNotFoundException,Qu
est.ActiveRoles.ArsPowerShellSnapIn.Commands.AddGroupMemberCmdlet2
New-QADUser : A device attached to the system is not functioning.
At C:\csv\PS_import_script.ps1:3 char:2
+ New-QADUser -Name $_.Name `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-QADUser], DirectoryServicesCOMException
+ FullyQualifiedErrorId : System.DirectoryServices.DirectoryServicesCOMException,Quest.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlets.NewUserCmdlet
CSV 看起来像这样:
FirstName Surname Name StreetAddress City State PostalCode EmailAddress Company Department Group HomePhone Title Manager Logon Username Container
Jose Mullane Jose Mul Rue de Li?ge 493 Lompret WLX 6463 JoseLMullane@superrito.com rmit QA QA-FL 0495 94 79 62 Laboratory animal technologist tgatesjr jmuljhk2 dcui.mydomain.com/dcui_OU/Finland/Departments/QA
抱歉,无法添加更多内容 - 当我将纯 CSV 复制到帖子窗口时,格式会变得很疯狂。
【问题讨论】:
-
第一个很明显:
jm?lmhx4不是有效的组名 -
谢谢马蒂亚斯。我认为 Add-QADGroupMember -identity $_."Group" -Member $_."Logon Username" ;` 应该在 CSV 中查找列 Group,然后将用户分配给 AD 中的相应组。我错过了什么?
-
我不起眼的谷歌研究告诉我“New-QADUser:连接到系统的设备无法正常工作。”当 SamAccountName 是 CSV 超过 20 个字符时可能会发生,但在我的情况下不是。
-
绝对是编码问题,但不清楚是否可能需要使用正确的编码重新生成 CSV 文件。注意
Rue de Li?ge 493的街道地址。如果那来自 CSV,那么 CSV 不是 Unicode 编码的。
标签: powershell csv active-directory powershell-3.0