Si decides instalar PowerShell 5.1, he creado un tutorial técnico con algunos scripts para automatizar este proceso para ti. Descargo de responsabilidad: Todo el código mencionado en esta publicación es tal cual. Algunos pueden funcionar, otros pueden no funcionar en tu entorno, pero si no tienes nada para empezar, servirá como una plantilla para que comiences.
Si necesitas ayuda para encontrar qué versión de PowerShell estás utilizando, te recomiendo que consultes Cómo verificar tu versión de PowerShell (¡Todas las formas!).
Paso #1: Descubrimiento
El primer paso para realizar una actualización de PowerShell en toda la empresa es el descubrimiento. ¿Cómo es el panorama actualmente? No puedes cambiar algo sin entenderlo primero, y sorprendentemente, muchas organizaciones no tienen idea de lo que tienen!
Sistemas operativos existentes
La primera tarea es entender qué sistemas operativos tienes actualmente y en cuáles te gustaría tener PowerShell 5.1. Aunque, en algunos sistemas, es posible que ya hayas decidido instalar PowerShell 5.1 sin saberlo. PowerShell 5.1 se lanzó como una herramienta incluida en la actualización de aniversario de Windows 10 y en la versión RTM de Windows Server 2016, por lo que si tienes alguno de esos sistemas operativos o más recientes, ya estás listo para continuar.
Para los demás, asegúrate de reunir una lista. ¿No tienes una herramienta de gestión de sistemas como SCCM? ¡No hay problema! ¡Usa PowerShell para ayudarte con PowerShell! Si tienes Active Directory, aquí tienes una línea de comando rápida para tener una visión general de lo que hay disponible.
¿Cómo es tu entorno? ¿Tienes alguna máquina antigua con Windows XP o Server 2003? Si es así, estás de mala suerte. Lo mejor que puedes hacer allí es PowerShell v2, pero si todavía tienes algunas de esas máquinas en tu entorno, ¡PowerShell es lo menos de tus preocupaciones! Para cualquier sistema operativo que tenga Windows 7 SP1/Windows Server 2008R2 SP1 o superior, se puede instalar PowerShell 5.1.
Creando una lista de requisitos previos
En los sistemas operativos correspondientes, PowerShell 5.1 tiene algunos requisitos previos y requisitos que cumplir antes de que funcione.
- Debe tener instalado al menos .NET Framework 4.5.2. Esto no es un requisito de instalación y la instalación seguirá adelante, pero algunas características no funcionarán, así que ¡hágalo de una vez!
- No se debe instalar PowerShell 5.1 Preview
- En máquinas con Windows 7 o Server 2008R2 con PowerShell v3 instalado, debe guardar el valor de
PSModulePath
o primero actualizar a v4. - En máquinas con Windows 7 o Server 2008R2, si usa DSC, asegúrese de habilitar WinRM.
- La instalación requerirá reiniciar, así que asegúrese de programarlo.
Porque soy perezoso y quiero que tú también lo seas, aquí tienes un pequeño script que preparé para que puedas empezar a descubrir qué tipo de trabajo previo se necesita. Para el requisito de WinRM, podrías incluir código de este script mío, ya que estás accediendo a cada máquina. Aunque debes saber que este enfoque requiere que cada computadora tenga habilitado PowerShell Remoting.
Asegúrese de que los scripts existentes se ejecuten con PowerShell 5.1.
Aunque los miembros del equipo de PowerShell me han dicho que todos los scripts deberían funcionar con PowerShell 5.1, no siempre es así. Para cualquier código que ejecute procesos críticos para el negocio, siempre recomiendo instalar 5.1 en el mismo sistema operativo de otra máquina y realizar todas las pruebas de esa manera solo para estar seguro.
Paso #2: Implementación
Una vez que haya completado todos los requisitos previos y esté listo para comenzar a implementar PowerShell 5.1, el siguiente paso es hacerlo. La implementación de 5.1 es similar a otras implementaciones de software. La forma en que lo hagas depende de las herramientas que ya tengas. Por ejemplo, si tienes Active Directory y quieres usar GPO, puedes seguir ese camino, SCCM también funcionaría. Intento ser agnóstico al producto aquí, así que aquí está cómo lo haría con PowerShell, por supuesto.
Primero, crearé una carpeta en mi máquina local llamada C:\PowerShellDeployment
. Luego, descargaré la(s) versión(es) apropiada(s) que necesito en esa carpeta y obtendré una copia de psexec mientras estoy en eso. Después, como PowerShell no puede actualizarse a sí mismo, necesitamos recurrir a un buen y viejo VBScript. Aquí hay un pequeño script que creé hace mucho tiempo para que puedas comenzar. Lo guardaré en C:\PowerShellDeployment\installPs.vbs
.
Una vez que haya guardado el VBS en su máquina local, cree un script de PowerShell como este y guárdelo en algún lugar.
Ejecute el script anterior, y verificará si la computadora está en línea, copiará el instalador de PowerShell y el VBS en la computadora remota, lo ejecutará, limpiará después de sí mismo y reiniciará la computadora. Como siempre, programe esto en una ventana de mantenimiento. La instalación de PowerShell requiere un reinicio, y esto lo hará sin ninguna consideración.