Exchange Server

Exchange Server Well-Known Object Entry Install Error

Exchange Server kurulumu sırasında veya CU yüklediğiniz zaman hata alabilirsiniz, almış olduğunuz hatanın detaylı bilgisi aşağıdaki gibidir;

Error:
The following error was generated when “$error.Clear();
initialize-ExchangeUniversalGroups -DomainController $RoleDomainController -ActiveDirectorySplitPermissions $RoleActiveDirectorySplitPermissions

” was run: “Microsoft.Exchange.Management.Tasks.InvalidWKObjectException: The well-known object entry B:32:B3DDC6BE2A3BE84B97EB2DCE9477E389:CN=Help Desk\0ADEL:535b6109-7390-4593-b9d1-272911680022,CN=Deleted Objects,DC=XXX,DC=local on the otherWellKnownObjects attribute in the container object CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Epstein,DC=local points to an invalid DN or a deleted object. Remove the entry, and then rerun the task.
at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)
at Microsoft.Exchange.Management.Tasks.InitializeExchangeUniversalGroups.CreateGroup(ADOrganizationalUnit usgContainer, String groupName, Int32 groupId, Guid wkGuid, String groupDescription, GroupTypeFlags groupType, Boolean createAsRoleGroup)
at Microsoft.Exchange.Management.Tasks.InitializeExchangeUniversalGroups.CreateRoleGroup(ADOrganizationalUnit usgContainer, RoleGroupDefinition roleGroup)
at Microsoft.Exchange.Management.Tasks.InitializeExchangeUniversalGroups.CreateAndValidateRoleGroups(ADOrganizationalUnit usgContainer, RoleGroupCollection roleGroups)
at Microsoft.Exchange.Management.Tasks.InitializeExchangeUniversalGroups.InternalProcessRecord()
at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

Bu hatayı çözmek için hata çıktısını biraz detaylandırmanız gerekmektedir, çünkü detaylandırdığınız zaman silinmiş bir obje olduğunu göreceksiniz.

ADSI üzerinde “well-known object” değeri silindiği için bu uyarıyı almaktasınız.

CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XX,DC=local yolunu izlerseniz bu obje değerini görebilirsiniz. ADSI üzerinden bu obje için düzenleme yaptığınız zaman izin vermeyecektir, bunun için aşağıdaki powershell’i çalıştırabilirsiniz.

# Get Microsoft Exchange Container
$objDE = New-Object System.DirectoryServices.DirectoryEntry
$ExchangeDN = [string]::Concat("LDAP://CN=Microsoft Exchange,CN=Services,CN=Configuration,", $objDE.distinguishedName)
$objCN = New-Object System.DirectoryServices.DirectoryEntry($ExchangeDN)

$gp = [Reflection.Bindingflags]::GetProperty

# get otherWellKnownObjects Collection
$objCol = $objCN.otherWellKnownObjects
$delCount = 0

# Walk though the Collection backwards (always do that when deleting items)
for ($i=$objCol.Count-1; $i -ge 0; $i--)
{
    $objWKO = $objCol[$i]
    $objType = $objWKO.GetType()
	# Get the distinguishedName
	$DNString = $objType.InvokeMember("DNString", $gp, $null, $objWKO, $null)

    $BV = $objType.InvokeMember("BinaryValue", $gp, $null, $objWKO, $null)
    $Guid = [GUID][System.BitConverter]::ToString($BV).Replace("-", "")

    Write-Host "DNString: $DNString"
    Write-Host "Guid: $Guid"

	# Check if the item was deleted
	if ($DNString.Contains("0ADEL"))
    {
        Write-Host "This is a Deleted Item" -foregroundcolor Red
        # Remove the item (WARNING: No Confirmation asked)
		$objCol.RemoveAt($i)
        Write-Host "Object Removed" -foregroundcolor Red
        $DelCount++
    }
}

# Did we delete something?
if ($DelCount -gt 0)
{
    Write-Host "Commiting Changes" -foregroundcolor Blue
    # Commit changes, remove this line if you just want to test
	# If you don't commit you will not delete anything
	$objCN.SetInfo()
}

Cengiz YILMAZ

5 Yıldır IT Sektörü içerisindeyim, Microsoft ürünleri ile ilgilenmekteyim. Cengiz YILMAZ | MCT |

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu