2012-12-07 39 views
0

,當用戶更改他們的名字,因此我重新命名他們的AD對象,更改其Exchange(2007年)的屬性,然後根據這些變化,我更改它所在的信息存儲區。的PowerShell:重命名AD對象後,移動郵箱無法找到所以在我的腳本對象

我在檢索郵箱時顯式地在$ newDN中存儲新的DistinguishedName,顯式地嘗試使用DC01.domain.local,然後當我嘗試執行移動時,它會嘗試搜索在DC02.domain.local上,因此由於複製滯後而未找到該對象,並在下面收到此錯誤。任何人有任何想法呢?非常感謝!

的StatusCode:-1056749240 StatusMessage:發生在步驟錯誤:批准對象。無法打開對象「LDAP://DC02.domain.local/CN=di利瑪\,羅伯特,OU =用戶,DC =域,DC =本地」錯誤:有在服務器上沒有這樣的對象。

$mailbox = Get-Mailbox -ID $newDN ` 
    -DomainController DC01.domain.local 

$mailbox | Move-Mailbox ` 
    -TargetDatabase $targetIS ` 
    -Confirm:$False ` 
    -DomainController DC01.domain.local ` 
    -GlobalCatalog DC01.domain.local 

有時移動工作的,但它沒有,它留下的財產SourceDomainController空(如下圖所示),在這裏就好像它的工作,它與DC01.domain.local正確填充。

SourceServer      : CCR.domain.local 
SourceDatabase     : CCR\IS1\IS1 
SourceGlobalCatalog    : DC01.domain.local 
SourceDomainController   : 
TargetGlobalCatalog    : DC01.domain.local 
TargetDomainController   : DC01.domain.local 
TargetMailbox     : 
TargetServer      : CCR.domain.local 
TargetDatabase     : CCR\IS2\IS2 

擋板。

+0

是否可以簡單地添加一個while循環是這樣的:而(!$ newUserObject -and $ TIMEDOUT){...(試圖讓newUserObject,看看它是否已經太長,因爲我們開始。並在循環之間休眠10秒)...} –

+0

@ChrisN是的,可以這樣做,但我真的想回到爲什麼它不使用明確聲明的域控制器的問題。感謝您的回覆! – cluckinchicken

回答

0

嗯,我有不知道爲什麼我收到我的結果,但我的解決辦法是在這裏...就像我之前說的,我查詢/寫我的所有廣告更改爲「DC01.domain。本地」但是現在,當我把我的功能,我做我的信箱查找‘DC02.domain.local’。如果查找失敗,請增加計數器,休眠約20秒,然後重試。我最初的測試,它只需要循環一次。

$dc = "DC01.domain.local" 

Function moveDB ($targetIS, $newDN, $counter) { 

$dn = (Get-Mailbox -ID $newDN -DomainController $dc).DistinguishedName 

If (!(Get-Mailbox $dn -DomainController "DC02.domain.local")) { 
    $counter++ 
    If ($counter -le 4) { 
     Write-Host "`nPlease wait while I search for the mailbox object...`n" -ForegroundColor Yellow -BackgroundColor Red 
     Start-Sleep -Seconds 20 
     moveDB $targetIS $dn $dbCounter 
    } 
    Else { 
     Write-Host "Mailbox was not moved! Please move manually to $targetIS..." -ForegroundColor Yellow -BackgroundColor Red 
     return 
    } 
} 
Else { 
    $dn | Move-Mailbox ` 
     -DomainController $dc ` 
     -GlobalCatalog $dc ` 
     -TargetDatabase $targetIS ` 
     -Confirm:$False 
    } 
} 
相關問題