我正在编写一个脚本来创建安全组和分发组,以便它们遵循我们的命名标准。在脚本中,我使用 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/