powershell - Set-ADGroup 找不到刚刚在同一脚本中创建的组 (PowerShell)

标签 powershell active-directory powershell-2.0

我正在编写一个脚本来创建安全组和分发组,以便它们遵循我们的命名标准。在脚本中,我使用 New-DistributionGroup 创建组,使用 Set-DistributionGroup 添加一些自定义属性,然后想要使用 Set-ADGroup 添加说明。 (旁白:New-DistributionGroup 无法执行这些操作真是太痛苦了!)尽管将 sleep 时间设置为最多 30 秒,Set-ADGroup 总是失败,并显示:

Set-ADGroup : Cannot find an object with identity: 'AcctTesting1' under: [our domain].

但是,如果我从 Set-ADGroup 中删除该代码行,运行脚本,然后立即运行 Set-ADGroup 代码,它就可以完美运行。

以下是脚本的相关部分:(我们的域名已删除)

    $GroupTypeName = "Assignment"
    $OU = $BaseOU + "AssignmentGroups"
    New-DistributionGroup -Name $SAMname -Alias $Alias -DisplayName $DisplayName -ManagedBy `
        "CN=Administrator,CN=Users,[our domain]" -OrganizationalUnit $OU `
        -SamAccountName $SAMname -Type Security
    Set-DistributionGroup -Identity $SAMname -CustomAttribute10 "ASSIGNMENT GROUP" `
        -CustomAttribute11 $PRMCode
    echo "Waiting for new group to replicate"
    Start-Sleep -s 20
    Set-ADGroup -Identity $SAMname -Description "$Alias AssignmentGroup"

我对 PowerShell 脚本编写相对较新,因此如果您有解决此问题的想法,我希望能提供一些详细信息!

最佳答案

您可以尝试以下方法,

您可以指示 New-DistributionGroup 在特定 DC 上创建组(使用 DomainController 参数)。 New-DistributionGroup 发出该组,以便您可以将该组通过管道传输到 Set-DistributionGroup 并设置所需的属性。最后,您可以使用 Set-ADGroup -Server 参数从 DC 获取组。

New-DistributionGroup -DomainController DC1 -Name $SAMname ... | Set-DistributionGroup -CustomAttribute10 "ASSIGNMENT GROUP" -CustomAttribute11 $PRMCode 

Set-ADGroup -Server DC1 -Description "$Alias AssignmentGroup"

关于powershell - Set-ADGroup 找不到刚刚在同一脚本中创建的组 (PowerShell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9917513/

相关文章:

powershell - 通过Powershell获取时间信息

powershell - 如何在Powershell中将输入文件中的值添加为导出的输出文件中的列?

c# - 使用 Azure Function 更新本地 AD 用户配置文件

windows - 电源外壳 : ftp directory listing (help on a script)

xml - XML文件格式-删除杂散CRLF

powershell - 返回远程计算机上指定注册表项的 LastWriteTime

powershell - 使用 PowerShell 2.0 检查 DNS 记录

访问失败的 COM 属性时,Powershell 返回 null 而不是异常

c# - PowerShell中的对象相等标准是什么?ServiceController如何定义Equals方法?

c# - 从 Active Directory 中检索包含电子邮件地址的 C# 列表