Compartir a través de


about_Windows_PowerShell_5.0

DESCRIPCIÓN BREVE

Describe las nuevas características que se incluyen en Windows PowerShell 5.0.

DESCRIPCIÓN LARGA

Windows PowerShell 5.0 incluye nuevas características significativas que amplían su uso, mejoran su facilidad de uso y le permiten controlar y administrar entornos basados en Windows de forma más fácil y completa.

Windows PowerShell 5.0 es compatible con versiones anteriores. Los cmdlets, proveedores, módulos, complementos, scripts, funciones y perfiles diseñados para Windows PowerShell 4.0, Windows PowerShell 3.0 y Windows PowerShell 2.0 suelen funcionar en Windows PowerShell 5.0 sin cambios.

Windows PowerShell 5.0 se instala de forma predeterminada en Windows Server Technical Preview y Windows Technical Preview. Para instalar Windows PowerShell 5.0 en Windows Server 2012 R2, Windows 8.1 Enterprise o Windows 8.1 Pro, descargue e instale Windows Management Framework 5.0. Asegúrese de leer los detalles de la descarga y cumplir todos los requisitos del sistema antes de instalar Windows Management Framework 5.0 Preview.

También puede leer sobre los cambios en Windows PowerShell 5.0 en Novedades de Windows PowerShell.

NUEVAS CARACTERÍSTICAS

Nuevas características de Windows PowerShell

  • A partir de Windows PowerShell 5.0, puede desarrollar mediante clases, mediante sintaxis formal y semántica similar a otros lenguajes de programación orientados a objetos. Class, Enum y otras palabras clave se han agregado al lenguaje de Windows PowerShell para admitir la nueva característica. Para obtener más información sobre cómo trabajar con clases, consulte about_Classes.

  • En colaboración con Microsoft Research, se ha agregado un nuevo cmdlet, ConvertFrom-String. ConvertFrom-String permite extraer y analizar objetos estructurados del contenido de cadenas de texto. Para obtener más información, vea ConvertFrom-String.

  • Un nuevo módulo, Microsoft.PowerShell.Archive, incluye cmdlets que permiten comprimir archivos y carpetas en archivos de archivo (también conocidos como ZIP), extraer archivos de archivos ZIP existentes y actualizar archivos ZIP con versiones más recientes de archivos comprimidos dentro de ellos.

  • Un nuevo módulo, OneGet, le permite descubrir e instalar paquetes de software en Internet. El módulo OneGet es un administrador o multiplexor de administradores de paquetes existentes (también llamados proveedores de paquetes) para unificar la administración de paquetes de Windows con una única interfaz de Windows PowerShell.

  • Un nuevo módulo, PowerShellGet, permite buscar, instalar, publicar y actualizar módulos y recursos de DSC en la Galería de recursos de PowerShell o en un repositorio de módulos interno que se puede configurar mediante la ejecución del cmdlet Register-PSRepository.

  • New-Item, Remove-Item y Get-ChildItem se han mejorado para admitir la creación y administración de enlaces simbólicos. El parámetro ItemType para New-Item acepta un nuevo valor, SymbolicLink. Ahora puede crear vínculos simbólicos en una sola línea ejecutando el cmdlet New-Item.

  • La transcripción de Windows PowerShell se ha mejorado para que se aplique a todas las aplicaciones de hospedaje (como Windows PowerShell ISE) además del host de consola (powershell.exe). Las opciones de transcripción (incluida la habilitación de una transcripción de todo el sistema) se pueden configurar habilitando la opción Activar directiva de grupo de transcripción de PowerShell, que se encuentra en Plantillas administrativas/Componentes de Windows/Windows PowerShell.

  • Una nueva característica de seguimiento de scripts detallados permite habilitar el seguimiento y el análisis detallados del uso de scripts de Windows PowerShell en un sistema. Después de habilitar el seguimiento detallado de scripts, Windows PowerShell registra todos los bloques de scripts en el registro de eventos de seguimiento de eventos para Windows (ETW), Microsoft-Windows-PowerShell/Operational.

  • A partir de Windows PowerShell 5.0, los nuevos cmdlets de sintaxis de mensajes criptográficos admiten el cifrado y el descifrado de contenido mediante el formato estándar IETF para proteger criptográficamente los mensajes, tal y como se documenta en RFC5652. Los cmdlets Get-CmsMessage, Protect-CmsMessage y Unprotect-CmsMessage se han agregado al módulo Microsoft.PowerShell.Security.

  • Los nuevos cmdlets del módulo Microsoft.PowerShell.Utility, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug y Disable-RunspaceDebug, permiten establecer opciones de depuración en un espacio de ejecución e iniciar y detener la depuración en un espacio de ejecución. Para depurar espacios de ejecución arbitrarios, es decir, espacios de ejecución que no son el espacio de ejecución predeterminado para una consola de Windows PowerShell o una sesión de ISE de Windows PowerShell, Windows PowerShell permite establecer puntos de interrupción en un script y, si se han agregado, los puntos de interrupción detienen la ejecución del script hasta que pueda adjuntar un depurador para depurar el script de espacio de ejecución. Se ha agregado compatibilidad con la depuración anidada para espacios de ejecución arbitrarios al depurador de scripts de Windows PowerShell para espacios de ejecución.

  • Los nuevos cmdlets Enter-PSHostProcess y Exit-PSHostProcess permiten depurar scripts de Windows PowerShell en procesos independientes del proceso actual que se ejecuta en la consola de Windows PowerShell. Ejecute Enter-PSHostProcess para especificar o asociar a un identificador de proceso específico y, a continuación, ejecute Get-Runspace para devolver los espacios de ejecución activos dentro del proceso. Ejecute Exit-PSHostProcess para desasociarse del proceso cuando haya terminado de depurar el script dentro del proceso.

  • Se ha agregado un nuevo cmdlet Wait-Debugger al módulo Microsoft.PowerShell.Utility. Puede ejecutar Wait-Debugger para detener un script en el depurador antes de ejecutar la siguiente instrucción en el script.

  • El depurador de flujo de trabajo de Windows PowerShell ahora admite la finalización de comandos o tabulaciones, y puede depurar funciones de flujo de trabajo anidadas. Ahora puede presionar Ctrl+Interrumpir para introducir el depurador en un script en ejecución, en sesiones locales y remotas, y en un script de flujo de trabajo.

  • Se ha agregado un cmdlet Debug-Job al módulo Microsoft.PowerShell.Core para depurar scripts de trabajos en ejecución para el flujo de trabajo de Windows PowerShell, en segundo plano y trabajos que se ejecutan en sesiones remotas.

  • Se ha agregado un nuevo estado, AtBreakpoint, para los trabajos de Windows PowerShell. El estado AtBreakpoint se aplica cuando un trabajo está ejecutando un script que incluye puntos de interrupción establecidos y el script ha alcanzado un punto de interrupción. Cuando un trabajo se detiene en un punto de interrupción de depuración, debe depurar el trabajo mediante la ejecución del cmdlet Debug-Job.

  • Windows PowerShell 5.0 implementa la compatibilidad con varias versiones de un único módulo de Windows PowerShell en la misma carpeta en $PSModulePath. Se ha agregado una propiedad RequiredVersion a la clase ModuleSpecification para ayudarle a obtener la versión deseada de un módulo; esta propiedad es mutuamente excluyente con la propiedad ModuleVersion. Ahora se admite RequiredVersion como parte del valor del parámetro FullyQualifiedName de los cmdlets Get-Module, Import-Module y Remove-Module.

  • Ahora puede realizar la validación de la versión del módulo mediante la ejecución del cmdlet Test-ModuleManifest.

  • Los resultados del cmdlet Get-Command ahora muestran una columna Versión; se ha agregado una nueva propiedad Version a la clase CommandInfo. Get-Command muestra comandos de varias versiones del mismo módulo. La propiedad Version también forma parte de las clases derivadas de CmdletInfo: CmdletInfo y ApplicationInfo.

  • Un nuevo cmdlet de Get-ItemPropertyValue permite obtener el valor de una propiedad sin usar la notación de puntos. Por ejemplo, en versiones anteriores de Windows PowerShell, puede ejecutar el siguiente comando para obtener el valor de la propiedad Application Base de la clave del Registro PowerShellEngine:

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    (Get-ItemProperty -Path $keypath -Name  ApplicationBase).ApplicationBase
    

    A partir de Windows PowerShell 5.0, puede ejecutar

    $keypath = 'HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine'
    Get-ItemPropertyValue -Path $keypath -Name ApplicationBase
    
  • Un nuevo módulo NetworkSwitch contiene cmdlets que permiten aplicar la configuración básica del puerto del conmutador de red de capa 2 a los conmutadores de red con certificación de Windows Server 2012 R2 (y versiones posteriores).

  • El parámetro FullyQualifiedName se ha agregado a Import-Module y Remove-Module cmdlets para admitir el almacenamiento de varias versiones de un solo módulo.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession y Get-Command tienen un nuevo parámetro, FullyQualifiedModule, de tipo ModuleSpecification. Agregue este parámetro para especificar un módulo por su nombre completo.

  • El valor de $PSVersionTable.PSVersion se ha actualizado a 5.0.

Nuevas características en la configuración de estado deseado de Windows PowerShell

  • Las mejoras del lenguaje de Windows PowerShell permiten definir los recursos de configuración de estado deseado (DSC) de Windows PowerShell mediante clases. Import-DscResource es ahora una verdadera palabra clave dinámica; Windows PowerShell analiza el módulo raíz del módulo especificado en busca de clases que contengan el atributo DscResource. Ahora puede utilizar clases para definir recursos de DSC, en los que no se requiere un archivo MOF ni una subcarpeta DSCResource en la carpeta del módulo. Un archivo de módulo de Windows PowerShell puede contener varias clases de recursos de DSC.

  • Se ha agregado un nuevo parámetro, ThrottleLimit, a los siguientes cmdlets en el módulo PSDesiredStateConfiguration. Agregue el parámetro ThrottleLimit para especificar el número de equipos o dispositivos de destino en los que desea que funcione el comando al mismo tiempo.

    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • Con los informes de errores de DSC centralizados, la información de errores enriquecida no solo se registra en el registro de eventos, sino que también se puede enviar a una ubicación central para su posterior análisis. Puede utilizar esta ubicación central para almacenar los errores de configuración de DSC que se hayan producido en cualquier servidor de su entorno. Una vez definido el servidor de informes en la metaconfiguración, todos los errores se envían al servidor de informes y, a continuación, se almacenan en una base de datos. Puede configurar esta funcionalidad independientemente de si un nodo de destino está configurado o no para extraer configuraciones de un servidor de extracción.

  • Las mejoras en Windows PowerShell ISE facilitan la creación de recursos DSC. Ahora puede hacer lo siguiente.

    • Enumere todos los recursos de DSC dentro de un bloque de configuración o nodo introduciendo Ctrl+Espacio en una línea en blanco dentro del bloque.
    • Finalización automática de las propiedades de recurso del tipo de enumeración.
    • Finalización automática de la propiedad DependsOn de los recursos de DSC, en función de otras instancias de recursos de la configuración.
    • Se ha mejorado la finalización de tabulación de los valores de las propiedades de los recursos.
  • Un nuevo atributo DscLocalConfigurationManager designa un bloque de configuración como una metaconfiguración, que se usa para configurar el Administrador de configuración local de DSC. Este atributo restringe una configuración para que contenga solo elementos que configuran el Administrador de configuración local de DSC. Durante el procesamiento, esta configuración genera un archivo *.meta.mof que, a continuación, se envía a los nodos de destino adecuados mediante la ejecución del cmdlet Set-DscLocalConfigurationManager.

  • Ahora se permiten configuraciones parciales en Windows PowerShell 5.0. Puede entregar documentos de configuración a un nodo en fragmentos. Para que un nodo reciba varios fragmentos de un documento de configuración, primero se debe establecer el Administrador de configuración local del nodo para especificar los fragmentos esperados.

  • La sincronización entre equipos es nueva en DSC en Windows PowerShell 5.0. Mediante el uso de los recursos WaitFor* integrados (WaitForAll, WaitForAny y WaitForSome), ahora puede especificar dependencias entre equipos durante las ejecuciones de configuración, sin orquestaciones externas. Estos recursos proporcionan sincronización de nodo a nodo mediante conexiones CIM a través del protocolo WS-Man. Una configuración puede esperar a que cambie el estado de los recursos específicos de otro equipo.

  • Just Enough Administration (JEA), una nueva característica de seguridad de delegación, aprovecha los espacios de ejecución restringidos de DSC y Windows PowerShell para ayudar a proteger a las empresas de la pérdida de datos o el compromiso por parte de los empleados, ya sea intencional o no. Para obtener más información acerca de JEA, incluido dónde puede descargar el recurso xJEA DSC, consulte Administración suficiente.

  • Se han agregado los siguientes cmdlets nuevos al módulo PSDesiredStateConfiguration.

    • Un nuevo cmdlet de Get-DscConfigurationStatus obtiene información de alto nivel sobre el estado de configuración de un nodo de destino. Puede obtener el estado de la última o de todas las configuraciones.
    • Un nuevo cmdlet de Compare-DscConfiguration compara una configuración especificada con el estado real de uno o varios nodos de destino.
    • Un nuevo cmdlet de Publish-DscConfiguration copia un archivo MOF de configuración en un nodo de destino, pero no aplica la configuración. La configuración se aplica durante el siguiente paso de coherencia o cuando se ejecuta el cmdlet Update-DscConfiguration.
    • Un nuevo cmdlet Test-DscConfiguration permite comprobar que una configuración resultante coincide con la configuración deseada, devolviendo True si la configuración coincide con la configuración deseada o False si la configuración real no coincide con la configuración deseada.
    • Un nuevo cmdlet Update-DscConfiguration fuerza el procesamiento de una configuración. Si Local Configuration Manager está en modo de extracción, el cmdlet obtiene la configuración del servidor de extracción antes de aplicarla.

Nuevas características de Windows PowerShell ISE

  • Ahora puede editar scripts y archivos remotos de Windows PowerShell en una copia local de ISE de Windows PowerShell, ejecutando Enter-PSSession para iniciar una sesión remota en el equipo que almacena los archivos que desea editar y, a continuación, ejecutando PSEdit <path and file name on the remote computer>. Esta característica facilita la edición de archivos de Windows PowerShell que se almacenan en la opción de instalación Server Core de Windows Server, donde Windows PowerShell ISE no se puede ejecutar.
  • El cmdlet Start-Transcript ahora es compatible con Windows PowerShell ISE.
  • Ahora puede depurar scripts remotos en Windows PowerShell ISE.
  • Un nuevo comando de menú, Interrumpir todo (Ctrl+B), se interrumpe en el depurador para los scripts que se ejecutan de forma remota y local.

Nuevas características de los servicios web de Windows PowerShell (extensión IIS de OData de administración)

  • A partir de Windows PowerShell 5.0, puede generar un conjunto de cmdlets de Windows PowerShell en función de la funcionalidad expuesta por un punto de conexión de OData determinado, mediante la ejecución del cmdlet Export-ODataEndpointProxy.

Correcciones de errores notables en Windows PowerShell 5.0

  • Windows PowerShell 5.0 incluye una nueva implementación COM, que ofrece importantes mejoras de rendimiento cuando se trabaja con objetos COM.

Para obtener más información acerca de Windows PowerShell 5.0, visite los siguientes sitios web:

VÉASE TAMBIÉN

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Guardar-Ayuda

Get-Module

Trabajo de depuración

Actualización-Ayuda

Obtener-Proceso

Eliminar-Computadora

Set-ExecutionPolicy

Agregar-Computadora

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

PALABRAS CLAVE

Novedades de Windows PowerShell 5.0