【问题标题】:How to create a group with special characters using Powershell如何使用 Powershell 创建具有特殊字符的组
【发布时间】: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


【解决方案1】:

: 字符对sAMAccountName 属性无效,因此创建组时需要将: 替换为另一个字符(GUI 使用_)。您可以使用 -replace 运算符在 PowerShell 中轻松完成此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2012-08-03
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2012-04-22
    相关资源
    最近更新 更多