Archivo

Posts Tagged ‘Domain Level’

Rollback Forest/Domain functional level o como volver atrás el nivel funcional de tu Dominio o Foresta

Si elevaste el nivel funcional de tu dominio y tenias aplicaciones legacy que no son compatibles… bueno, no hay solución…

Sería un post muy corto, y triste, si eso aún fuese cierto.

Por suerte para nuestras aplicaciones legacy, con la introducción de Windows Server 2008 también se incluyó la capacidad de hacer rollback a nuestro nivel funcional ya sea tanto de nuestro dominio como de nuestra foresta.

Para poder realizar este cambio deberá realizar los siguientes pasos:

 

1. Si tienes alguna version inferior a Windows Powershell 3.0 deberás importar el módulo de AD (o abrir directamente el acceso directo de Active Directory Powershell):

Import-Module –Name ActiveDirectory

2a. Verificar el nivel actual del Forest

Get-ADForest | ft Name,ForestMode –Autosize

2b. Verificar el nivel actual del Dominio

Get-ADDomainMode | ft Name,DomainMode – Autosize

3a. Cambiar el nivel funcional del Forest

Set-ADForest –Identity “MiForesta.com” –ForestMode Windows2008Forest

 

3b. Cambiar el nivel funcional del Dominio

Set-ADDomain –Identity “MiDominio.com” –ForestMode Windows 2008Domain

 

4. Verificar el nivel actual del dominio o de la foresta utilizando el punto 2a o el 2b dependiendo del caso.

 

Importante: Aún el soporte oficial de Microsoft estipula que solo se puede elevar el nivel funcional de un dominio o foresta productiva, por lo que el procedimiento descrito solo debe ser usado en ambientes de laboratorio o bajo un caso de soporte de Microsoft en donde se haya evaluado el impacto de realizar este rollback.

Elevando el nivel funcional de tu dominio? lee esto antes de comenzar

Elevar el nivel funcional de un dominio es un proceso simple de realizar que no debiese requerir mayor planeamiento que evaluar el impacto de las aplicaciones legacy que pudiesen requerir un nivel funcional inferior.

Sin embargo a veces esto no es del todo cierto… Si vamos a elevar nuestro nivel funcional desde Windows Server 2003 a Windows server 2008/2008R2/2012/2012R2 debemos considerar que la contraseña del servicio KRBTGT (Key distribution service center account) será reseteado.

Si bien esto generalmente no tiene mayor impacto (incluso es parte de nuestro procedimiento de recuperación de desastres) sobre las aplicaciones, hay situaciones en las que las aplicaciones que consumen nuestro dominio de ActiveDirectory no pueden autenticar a los clientes conectados (Hello Exchange!!).

Debido a esto debemos tener la siguiente precaución al elevar el nivel funcional de nuestro dominio:

 

1. Luego de elevar el nivel funcional, debemos conectarnos a nuestro servidor de Active Directory de Windows Server 2003 en busca de los eventos EventID 14 KDCEVENT_NO_KEY_INTERSECTION_AS (Microsoft-Windows-Kerberos-Key-Distribution-Center) y EventID 10 KDCEVENT_KRBTGT_PASSWORD_CHANGE_FAILED (Microsoft-Windows-Kerberos-Key-Distribution-Center).

2. Si no vemos estos eventos logueados luego de unos minutos (asegurense que hay usuarios iniciando sesión o utilizando Exchange…), debemos realizar nuestras pruebas para asegurarnos de que esta todo bien.

 

3. Si vemos estos eventos… mala suerte en el trabajo, buena suerte en el amor (o algo así), debemos resolver nuestro problema de autenticación de usuarios simplemente reiniciando el servicio de KDC en todos nuestros controladores de dominio.

 

¿Como?

  • Opción 1: Debemos ir a la consola de servicios (Services.msc) y reiniciar el servicio Kerberos Key Distribution Service.
  • Opción 2: Utilizar una consola de comandos (CMD) con permisos administrativos y ejecutar la linea “SC \\ComputerName Stop kdc” (en donde ComputerName es nuestro controlador de dominio) y luego “SC \\ComputerName Start kdc”.
  • Opción 3: Utilizar Powershell “Get-Service KDC –ComputerName Computer | Restart-Service” (en donde Computer es nuestro controlador de dominio).
  • Opción 4: Utilizar Powershell y hacer el cambio masivo en todos los controladores. Personalmente no recomiendo esta opción ya que podría dejar usuario sin servicio durante el reinicio de los servicios (valga la redundancia). Siempre es mejor realizar el proceso de manera manual. Pero sin son Vikingos y no le temen a nada, esta sería la forma de hacerlo:
    • Abrir un Windows Powershell con permisos administrativos
    • $DC=Get-ADDomainController
    • Get-Service KDC –ComputerName $DC | Restart-Service

Happy updates!!