Erro ao promover o servidor 2012 R2 para o controlador de domínio no domínio 2003

7

Ao tentar promover uma máquina do 2012 R2 como um controlador de domínio em um domínio de nível de domínio / floresta de 2003, recebo o seguinte erro quando ela passa pelos procedimentos adprep e forestprep:

ADPrep execution failed --> System.ComponentModel.Win32Exception (0x80004005): A device attached to the system is not functioning. Check the log files in the C:\Windows\debug\adprep\logs160128201714 directory for detailed information.

O log ADPrep mostra o seguinte erro:

[2016/01/28:20:17:14.402] The command line passed to ldifde is ldifde -i -f "C:\Windows\system32\adprep\sch32.ldf" -s "ral-ad1.AD.mydomain.com" -h -j "C:\Windows\debug\adprep\logs160128201714" -$ "C:\Windows\system32\adprep\schupgrade.cat" [2016/01/28:20:17:33.382] ERROR: Import from file C:\Windows\system32\adprep\sch32.ldf failed. Error file is saved in C:\Windows\debug\adprep\logs160128201714\ldif.err.32.

If the error is "Insufficient Rights" (Ldap error code 50), please make sure the specified user has rights to read/write objects in the schema and configuration containers, or log off and log in as an user with these rights and rerun forestprep. In most cases, being a member of both Schema Admins and Enterprise Admins is sufficient to run forestprep. [2016/01/28:20:17:33.393] Adprep was unable to upgrade the schema on the schema master.

[Status/Consequence]

The schema will not be restored to its original state.

[User Action]

Check the Ldif.err log file in the C:\Windows\debug\adprep\logs160128201714 directory for detailed information. [2016/01/28:20:17:33.393] Adprep was unable to update forest information.

[Status/Consequence]

Adprep requires access to existing forest-wide information from the schema master in order to complete this operation.

O log ldiff.err.32 mostra

15: CN=User,CN=Schema,CN=Configuration,DC=AD,DC=mydomain,DC=com Entry DN: CN=User,CN=Schema,CN=Configuration,DC=AD,DC=mydomain,DC=com Add error on entry starting on line 232: Unwilling To Perform

The server side error is: 0x20c5 Schema update failed: class in aux-class list does not exist or is not an auxiliary class.

The extended server error is:

000020C5: SvcErr: DSID-03260249, problem 5003 (WILL_NOT_PERFORM), data 8389

A linha 232 do sch32.ldf é a seguinte

dn: CN=User,CN=Schema,CN=Configuration,DC=X changetype: ntdsSchemaModify add: systemMayContain systemMayContain: 1.2.840.113556.1.4.1929

Parece que está tentando modificar o esquema do usuário e falhando. Verifiquei que minha conta de usuário está nos grupos de administradores do Esquema \ Domínio \ Empresa. Também verifiquei que esses grupos têm acesso de gravação ao contêiner Schema usando adsiedit. O sucesso mais próximo que encontrei foi este . Onde MS MVP Ned Pyle indicado em comentários, poderia ter sido causado por uma ferramenta de terceiros incorretamente estendendo o atributo anteriormente. Recomendar o usuário contate o suporte da Microsoft. Meu palpite é que a Microsoft não suporta mais o Windows 2003, então esse caminho pode não ir muito longe. alguém viu isso antes? Obrigado por qualquer ajuda.

    
por floyd 29.01.2016 / 04:39

1 resposta

10

Você pode se surpreender com a resposta obtida do suporte da Microsoft, já que esse problema parece não ser tão importante quanto ao suporte ao Server 2003, pois trata-se de um roadblock que impede sua migração para o 2012 R2. Pelo menos, você deveria girar dessa maneira.

Também tenho quase certeza de que isso se deve à personalização do esquema. Geralmente, é por software de terceiros, mas às vezes pode ser algo como uma instalação do Exchange corrompida. Você provavelmente pode adaptar seu esquema para que possa atualizá-lo, mas lembre-se de que isso pode interromper o software que originalmente fez a modificação do esquema em primeiro lugar.

O seguinte é fornecido sem garantia e sem garantia. Tente isso por sua conta e risco. Tente em um laboratório primeiro, se possível. A coisa certa a fazer seria ligar para a Microsoft e ver se eles vão te ajudar antes de tentar você mesmo.

Descarregar a definição de classe de usuário do esquema:

ldifde -d "CN=User,CN=Schema,CN=Configuration,DC=contoso,DC=com" -f user.txt

Procure no arquivo por qualquer campo auxiliaryClass . Você provavelmente verá shadowAccount , posixAccount e possivelmente outros.

Para cada uma dessas classes auxiliares, faça o dump de suas definições de esquema também, da mesma forma que você acabou de eliminar a definição de classe User.

Em cada uma dessas definições de classes auxiliares, inspecione sua propriedade objectClassCategory . É 1? Se assim for, deve ser 3. Mude para 3.

objectClassCategory está documentado aqui:

link

4 bytes. Structural 1, abstract 2, auxiliary 3. Class 88, 0 should not be used.

Uma classe auxiliar deve ter um valor de 3. Se uma classe auxiliar tiver um valor de 1, alguém cometeu um erro ao modificar o esquema. Altere-o para 3 e permita que o AD replique o esquema e, em seguida, tente o adprep novamente.

A mensagem de erro que você postou:

The server side error is: 0x20c5 Schema update failed: class in aux-class list does not exist or is not an auxiliary class.

Faz muito mais sentido agora no contexto do que descrevi acima.

    
por 29.01.2016 / 15:35