Exchange Server Vous pouvez rencontrer l'erreur suivante lors de l'installation ou lors de l'installation d'une mise à jour cumulative (CU) :
Erreur lors de l'installation du serveur Exchange et de la CU
Cette erreur se produit lorsqu'un "objet bien connu" entrée Le tiering Active DirectoryCela se produit car il pointe vers un objet supprimé ou invalide dans . Le problème est qu'un pointeur vers un objet supprimé est toujours actif dans la configuration.
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 DeskADEL: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)”.
Solution à l'erreur d'installation d'entrée d'objet bien connue d'Exchange Server
Pour résoudre cette erreur, vous devez détailler un peu la sortie d'erreur, car lorsque vous la détaillerez, vous verrez qu'il s'agit d'un objet supprimé.
Recherche et suppression de l'objet problématique avec ADSI Edit :
- Recherche et suppression de l'objet problématique avec ADSI Edit :
- Ouvrez l'outil d'édition ADSI (
adsiedit.msc
). CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=XX,DC=local
Suivez le chemin et examinez l'objet problématique situé à cet endroit.
- Ouvrez l'outil d'édition ADSI (
- Suppression des entrées d'objets problématiques bien connues avec PowerShell :
- Effacez les entrées d'objet connues qui pointent vers des objets supprimés en exécutant le script PowerShell ci-dessous. Ce script recherche les entrées pertinentes et supprime celles supprimées.
# 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()
}
Attention : Ce script effectue directement les modifications et ne demande pas de confirmation. Après l'avoir essayé dans l'environnement de test, appliquez-le dans l'environnement réel. Si les modifications apportées sont incorrectes, elles peuvent être irréversibles.
Résultat : ces étapes résolvent les problèmes rencontrés lors des processus d'installation et de mise à jour d'Exchange Server. « Exception d'objet WK non valideCela aide à résoudre le problème. Vous devrez peut-être redémarrer les services Exchange pour que les modifications soient appliquées et que le système se stabilise.
Merci monsieur, vous êtes génial, j'essaye depuis des heures. Votre article était la solution :)