我需要在 AD 中的一个 OU 中添加大约 500 个用户
我已经编写了我需要的所有内容,但是它给出了错误:
the name provided is not a properly formed
以下是脚本
New-ADUser -Name C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
我进行了几次测试来确认问题是什么:
New-ADUser -Name "C080CAB1-9756-409F-914D-AE3971F67DE7" -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
New-ADUser -Name 'C080CAB1-9756-409F-914D-AE3971F67DE7' -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
New-ADUser -Name C080CAB1`-9756`-409F`-914D`-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
还有其他一些变化
什么起作用了:
New-ADUser -Name C080CAB1-9756-409F -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
所以我认为这可能是一个长度问题,但我不确定如何让脚本发挥作用。
答案1
您是否希望将名称显示为 36 个字符的字符串或将登录名显示为 36 个字符的字符串
如果您使用的是服务器 2012 R2,则只能将显示名称设置为 20 个字符,但是使用“-UserPrincipalName”,登录名最多可以有 64 个字符(我认为)
尝试这个
New-ADUser -Name C080CAB1-9756-409F-9 -UserPrincipalName C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
这将创建显示名称并截断 -UserPrincipalName 的值,该值将成为用户的用户登录名。
查看任何用户的属性以设置适当的标志。
http://thenerdservice.com/useradd.png
您可以看到 200 之前的登录信息被截断,但用户登录名没有被截断
答案2
sAMAccountName 限制为 20 个字符。没有真正的解决方法。有趣的是,为其保留了 256 个字符(~120 个 Unicode),但目录服务引擎只允许您使用 20 个。
编辑:让我再说清楚一点。你能有一个超过 20 个字符的名称,但不是 sAMAccountName。这可能适合您的需求。让我演示一下:
New-ADUser C080CAB1-9756 # 20 character limit here
Rename-ADObject 'CN=C080CAB1-9756,CN=Users,DC=lab,DC=com
Get-ADUser C080CAB1-9756
DistinguishedName: CN=C080CAB1-9756-409F-914D-AE3971F67DE7,CN=Users,DC=lab,DC=com
Name : C080CAB1-9756-409F-914D-AE3971F67DE7
SamAccountName : C080CAB1-9756
DisplayName :