PowerShell 1.0 para Windows Server 2003 viene como parte del Service Pack 1 y para estas alturas ya contamos con Service Pack 2 instalado. Si deseas hacer una actualización “upgrade” de tu servidor Windows Server 2003 a Windows Server 2008 desde el mismo equipo “in place” el agente de compatibilidad de Windows Server 2008 requiere que se desinstale PowerShell 1.0 para proceder con el In Place Upgrade, el problema es que cuando buscamos PowerShell 1.0 en la lista de programas para removerlo, no lo vemos debido a que este viene dentro de un service pack, por lo tanto tendríamos que desinstalar los Service Packs para proceder conforme se requiere.
Sin embargo, es delicado desinstalar Service Packs dado que estos modifican funcionalidad del sistema y en mi caso muy particular no quiero exponer componentes tan críticos como el directorio activo configurado desde hace varios años.
¿Solución?
Recurrir a modificar el registro de Windows para borrar la entrada que indica que PowerShell 1.0 ha sido aprisionado. En este artículo http://support.microsoft.com/kb/926140 encuentras la entrada del registro de Windows que tienes que eliminar para aparentar que no se tiene PowerShell 1.0 instalado.
HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowershell1Install contiene 1 como su valor, entonces lo eliminas y listo.
Ya puedes proceder con tu In Place Upgrade de Windows Server 2008.
Estas son algunas de las cosas arriesgadas que un programador se atreve a hacer cuando realiza operaciones de administrador de infraestructura. Favor de tomar este consejo con discreción y evaluar muy bien. Usar este consejo es bajo tu propio riesgo.
Suerte y tener en consideracion esto http://technet.microsoft.com/en-us/library/cc731003%28WS.10%29.aspx
Originalmente publicado en msmvps.com