PowerShell创建AD账户时CN字段自动加反斜杠问题求助
解决AD账户CN字段逗号转义问题
问题根源
LDAP的可分辨名称(DN)中,逗号是用来分隔不同组件(如CN、OU、DC)的特殊字符。当CN值本身包含逗号时,AD会自动用反斜杠\转义该逗号,确保DN能被LDAP正确解析。你看到的cn=Corbin\, smith是DN的标准格式,并非CN属性值本身被修改。
验证CN属性实际值
先确认CN属性的真实值是否符合预期:
Get-ADUser -Identity $username -Properties cn | Select-Object cn
执行后,输出的cn值应该就是Corbin, smith,转义仅存在于DN的显示格式中,不影响账户的正常使用。
修正命令确保Name参数正确映射CN
如果是因为-Name参数设置错误导致CN不符合预期,修正命令如下(注意使用英文引号,且Name值对应你期望的CN):
# 先确保变量正确赋值 $firstname = "Corbin" $lastname = "smith" $username = "corbins" $oupath = "ou=one,ou=temp,dc=test,dc=com" # 使用正确的New-ADUser命令(原命令中的New-adviser是笔误) New-ADUser -Name "Corbin, smith" ` -AccountPassword (Read-Host -AsSecureString) ` -Enabled $true ` -GivenName $firstname ` -Surname $lastname ` -Path $oupath ` -SamAccountName $username
关键注意事项
- 不要尝试移除DN中的转义符,这会违反LDAP规范,导致后续AD操作(如查询、移动账户)出现解析错误。
- 命令必须使用英文双引号
"",中文引号“”会被PowerShell识别为字符串的一部分,引发异常。
内容的提问来源于stack exchange,提问作者Rxthless
相关产品推荐
相关产品推荐

