Powershell Active Directory新ADObject
我正在构建一个Powershell脚本来管理通讯组和联系人 但是当我创建一个新的distributiongroup时Powershell Active Directory新ADObject,powershell,active-directory,powershell-2.0,exchange-server,Powershell,Active Directory,Powershell 2.0,Exchange Server,我正在构建一个Powershell脚本来管理通讯组和联系人 但是当我创建一个新的distributiongroup时 function GroupAddGroup([string] $GroupName) { $newGroup = New-DistributionGroup $GroupName; return $newGroup.Name } 我必须等待5到60秒,直到我可以访问添加成员的组等等 问题是:我为什么要等待?如果一次需要65秒或300秒,最好的解决方法是什么?问
function GroupAddGroup([string] $GroupName)
{
$newGroup = New-DistributionGroup $GroupName;
return $newGroup.Name
}
我必须等待5到60秒,直到我可以访问添加成员的组等等
问题是:我为什么要等待?如果一次需要65秒或300秒,最好的解决方法是什么?问题可能是由于复制延迟。例如,它正在等待新创建的组复制到另一个域控制器或全局编录。请注意,在将通用组复制到全局目录之前,无法修改它 我自己没有尝试过,但我认为要解决这个问题,最简单的方法是更改流中的对象创建顺序。您不应该先创建通讯组,然后创建联系人,而应该先创建联系人对象,然后创建通讯组。在创建通讯组时,指定-Members并传入新创建的联系人对象
如果New DistributionGroup抱怨它也找不到新创建的联系人对象,那么您可以尝试的下一件事是指定域控制器,以便在执行新的MailContact和New DistributionGroup时由-DomainController使用。我发现到目前为止,它工作正常:
function DistributionGroupExists([string] $Identity)
{
$timer = [diagnostics.stopwatch]::startnew()
while ($timer.elapsed.totalseconds -lt 30){
if (Get-DistributionGroup $Identity){
break
}
else
{
start-sleep -seconds 5
}
}
$timer.stop()
if (!(Get-ADObject $Identity)){Write-host "Warning: Mailbox creation failed for $user after $($timer.elapsed.totalseconds) seconds."}
else {write-host "Mailbox creation successful for $user in $($timer.elapsed.totalseconds) seconds"}
}
问题是什么?如何等待?阅读:@ravikanth我已经编辑了我的问题,非常感谢!