Archivos de la categoría: Migracion

Migración de File Server y configuración de los SPN

Hola Mundo:
No hay migración de servicios que no esté acompañada de dolores de cabeza. Especialmente si son servicios críticos para las organizaciones, como es el caso de los servidores de archivos.

Nunca hay que creer cuando comentan que la migración de un File Server es solo mover los archivos de un lugar a otro usando Robocopy y luego hacer el cambio en el servidor DNS para que siga conservando el mismo nombre que el servidor de origen y el cambio sea transparente a los usuarios.

Antes de explicar el cambio de SPN, me gustaría que se entendiera el concepto de SPN en su definición más fundamental.
SPN viene de la sigla de Service Principal Name.
Éstos deben estar asociados a un objeto de Active Directory (cuenta de usuario, grupo o computador) en el cual el servicio se ejecuta. Su función principal es soportar la autenticación mutua entre un cliente y un servicio.

Entonces, la configuración de un SPN consiste en la asociación de un servicio a un objeto de AD. Un objeto de AD puede tener varios SPN asociados, pero un SPN solo puede estar asociado a un objeto de AD. En el caso de que se duplique un SPN, vendrán los problemas.

Cuando se realiza una migración de File Server y posteriormente se hace el cambio en el DNS para que el antiguo servidor apunte al nuevo y se intenta acceder a la ruta, el visor de eventos mostrará un error así:

The Kerberos client received a KRB_AP_ERR_MODIFIED error from the server SRV-NUEVO$. The target name used was cifs/SRV-VIEJO. This indicates that the target server failed to decrypt the ticket provided by the client. This can occur when the target server principal name (SPN) is registered on an account other than the account the target service is using. Ensure that the target SPN is only registered on the account used by the server. This error can also happen if the target service account password is different than what is configured on the Kerberos Key Distribution Center for that target service. Ensure that the service on the server and the KDC are both configured to use the same password. If the server name is not fully qualified, and the target domain (DOMINIO.CL) is different from the client domain (DOMINIO.CL), check if there are identically named server accounts in these two domains, or use the fully-qualified name to identify the server. 

Como el SPN no estaba configurado de forma correcta, no es posible hacer ni mantener la autenticación, por lo tanto, da error.

Para configurar el SPN, se debe hacer con una cuenta con privilegios sobre el dominio.

Eliminando un SPN
Antes de asignar un SPN a un objeto, hay que eliminarlo  del objeto al cual estaba asignado. Se debe seguir la sintaxis:
setspn -D servicio/host ObjetoAD Por ejemplo:

setspn -D host/srv-viejo.midominio.cl srv-viejo
setspn -D host/srv-viejo srv-viejo
setspn -D cifs/srv-viejo.midominio.cl srv-viejo
setspn -D cifs/srv-viejo srv-viejo

De esta forma se elimina los SPN asociados al file server del objeto srv-viejo.

Asociar un SPN
Una vez desasociados los SPN al antiguo objeto, se debe asociar al nuevo objeto. La sintaxis es:
setspn -S servicio/host ObjetoAD Por ejemplo:

setspn -S host/srv-viejo.midominio.cl srv-nuevo
setspn -S host/srv-viejo srv-nuevo
setspn -S cifs/srv-viejo.midominio.cl srv-nuevo
setspn -S cifs/srv-viejo srv-nuevo

De esta forma, el servicio podrá autenticar y mantener la autenticación. El recurso compartido es accesible desde los clientes. Hay que tener un especial cuidado con los clientes con Windows XP. Por que aparte de configurar los SPN correspondientes, también hay que hacer un cambio en el editor del registro de Windows. Seguir la documentación de este link: https://support.microsoft.com/en-us/kb/281308

Más información sobre la herramienta setspn se puede encontrar aqui: https://technet.microsoft.com/en-us/library/cc961723.aspx

Así que para la próxima vez que alguien diga que las migraciones de File Server son un proceso sencillo y sin muchos pasos, es pura fantasía.

Hasta la próxima.

Chau

Error al usar el cmdlet Uninstall-CSDatabase

Hola Mundo:

Cualquier proceso de migración va en la recta final cuando te pones a quitar por completo la antigua
versión.

En el caso de Lync, en una migración de la versión 2010 a la versión 2013, ya los últimos pasos son cuando migras el Central Management Store y desinstalas la base de datos antigua.
Hay un comando que sirve justamente para este propósito. El cmdlet (de Powershell) es Uninstall-CsDatabase.

El cmdlet tiene un montón de parámetros que no los tocaremos ahora. Siempre Technet lo explica mejor que yo: http://technet.microsoft.com/en-us/library/gg412922.aspx

Lo normal, es que siempre que se ejecute la herramienta, termine con un mensaje parecido a este para indicar que todo terminó de forma correcta:

Pero hay veces que termina así:

—————
Exit code: ERROR_ALLOW_DATABASE_ACCESS (-22)
—————
Ok. Que no cunda el pánico. Si esto ocurre es porque:

  1. La cuenta que estás usando no es administrador del SQL Server
  2. La cuenta que estás usando no es administrador local de la máquina de Lync
  3. La cuenta que estás usando no es una cuenta de dominio.
Cumpliendo los 3 puntos, la cosa funcionará.
Chau

Error al mover usuarios de un pool antiguo a un pool nuevo en Lync 2013

Hola Mundo:

Hoy me encontraba moviendo usuarios desde un pool  de Lync 2010 hacia un pool de Lync 2013, en un proyecto de migración hacia la última versión de Lync.

El proceso iba lento, pero suave, hasta que un error salvaje apareció:

Move-CsUser : Move in progress. User “sip:xxxx@yyy.xx” is being moved from “antiguo.yyy.xx” to “antiguo.yyy.xx”. At line:1 char:1 + Move-CsUser -Identity “xxxx@yyy.xx” -Target “nuevo.yyy.xx” + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (CN=XXXX,DC=yyy,DC=xx:OCSADUser) [Move-CsUser], MoveUserException + FullyQualifiedErrorId : MoveError,Microsoft.Rtc.Management.AD.Cmdlets.Mo veOcsUserCmdlet

El error hace referencia a que la cuenta ya se estaba moviendo desde un pool antiguo hacia el mismo pool. Extraña cosa.

Esto es causado porque el atributo de usuario  msRTCSIP-TargetUserPolicies tiene un valor asignado. Para corregir esto:

  1. Abrir ADSI Edit
  2. Buscar al usuario
  3. Limpiar el atributo

Al encontrar el atributo, debieran  verlo así:

 Ese atributo se debe limpiar. Dejar en blanco



Luego de eso, se podrá mover el usuario sin problemas.

Migrando de Windows XP a Windows 7 Error 0x800700C1

Hola Mundo:

Desde que Microsoft eliminó el soporte para Windows XP, muchas empresas han optado por irse a
versiones más nuevas de Windows. Hay algunas que dieron el salto a Windows 8.1, otras son más recatadas y se quedaron en Windows 8 y las más conservadoras migraron a Windows 7.

El proceso en si no es complicado. Los problemas están cuando se está usando la versión 2012 R2 de System Center Configuration Manager.

La migración desde Windows XP a versiones superiores no está soportada por SCCM 2012 R2, pero con la ayuda de actualizaciones y otros componentes podemos lograr el objetivo.

Estos pasos me sirvieron para lograr el objetivo. Sin duda, en internet también hay mucho material y formas de solucionar el problema. La idea es que las experiencias se vayan compartiendo.

Pasos a seguir:

  1. Instalar el CU1 para 2012 R2 si es que no está instalado. Este CU incluye actualizaciones que impedirán que el arranque de Windows XP se destruya, entre otras cosas. Más información sobre esta actualización se puede encontrar en: http://support2.microsoft.com/kb/2938441
  2. Instalar en una máquina cualquiera, que no tenga que ver con la instalación de SCCM 2012 R2, la herramienta Windows Automated Installation Kit (WAIK). Se puede descargar desde: http://www.microsoft.com/en-us/download/details.aspx?id=5753
  3. Generar una imagen de Windows PE 3.1 en la máquina que tiene WAIK instalado y luego agregarle los componentes winpe-Scripting.cab, winpe-WMI.cab y winpe-WDS.cab. Después importarlo a SCCM 2012 R2. Para completar esta tarea, sugiero leer el siguiente enlace: http://omgtechstuff.wordpress.com/2014/08/14/how-to-create-a-winpe-3-1-boot-image-import-it-to-sccm-2012r2/
  4. Crear un paquete USMT 5 desde WAIK. Esto es para realizar la captura de los datos de usuario y configuración de Windows. Sugiero leer el siguiente enlace: http://www.windows-noob.com/forums/index.php?/topic/4512-using-sccm-2012-rc-in-a-lab-part-8-deploying-windows-7-x64/
  5. Realizar la captura de Windows 7 instalado en una partición. Por defecto, Windows 7 crea 2 particiones: Una de arranque y otra de sistema operativo. El problema está que Windows XP solo usa una partición y dará error al momento de plasmar la imagen. Para instalar Windows 7 en una partición sugiero seguir el siguiente link: http://blogs.msdn.com/b/matthew_van_eerde/archive/2009/08/21/forcing-windows-to-install-on-a-single-partition.aspx Para hacer la captura leer el siguiente link: http://prajwaldesai.com/capture-windows-7-using-sccm-2012-r2/
  6. Crear un task sequence que utilice la imagen de booteo recién creada y que aplique la imagen recién capturada. Además, que para capturar los datos de usuario use el paquete de USMT recién creado y que utilice hardlinks para respaldar los datos.


¿Por qué?

Ni SCCM 2012 R2 ni Windows ADK en la última versión son compatibles con el proceso de migración desde Windows XP a Windows 7 o versiones superiores. Es por eso que hay que utilizar mezclas de versiones en los distintos componentes y herramientas utilizadas para éstos propósitos. Lamentablemente, no existe mucha documentación al respecto y si hay está media confusa. 
Si se intenta hacer la actualización sin hacer los pasos que describí antes arrojará error 0x800700C1 y en Google aparecerá el link: https://social.technet.microsoft.com/Forums/en-US/6e934990-999a-4367-860a-3ce4e5eda956/sccm-2012-r2-error-0x800700c1?forum=configmanagerosd y algunas luces dará frente al problema.

Espero que en algo los pueda ayudar.