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 importantes que amplían y mejoran su uso, permiten controlar y administrar entornos basados en Windows de forma más sencilla 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 tener que cambiar nada.

Windows PowerShell 5.0 está instalado 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. Procure 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, se admite el desarrollo mediante clases, a través de una semántica y una sintaxis formales que son similares a las de otros lenguajes de programación orientados a objetos. Class, Enum y otras palabras clave se agregaron al nuevo lenguaje de Windows PowerShell para admitir la nueva característica. Para obtener información sobre el uso de las 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 las cadenas de texto. Para más información, consulte ConvertFrom-String.

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

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

  • Un nuevo módulo, PowerShellGet, le 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 puede configurar ejecutando el cmdlet Register-PSRepository.

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

  • La transcripción de Windows PowerShell se mejoró para aplicarse a todas las aplicaciones de hospedaje (como Windows PowerShell ISE) en lugar de solo al host de consola (powershell.exe). Las opciones de transcripción (incluida la habilitación de una transcripción de todo el sistema) pueden configurarse habilitando la opción de directiva de grupo Activar la transcripción de PowerShell, que se encuentra en Plantillas administrativas/Componentes de Windows/Windows PowerShell.

  • Una nueva característica de seguimiento detallado de scripts permite habilitar el seguimiento detallado y el análisis del uso de scripting 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 de cifrado admiten el cifrado y descifrado de contenido mediante el formato estándar IETF para proteger los mensajes de manera criptográfica según 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, así como iniciar y detener la depuración, en un espacio de ejecución. Para depurar espacios de ejecución arbitrarios: es decir, los espacios de ejecución que no son el espacio de ejecución predeterminado para una consola de Windows PowerShell o Windows PowerShell sesión de ISE, Windows PowerShell le permite establecer puntos de interrupción en un script y han agregado puntos de interrupción para que el script se ejecute hasta que pueda adjuntar un depurador para depurar el script de espacio de ejecución. Se ha agregado compatibilidad para la depuración anidada para los espacios de ejecución arbitrarios en el depurador de scripts de Windows PowerShell para los espacios de ejecución.

  • Los nuevos cmdlets Enter-PSHostProcess y Exit-PSHostProcess le 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 introducir, o establecer la asociación con, un identificador de proceso específico y luego ejecute Get-Runspace para devolver los espacios de ejecución activos dentro del proceso. Ejecute Exit-PSHostProcess para desasociarse del proceso cuando acabe de depurar el script dentro del proceso.

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

  • El depurador del flujo de trabajo de Windows PowerShell admite ahora la finalización con comando o tabulación y permite depurar funciones de flujo de trabajo anidadas. Ahora puede presionar Ctrl+Interrumpir para introducir el depurador en un script en ejecución, tanto en sesiones locales como remotas, así como en un script de flujo de trabajo.

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

  • Se ha agregado un estado nuevo, AtBreakPoint, para los trabajos de Windows PowerShell. El estado AtBreakpoint se aplica cuando un trabajo ejecuta un script que incluye puntos de interrupción establecidos y el script alcanza un punto de interrupción. Si un trabajo se detiene en un punto de interrupción de depuración, debe depurar el trabajo ejecutando el 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. RequiredVersion se admite ahora 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 de módulo ejecutando el cmdlet Test-ModuleManifest.

  • Los resultados del cmdlet Get-Command muestran ahora una columna Version; 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 Get-ItemPropertyValue permite obtener el valor de una propiedad sin usar la notación de puntos. Por ejemplo, en las versiones anteriores de Windows PowerShell, puede ejecutar el comando siguiente para obtener el valor de la propiedad ApplicationBase de la clave del registro de 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 conmutadores, LAN virtual (VLAN) y configuración básica del puerto de conmutador de red de nivel 2 para Windows Server 2012 R2 (y versiones posteriores) conmutadores de red certificados por el logotipo.

  • El parámetro FullyQualifiedName se agregó a los cmdlets Import-Module y Remove-Module para permitir el almacenamiento de varias versiones de un mismo 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 con su nombre completo.

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

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

  • Las mejoras en el 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 y busca las clases que contienen el atributo DscResource. Ahora puede usar 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 dispositivos o equipos de destino en los que quiere que el comando funcione 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, no solo se registra información de error completa en el registro de eventos, sino que también se envía a una ubicación central para su posterior análisis. Puede usar esta ubicación central para almacenar los errores de configuración de DSC que se han producido para cualquier servidor de su entorno. Después de definir el servidor de informes en la metaconfiguración, todos los errores se envían al servidor de informes y, luego, se almacenan en una base de datos. Puede configurar esta funcionalidad independientemente de si se configura un nodo de destino para extraer las configuraciones de un servidor de extracción.

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

    • Enumeración de todos los recursos de DSC en un bloque de configuración o un bloque de nodo escribiendo Ctrl+Space en una línea en blanco dentro del bloque.
    • Finalización automática de propiedades de recurso de tipo enumeración.
    • Finalización automática de la propiedad DependsOn de los recursos de DSC, en función de otras instancias de recurso de la configuración.
    • Finalización con tabulación mejorada de los valores de propiedad de recurso.
  • 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 únicamente contenga elementos que configuren el Administrador de configuración local de DSC. Durante el procesamiento, esta configuración genera un archivo *.meta.mof que se envía a los nodos de destino apropiados mediante el cmdlet Set-DscLocalConfigurationManager.

  • Ahora se admiten 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, el Configuration Manager local del nodo debe establecerse primero para especificar los fragmentos esperados.

  • La sincronización entre equipos es una novedad de DSC en Windows PowerShell 5.0. Con los recursos integrados WaitFor* (WaitForAll, WaitForAny y WaitForSome), ahora puede especificar las dependencias entre equipos durante las ejecuciones de configuración, sin orquestación externa. Estos recursos ofrecen sincronización de nodo a nodo a través de conexiones CIM en el protocolo WS-Man. Una configuración puede esperar el cambio de estado del recurso específico de otro equipo.

  • Just Enough Administration (JEA), una nueva característica de seguridad de delegación, aprovecha DSC y los espacios de ejecución restringidos de Windows PowerShell para ayudar a las empresas a evitar la pérdida de datos o riesgos causados por empleados, ya sea intencionada o de manera involuntaria. Para más información sobre JEA, incluida la ubicación donde puede descargar el recurso DSC de xJEA, consulte Just Enough Administration.

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

    • Un nuevo cmdlet Get-DscConfigurationStatus obtiene información de alto nivel acerca del estado de configuración desde un nodo de destino. Puede obtener el estado de todas las configuraciones o solo de la última.
    • Un nuevo cmdlet Compare-DscConfiguration compara una configuración especificada con el estado real de uno o varios nodos de destino.
    • Un nuevo cmdlet 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 si una configuración resultante coincide con la configuración deseada, para lo cual devuelve True si la configuración coincide con la configuración deseada o False si no coincide.
    • Un nuevo cmdlet Update-DscConfiguration fuerza el procesamiento de una configuración. Si el Administrador de configuración Local 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 de Windows PowerShell remotos en una copia local de Windows PowerShell ISE; para ello, ejecute Enter-PSSession para iniciar una sesión remota en el equipo que almacena los archivos que desea editar y, a continuación, ejecute PSEdit <path and file name on the remote computer>. Esta característica facilita la edición de archivos de Windows PowerShell que están almacenados en la opción de instalación Server Core de Windows Server, donde Windows PowerShell ISE no puede ejecutarse.
  • El cmdlet Start-Transcript se admite ahora en Windows PowerShell ISE.
  • Ahora puede depurar scripts remotos en Windows PowerShell ISE.
  • Un nuevo comando de menú, Break-All (Ctrl+B) entra en el depurador para los scripts que se ejecutan de forma local y remota.

Nuevas características de servicios web de Windows PowerShell (Extensión IIS Management OData)

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

Correcciones de errores importantes en Windows PowerShell 5.0

  • Windows PowerShell 5.0 incluye una nueva implementación de COM, que ofrece importantes mejoras de rendimiento para el trabajo con objetos COM.

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

CONSULTE TAMBIÉN

about_Classes

about_Debuggers

about_Desired_State_Configuration

about_Updatable_Help

Save-Help

Get-Module

Debug-Job

Update-Help

Get-Process

Remove-Computer

Set-ExecutionPolicy

Add-Computer

ConvertFrom-String

Invoke-RestMethod

Set-JobTrigger

Set-ScheduledJob

New-JobTrigger

Register-ScheduledJob

Enable-JobTrigger

Disable-JobTrigger

PALABRAS CLAVE

Novedades de Windows PowerShell 5.0