【发布时间】:2017-11-22 01:08:31
【问题描述】:
我的任务是使用 PowerShell 创建多个活动目录组。问题是所有组名都包含双冒号“::”(命名标准早在我加入之前就已创建!)。
运行以下命令时:
NEW-ADGroup –name "XX123::Test_Group_Creation" –groupscope Global –path "OU=TestOU,DC=TestDomain,DC=local"
收到以下错误:
NEW-ADGroup : 提供的名称不是格式正确的帐户名称 在行:1 字符:1 + NEW-ADGroup –name "XX123::Test_Group_Creation" –groupscope Global –path "OU=Test ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (CN=XX123::Test_...Domain,DC=local:String) [New-ADGroup], ADException + FullyQualifiedErrorId : 服务器不愿意处理请求,Microsoft.ActiveDirectory.Management.Commands.NewADGroup
如果您手动创建组(在 gui 中),您会收到以下警告,但您仍然可以创建它:
我该如何解决这个问题。供参考。我试图用反勾号和正斜杠来逃避冒号,但都没有奏效
【问题讨论】:
-
仔细阅读 GUI 错误信息。它告诉您“pre-Windows 2000 组名”包含非法字符。那就是
sAMAccountName属性。这意味着当您使用New-ADGroup时,您不得在该属性中使用这些字符或将它们替换为_字符(GUI 会在通知您之后礼貌地为您做这些)。 -
@Bill_Stewart。感谢那。如果我在已经创建的组上执行
get-adgroup groupname -properties *,samAccountname属性确实会被下划线替换,但是有一个name属性仍然有冒号。我想我的问题是如何修改name属性 -
冒号在
name中有效,但在sAMAccountName中无效。因此,您只需更改sAMAccountName即可在 AD 中使用。 -
我强烈建议不要在用户名或组名中使用文件名和文件夹名中不允许使用的字符。
-
@Bill_Stewart。非常感谢你是对的 - 我还必须指定
samaccountname否则它会尝试使用为name指定的内容。请随意回答,我会将其标记为正确
标签: powershell