Lista de nuevas características de PowerShell 7

La próxima versión principal de PowerShell está disponible y trae algunos cambios significativos. La Séptima versión incluye características como ejecución paralela, módulos de importación para ejecución remota, nuevos operadores y más. En esta publicación, analizamos todas las funciones nuevas de (New)PowerShell 7.0 .

Características de PowerShell 7

Cambios en el directorio de PowerShell

Cuando instale PowerShell 7(install PowerShell 7) , se instalará en un nuevo directorio y se ejecutará junto con PowerShell 5.1 . Si está actualizando desde PowerShell Core 6.x , sobrescribirá el directorio de PowerShell 6(PowerShell 6) y eliminará todos los archivos innecesarios. Aquí está la lista de directorios que debe conocer:

PowerShell 7 está instalado para-

%programfiles%\PowerShell\7

La carpeta % programfiles  %programfiles%\PowerShell\7 se agrega a $env:PATH

Los paquetes de instalación de PowerShell 7(PowerShell 7) actualizan las versiones anteriores de PowerShell Core 6.x :

PowerShell Core 6.x en Windows:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

es reemplazado por 

%programfiles%\PowerShell\7

Linux:

/opt/microsoft/powershell/6

es reemplazado por 

/opt/microsoft/powershell/7

macOS: 

/usr/local/microsoft/powershell/6

es reemplazado por

/usr/local/microsoft/powershell/7

Nuevas características en PowerShell 7

He intentado explicar brevemente cada una de estas características y cómo ayudará a los usuarios de (users)PowerShell . Sin embargo, asegúrese de leer con más detalle en la página oficial de Microsoft .

  1. Paralelización de tuberías
  2. Nuevos operadores
  3. Cmdlet ConciseView y Get-Error
  4. Notificaciones automáticas de nueva versión
  5. Invocar(Invoke DSC) recursos de DSC directamente desde PowerShell 7
  6. capa de compatibilidad

Siempre asegúrese de verificar la variable de entorno(Environment Variable) antes de probar los códigos reales.

1] Paralelización de tuberías

Ahora puede ejecutar o manejar objetos en paralelo en lugar del método de secuencia cuando usa ForEach-Object -Parallel. En nuestra publicación sobre la desinstalación de WIM , este método puede desmontar tres imágenes WIM en poco menos de 10 segundos en lugar de casi 25 segundos cuando se ejecuta en secuencia. Aquí hay un código de muestra para ello:

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] Nuevos operadores

Hay tres nuevos operadores— Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.Estos se comportan como una declaración if-else simplificada. (behaves like a simplified if-else statement.)Facilitan la escritura del código en lugar de usar el bucle If-else todo el tiempo.

3] Cmdlet ConciseView(ConciseView) y Get-Error

Obtener comando de error Let PowerShell 7

ConciseView es una vista seleccionable por el usuario que está habilitada como la vista predeterminada de PowerShell 7 . Si el error no proviene del script, recibirá un error de una sola línea. Sin embargo, si proviene del script o hay un error de análisis, recibirá un mensaje de error de varias líneas y un puntero que muestra en qué línea ocurrió el error.

Luego, tiene un nuevo cmdlet Get-Error que puede ayudarlo a obtener una vista detallada del error cuando lo desee. Puede mostrar todos los detalles, incluidas las excepciones internas, del último error ocurrido.

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ] Notificaciones automáticas de nueva versión(] Automatic)

A partir de PowerShell 7 , el sistema buscará actualizaciones una vez al día y notificará sobre una nueva versión si está disponible. La información se muestra solo al comienzo de las sesiones posteriores. Hay tres indicadores disponibles para la actualización de PowerShell(PowerShell Update)

  • Versiones predeterminadas(Default ) de GA, Preview y RC
  • Desactivado(Off) Â desactiva la función de notificación de actualización
  • LTS Â solo notifica las actualizaciones de los lanzamientos de GA de servicio a largo plazo ( LTS )

Si desea desactivar las notificaciones de actualización en PowerShell 7 , ejecute este comando en la ventana de PowerShell .

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] Invocar(Invoke DSC) recursos DSC directamente desde PowerShell 7

El cmdlet Invoke-DscResource(Invoke-DscResource) ejecuta  un método de un recurso de configuración de estado deseado(PowerShell Desired State Configuration) ( DSC ) de PowerShell especificado. Es una característica experimental.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] Capa de compatibilidad

Permite a los usuarios de PowerShell importar módulos en una sesión implícita de Windows PowerShell . Al usar esto, podrá ejecutar el comando real como una sesión en la computadora remota y devolver los resultados a la sesión local. Ahora que admite la importación de módulos, puede ejecutar estos módulos en computadoras remotas.

PowerShell es un software de código abierto disponible también en Linux y macOS. Es fantástico ver tantas funciones nuevas en PowerShell 7 y esperamos que siga creciendo. Puede leer más sobre esto en Microsoft(about it on Microsoft) .



About the author

Soy técnico informático profesional y tengo más de 10 años de experiencia en el campo. Me especializo en el desarrollo de Windows 7 y Windows Apps, así como en el diseño de Cool Websites. Tengo un gran conocimiento y experiencia en el campo, y sería un activo valioso para cualquier organización que busque hacer crecer su negocio.



Related posts