Novedades de Windows PowerShell 5.0What's New in Windows PowerShell 5.0

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 includes significant new features that extend its use, improve its usability, and allow you to control and manage Windows-based environments more easily and comprehensively.

Windows PowerShell 5.0 es compatible con versiones anteriores.Windows PowerShell 5.0 is backward-compatible. 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.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 4.0, Windows PowerShell 3.0, and Windows PowerShell 2.0 generally work in Windows PowerShell 5.0 without changes.

Instalación de Windows PowerShellInstalling Windows PowerShell

Windows PowerShell 5.0 se instala de manera predeterminada en Windows Server 2016 Technical Preview y Windows 10.Windows PowerShell 5.0 is installed by default on Windows Server 2016 Technical Preview and Windows 10.

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.To install Windows PowerShell 5.0 on Windows Server 2012 R2, Windows 8.1 Enterprise, or Windows 8.1 Pro, download and install 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.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 5.0.

En este temaIn this topic

Actualizaciones de Windows PowerShell 4.0 en el paquete acumulativo de actualizaciones de noviembre de 2014 (KB 3000850)Windows PowerShell 4.0 updates in November 2014 update rollup (KB 3000850)

Muchas actualizaciones y mejoras en la configuración de estado deseado (DSC) de Windows PowerShell en Windows PowerShell 4.0 están disponibles en el paquete acumulativo de actualizaciones de noviembre de 2014 para Windows RT 8.1, Windows 8.1 y Windows Server 2012 R2 (KB 3000850).Many updates and improvements to Windows PowerShell Desired State Configuration (DSC) in Windows PowerShell 4.0 are available in the November 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (KB 3000850). Para determinar si KB 3000850 está instalado en el sistema, ejecute Get-Hotfix -Id KB3000850 en Windows PowerShell.You can determine if KB 3000850 is installed on your system by running Get-Hotfix -Id KB3000850 in Windows PowerShell.

  • Actualizaciones para los cmdlets existentes en el módulo PSDesiredStateConfigurationUpdates to existing cmdlets in the PSDesiredStateConfiguration module

  • Nuevos cmdlets en el módulo PSDesiredStateConfigurationNew cmdlets in the PSDesiredStateConfiguration module

  • Mejoras en el lenguajeLanguage enhancements

    • DependsOn admite ahora recursos compuestos.DependsOn now supports composite resources.
    • DependsOn admite ahora números en los nombres de instancia de recurso.DependsOn now supports numbers in resource instance names.
    • Las expresiones de nodo que se evalúan como vacías ya no producen errores.Node expressions that evaluate to empty no longer throw errors.
    • Se ha corregido un error que se producía al evaluar una expresión de nodo como vacía.An error that occurs if a node expression evaluates to empty has been fixed.
    • Las configuraciones que llaman a configuraciones funcionan ahora en la consola de Windows PowerShell.Configurations calling configurations now work in the Windows PowerShell console.
  • Mejoras en el modo de extracciónPull mode enhancements

    • El modo de extracción admite ahora todos los archivos ZIP.Pull mode now supports all ZIP files.
    • AllowModuleOverwrite funciona ahora correctamente.AllowModuleOverwrite now works correctly.
  • Mejoras en la resistenciaResiliency improvements

    • El nuevo DebugMode permite volver a cargar los módulos de recursos.New DebugMode lets you reload resource modules.
    • Si se produce un error de configuración, el archivo pending.mof no se elimina.If a configuration failure occurs, the pending.mof file is not deleted.
    • El Administrador de configuración local (LCM) es ahora más resistente cuando los valores de metaconfiguración dañados.The Local Configuration Manager (LCM) is now more resilient when metaconfiguration settings have become corrupted.
  • Mejoras de diagnósticoDiagnostic improvements

    • Se muestra una advertencia cuando el LCM establece el temporizador en una configuración diferente a la especificada.A warning is displayed when the LCM sets the timer to different settings than you have specified.
    • Los archivos de registro de errores contienen ahora la pila de llamadas de los recursos de Windows PowerShell.Error log files now contain the call stack for Windows PowerShell resources.
  • Mejoras de escalabilidadFlexibility improvements

    • El recurso LocalConfigurationManager tiene una propiedad nueva, ActionAfterReboot.The LocalConfigurationManager resource has a new property, ActionAfterReboot.
      • ContinueConfiguration (valor predeterminado): reanuda automáticamente una configuración cuando se reinicia un nodo de destino.ContinueConfiguration (default value): Automatically resumes a configuration after a target node restarts.
      • StopConfiguration: no reanuda automáticamente una configuración cuando se reinicia un nodo de destino.StopConfiguration: Do not automatically resume a configuration after a node restarts.
    • Una ejecución de coherencia puede llevarse a cabo con mayor frecuencia que una operación de extracción o viceversa.A consistency run can now occur more often than a PULL operation, or vice-versa.
    • Compatibilidad de versiones: DSC puede ahora reconocer un documento generado en un cliente más reciente (incluido con WMF 5.0).Versioning support: DSC can now recognize a document that was generated on a newer client (included with WMF 5.0).
  • Mejoras en la prevención de erroresError prevention improvements

    • La versión del módulo se aplica ahora antes de aplicar una configuración.Module version is now enforced before a configuration is applied.
    • DebugPreference está ahora establecido correctamente para las llamadas Get-, Set- o Test-TargetResource.DebugPreference is now set correctly for Get-, Set-, or Test-TargetResource calls.
  • Mejoras en la administración de credencialesCredential handling improvements

    • Ahora se usa un certificado, si se especifican ambas opciones Certificate y PSDscAllowPlainTextPassword.A certificate is now used, if both Certificate and PSDscAllowPlainTextPassword are specified.
    • Las credenciales se descifran, incluso para Get-TargetResource.Credentials are decrypted, even for Get-TargetResource.
    • Las credenciales de metaconfiguración se cifran y se descifran.Metaconfiguration credentials are encrypted and decrypted.
    • Los objetos PSCredentials se descifran cuando están en un objeto incrustado.PSCredentials are now decrypted when they are in an embedded object.
  • Mejoras en los recursos integradosBuilt-in resource improvements

    • Recurso de paqueteThe Package resource
      • Ya no instala el paquete incorrecto (ya sea de los orígenes web o local).No longer installs the wrong package (either from local or web sources).
      • Ahora admite HTTPS.Now supports HTTPS.
    • Ahora se ofrece compatibilidad con HTTPS en el recurso de paquete.There is now support for HTTPS in the Package resource.
    • El recurso de archivo admite ahora las credenciales.Archive resource now supports credentials.

Nuevas características de Windows PowerShell 5.0New features in Windows PowerShell 5.0

Nuevas características de Windows PowerShellNew features in 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.Starting in Windows PowerShell 5.0, you can develop by using classes, by using formal syntax and semantics that are similar to other object-oriented programming languages. Class , Enum y otras palabras clave se agregaron al nuevo lenguaje de Windows PowerShell para admitir la nueva característica.Class , Enum , and other keywords have been added to the Windows PowerShell language to support the new feature. Para obtener información sobre el uso de las clases, consulte about_Classes.For more information about working with classes, see about_Classes.

  • Windows PowerShell 5.0 presenta una nueva secuencia de información estructurada que puede usar para transmitir datos estructurados entre un script y los autores de la llamada (o el entorno de hospedaje).Windows PowerShell 5.0 introduces a new, structured information stream that you can use to transmit structured data between a script and its callers (or hosting environment). Ahora puede usar Write-Host para emitir la salida en la secuencia de información.You can now use Write-Host to emit output to the information stream. Las secuencias de información también funcionan con PowerShell.Streams, los trabajos, los trabajos programados y los flujos de trabajo.Information streams also work for PowerShell.Streams, jobs, scheduled jobs, and workflows. Las características siguientes admiten la secuencia de información.The following features support the information stream.

    • Un nuevo cmdlet Write-Information que permite especificar cómo Windows PowerShell administra los datos de la secuencia de información de un comando.A new Write-Information cmdlet that lets you specify how Windows PowerShell handles information stream data for a command. Write-Host es un contenedor para Write-Information.Write-Host is a wrapper for Write-Information. Write-Information también es una actividad de flujo de trabajo admitida.Write-Information is also a supported workflow activity.
    • Dos nuevos parámetros comunes, InformationVariable y InformationAction, permiten determinar cómo se muestran las secuencias de información desde un comando.Two new common parameters, InformationVariable and InformationAction, let you determine how information streams from a command are displayed. Los valores válidos para InformationAction son Continuar sin mensajes, Detener, Continuar, Consultar, Omitir o Suspender, siendo Continuar sin mensajes el valor predeterminado.Valid values for InformationAction are SilentlyContinue, Stop, Continue, Inquire, Ignore, or Suspend, with SilentlyContinue being the default. InformationVariable especifica una cadena como el nombre de una variable en la que desea guardar los datos de Write-Host de un comando.InformationVariable specifies a string as the name of a variable to which you want the Write-Host data from a command saved.
    • Una nueva variable de preferencia, InformationPreference, especifica su preferencia predeterminada para los datos de la secuencia de información en una sesión de Windows PowerShell.A new preference variable, InformationPreference, specifies your default preference for information stream data in a Windows PowerShell session. El valor predeterminado es Continuar sin mensajes.The default value is SilentlyContinue.
    • Se agregaron dos nuevos parámetros de flujo de trabajo comunes, PSInformation e InformationAction.Two new workflow common parameters, PSInformation and InformationAction, have been added.
    • Cuando usa el comando Format-Table, las columnas de la tabla se formatean ahora automáticamente evaluando los primeros 300 ms de datos que pasan a través de la secuencia.When you use the Format-Table command, table columns are now automatically formatted by evaluating the first 300ms of data that passes through the stream.
  • En colaboración con Microsoft Research, se ha agregado un nuevo cmdlet ConvertFrom-String.In collaboration with Microsoft Research, a new cmdlet, ConvertFrom-String, has been added. ConvertFrom-String permite extraer y analizar objetos estructurados del contenido de las cadenas de texto.ConvertFrom-String lets you extract and parse structured objects from the content of text strings. Para más información, consulte ConvertFrom-String.For more information, see ConvertFrom-String.

  • Un nuevo cmdlet Convert-String formatea automáticamente el texto según un ejemplo que se proporciona en un parámetro -Example.A new Convert-String cmdlet automatically formats text based on an example that you provide in an -Example parameter.

  • 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.A new module, Microsoft.PowerShell.Archive, includes cmdlets that let you compress files and folders into archive (also known as ZIP) files, extract files from existing ZIP files, and update ZIP files with newer versions of files compressed within them.

  • Un nuevo módulo, PackageManagement, permite detectar e instalar paquetes de software en Internet.A new module, PackageManagement, lets you discover and install software packages on the Internet. El módulo PackageManagement (conocido anteriormente como OneGet) es un administrador o multiplexor de administradores de paquetes existentes (también denominados proveedores de paquetes) destinado a unificar la administración de paquetes de Windows con una única interfaz de Windows PowerShell.The PackageManagement (formerly known as OneGet) module is a manager or multiplexer of existing package managers (also called package providers) to unify Windows package management with a single Windows PowerShell interface.

  • Un nuevo módulo, PowerShellGet, permite buscar, instalar, publicar y actualizar los módulos y recursos de DSC en la Galería de PowerShell, o en un repositorio de módulos interno que puede configurar ejecutando el cmdlet Register-PSRepository.A new module, PowerShellGet, lets you find, install, publish, and update modules and DSC resources on the PowerShell Gallery, or on an internal module repository that you can set up by running the Register-PSRepository cmdlet.

  • Una nueva palabra clave del lenguaje, Hidden , se agregó para especificar que un miembro (una propiedad o un método) no se muestra en los resultados de Get-Member de forma predeterminada (a menos que se agregue el parámetro -Force).A new language keyword, Hidden , has been added to specify that a member (a property or a method) is not shown by default in Get-Member results (unless you add the -Force parameter). Las propiedades o los métodos marcados como ocultos no se muestran en los resultados de IntelliSense, a menos que esté en un contexto donde el miembro deba ser visible; por ejemplo, la variable automática $This debería mostrar los miembros ocultos en el método de clase.Properties or methods that have been marked hidden also do not show up in IntelliSense results, unless you are in a context where the member should be visible; for example, the automatic variable $This should show hidden members when in the class method.

  • New-Item, Remove-Item y Get-ChildItem se han mejorado para admitir la creación y administración de vínculos simbólicos.New-Item, Remove-Item, and Get-ChildItem have been enhanced to support creating and managing symbolic links. El parámetro ItemType de New-Item acepta un nuevo valor, SymbolicLink.The -ItemType parameter for New-Item accepts a new value, SymbolicLink. Ahora puede crear vínculos simbólicos en una única línea ejecutando el cmdlet New-Item.Now you can create symbolic links in a single line by running the New-Item cmdlet.

  • Get-ChildItem también tiene un nuevo parámetro -Depth, que se usa con el parámetro -Recurse para limitar la recursión.Get-ChildItem also has a new -Depth parameter, which you use with the -Recurse parameter to limit the recursion. Por ejemplo, Get-ChildItem -Recurse -Depth 2 devuelve resultados de la carpeta actual, de todas las carpetas secundarias dentro de la carpeta actual y de todas las carpetas dentro de las carpetas secundarias.For example, Get-ChildItem -Recurse -Depth 2 returns results from the current folder, all of the child folders within the current folder, and all of the folders within the child folders.

  • Copy-Item permite ahora copiar archivos o carpetas de una sesión de Windows PowerShell a otra, lo que significa que puede copiar archivos en sesiones conectadas a equipos remotos (incluidos los equipos que ejecutan Nano Server y que, por tanto, no tienen ninguna otra interfaz).Copy-Item now lets you copy files or folders from one Windows PowerShell session to another, meaning that you can copy files to sessions that are connected to remote computers, (including computers that are running Nano Server, and thus have no other interface). Para copiar archivos, especifique los identificadores de PSSession como el valor de los nuevos parámetros -FromSession y -ToSession, y agregue -Path y -Destination para especificar la ruta de acceso de origen y el destino, respectivamente.To copy files, specify PSSession IDs as the value of the new -FromSession and -ToSession parameters, and add -Path and -Destination to specify origin path and destination, respectively. Por ejemplo, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.For example, Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • 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 ).Windows PowerShell transcription has been improved to apply to all hosting applications (such as Windows PowerShell ISE) in addition to the console host ( 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.Transcription options (including enabling a system-wide transcript) can be configured by enabling the Turn on PowerShell Transcription Group Policy setting, found in Administrative Templates/Windows Components/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.A new detailed script tracing feature lets you enable detailed tracking and analysis of Windows PowerShell scripting use on a system. 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.After you enable detailed script tracing, Windows PowerShell logs all script blocks to the Event Tracing for Windows (ETW) event log, 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.Starting in Windows PowerShell 5.0, new Cryptographic Message Syntax cmdlets support encryption and decryption of content by using the IETF standard format for cryptographically protecting messages as documented by RFC5652. Los cmdlets Get-CmsMessage, Protect-CmsMessage y Unprotect-CmsMessage se han agregado al módulo Microsoft.PowerShell.Security.The Get-CmsMessage, Protect-CmsMessage, and Unprotect-CmsMessage cmdlets have been added to the Microsoft.PowerShell.Security module.

  • 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.New cmdlets in the Microsoft.PowerShell.Utility module, Get-Runspace, Debug-Runspace, Get-RunspaceDebug, Enable-RunspaceDebug, and Disable-RunspaceDebug, let you set debug options on a runspace, and start and stop debugging on a runspace. Para depurar espacios de ejecución arbitrarios, es decir, espacios de ejecución que no son el predeterminado de una consola de Windows PowerShell o una sesión de Windows PowerShell ISE, Windows PowerShell permite establecer puntos de interrupción en un script y hacer que los puntos de interrupción agregados detengan la ejecución del script hasta que se pueda conectar un depurador para depurar el script del espacio de ejecución.For debugging arbitrary runspaces (that is, runspaces that are not the default runspace for a Windows PowerShell console or Windows PowerShell ISE session) Windows PowerShell lets you set breakpoints in a script, and have added breakpoints stop the script from running until you can attach a debugger to debug the runspace script. 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.Nested debugging support for arbitrary runspaces has been added to the Windows PowerShell script debugger for runspaces.

  • Un nuevo cmdlet Format-Hex se ha agregado al módulo Microsoft.PowerShell.Utility.A new Format-Hex cmdlet has been added to the Microsoft.PowerShell.Utility module. Format-Hex permite ver datos de texto o binarios en formato hexadecimal.Format-Hex lets you view text or binary data in hexadecimal format.

  • Los cmdlets Get-Clipboard y Set-Clipboard se agregaron al módulo Microsoft.PowerShell.Utility; estos facilitan la transferencia de contenido hacia y desde la sesión de Windows PowerShell.Get-Clipboard and Set-Clipboard cmdlets have been added to the Microsoft.PowerShell.Utility module; they ease the transfer of content to and from a Windows PowerShell session. Los cmdlets Clipboard admiten imágenes, archivos de audio, listas de archivos y texto.The Clipboard cmdlets support images, audio files, file lists, and text.

  • Se agregó un nuevo cmdlet, Clear-RecycleBin, al módulo Microsoft.PowerShell.Management; este cmdlet vacía la Papelera de reciclaje de una unidad fija, que incluye las unidades externas.A new cmdlet, Clear-RecycleBin, has been added to the Microsoft.PowerShell.Management module; this cmdlet empties the Recycle Bin for a fixed drive, which includes external drives. De forma predeterminada, se le pedirá que confirme un comando Clear-RecycleBin, porque la propiedad ConfirmImpact del cmdlet está establecida en ConfirmImpact.High.By default, you are prompted to confirm a Clear-RecycleBin command, because the ConfirmImpact property of the cmdlet is set to ConfirmImpact.High.

  • Un nuevo cmdlet, New-TemporaryFile, permite crear un archivo temporal como parte del scripting.A new cmdlet, New-TemporaryFile, lets you create a temporary file as part of scripting. De forma predeterminada, el nuevo archivo temporal se crea en C:\Users\<user name>\AppData\Local\Temp.By default, the new temporary file is created in C:\Users\<user name>\AppData\Local\Temp.

  • Los cmdlets Out-File, Add-Content y Set-Content tienen ahora un nuevo parámetro -NoNewline, que omite una nueva línea después de la salida.The Out-File, Add-Content, and Set-Content cmdlets now have a new -NoNewline parameter, which omits a new line after the output.

  • El cmdlet New-Guid aprovecha la clase Guid de .NET Framework para generar un GUID, que resulta útil al escribir scripts o recursos de DSC.The New-Guid cmdlet leverages the .NET Framework Guid class to generate a GUID, useful when you are writing scripts or DSC resources.

  • Dado que la información de la versión de archivo puede ser confusa, especialmente después de aplicar una revisión a un archivo, las nuevas propiedades de script FileVersionRaw y ProductVersionRaw están disponibles para los objetos FileInfo.Because file version information can be misleading, particularly after a file is patched, new FileVersionRaw and ProductVersionRaw script properties are available for FileInfo objects. Por ejemplo, puede ejecutar el siguiente comando para mostrar los valores de estas propiedades de powershell.exe, donde $pid contiene el identificador de proceso de una sesión en ejecución de Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -ForceFor example, you can run the following command to display the values of these properties for powershell.exe, where $pid contains the process ID for a running session of Windows PowerShell: Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • 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.New cmdlets Enter-PSHostProcess and Exit-PSHostProcess let you debug Windows PowerShell scripts in processes separate from the current process that is running in the Windows PowerShell console. 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.Run Enter-PSHostProcess to enter, or attach to, a specific process ID, and then run Get-Runspace to return the active runspaces within the process. Ejecute Exit-PSHostProcess para desasociarse del proceso cuando acabe de depurar el script dentro del proceso.Run Exit-PSHostProcess to detach from the process when you are finished debugging the script within the process.

  • Un nuevo cmdlet Wait-Debugger se ha agregado al módulo Microsoft.PowerShell.Utility.A new Wait-Debugger cmdlet has been added to the Microsoft.PowerShell.Utility module. Puede ejecutar Wait-Debugger para detener un script en el depurador antes de ejecutar la siguiente instrucción del script.You can run Wait-Debugger to stop a script in the debugger before running the next statement in the 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.The Windows PowerShell Workflow debugger now supports command or tab completion, and you can debug nested workflow functions. 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.You can now press Ctrl+Break to enter the debugger in a running script, in both local and remote sessions, and in a workflow script.

  • 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.A Debug-Job cmdlet has been added to the Microsoft.PowerShell.Core module to debug running job scripts for Windows PowerShell Workflow, background, and jobs running in remote sessions.

  • Se ha agregado un estado nuevo, AtBreakPoint, para los trabajos de Windows PowerShell.A new state, AtBreakpoint, has been added for Windows PowerShell jobs. 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.The AtBreakpoint state applies when a job is running a script that includes set breakpoints, and the script has hit a breakpoint. Si un trabajo se detiene en un punto de interrupción de depuración, debe depurar el trabajo ejecutando el cmdlet Debug-Job.When a job is stopped at a debug breakpoint, you must debug the job by running the Debug-Job cmdlet.

  • Windows PowerShell 5.0 implementa la compatibilidad con varias versiones de un único módulo de Windows PowerShell en la misma carpeta en $PSModulePath.Windows PowerShell 5.0 implements support for multiple versions of a single Windows PowerShell module in the same folder in $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 exclusiva con la propiedad ModuleVersion.A RequiredVersion property has been added to the ModuleSpecification class to help you get the desired version of a module; this property is mutually exclusive with the ModuleVersion property. RequiredVersion se admite ahora como parte del valor del parámetro FullyQualifiedName de los cmdlets Get-Module, Import-Module y Remove-Module.RequiredVersion is now supported as part of the value of the FullyQualifiedName parameter of the Get-Module, Import-Module, and Remove-Module cmdlets.

  • Ahora puede realizar la validación de la versión de módulo ejecutando el cmdlet Test-ModuleManifest.You can now perform module version validation by running the Test-ModuleManifest cmdlet.

  • Los resultados del cmdlet Get-Command muestran ahora una columna Version; se ha agregado una nueva propiedad Version a la clase CommandInfo.Results of the Get-Command cmdlet now display a Version column; a new Version property has been added to the CommandInfo class. Get-Command muestra comandos de varias versiones del mismo módulo.Get-Command shows commands from multiple versions of the same module. La propiedad Version también forma parte de las clases derivadas de CmdletInfo: CmdletInfo y ApplicationInfo.The Version property is also part of derived classes of CmdletInfo: CmdletInfo and ApplicationInfo.

  • Get-Command tiene un nuevo parámetro, -ShowCommandInfo, que devuelve información de ShowCommand como PSObjects.Get-Command has a new parameter, -ShowCommandInfo, that returns ShowCommand information as PSObjects. Esta funcionalidad es especialmente útil cuando se ejecuta Show-Command en Windows PowerShell ISE mediante la comunicación remota de Windows PowerShell.This is especially useful functionality for when Show-Command is run in Windows PowerShell ISE by using Windows PowerShell remoting. El parámetro -ShowCommandInfo reemplaza la función Get-SerializedCommand existente en el módulo Microsoft.PowerShell.Utility, pero el script Get-SerializedCommand sigue estando disponible para admitir el scripting de nivel inferior.The -ShowCommandInfo parameter replaces the existing Get-SerializedCommand function in the Microsoft.PowerShell.Utility module, but the Get-SerializedCommand script is still available to support downlevel scripting.

  • Un nuevo cmdlet Get-ItemPropertyValue permite obtener el valor de una propiedad sin usar la notación de puntos.A new Get-ItemPropertyValue cmdlet lets you get the value of a property without using dot notation. 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: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase.For example, in older releases of Windows PowerShell, you can run the following command to get the value of the Application Base property of the PowerShellEngine registry key: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase).ApplicationBase. A partir de Windows PowerShell 5.0, puede ejecutar Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.Starting in Windows PowerShell 5.0, you can run Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase.

  • La consola de Windows PowerShell usa ahora el color de sintaxis, como en Windows PowerShell ISE.The Windows PowerShell console now uses syntax coloring, just as in Windows PowerShell ISE.

  • Un nuevo módulo NetworkSwitch contiene cmdlets que permiten aplicar la configuración de modificador, LAN virtual (VLAN) y básica del puerto del modificador de red de capa 2 a los modificadores de red certificados con el logotipo de Windows Server 2012 R2.A new NetworkSwitch module contains cmdlets that enable you to apply switch, virtual LAN (VLAN), and basic Layer 2 network switch port configuration to Windows Server 2012 R2 logo-certified network switches.

  • 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.The FullyQualifiedName parameter has been added to Import-Module and Remove-Module cmdlets, to support storing multiple versions of a single module.

  • Save-Help, Update-Help, Import-PSSession, Export-PSSession, y Get-Command tienen un nuevo parámetro, FullyQualifiedModule, de tipo ModuleSpecification.Save-Help, Update-Help, Import-PSSession, Export-PSSession, and Get-Command have a new parameter, FullyQualifiedModule, of type ModuleSpecification. Agregue este parámetro para especificar un módulo con su nombre completo.Add this parameter to specify a module by its fully qualified name.

  • El valor de $PSVersionTable.PSVersion se ha actualizado a 5.0.The value of $PSVersionTable.PSVersion has been updated to 5.0.

  • WMF 5.0 (PowerShell 5.0) incluye el módulo Pester.WMF 5.0 (PowerShell 5.0) includes the Pester module. Pester es un marco de prueba unitaria para PowerShell.Pester is a unit testing framework for PowerShell. Proporciona algunas palabras clave fáciles de usar que le permiten crear pruebas para sus scripts.It provides a few simple-to-use keywords that let you create tests for your scripts.

Nuevas características de configuración de estado deseado de Windows PowerShellNew features in Windows PowerShell Desired State Configuration

  • Las mejoras en el lenguaje de Windows PowerShell permiten definir los recursos de configuración de estado deseado (DSC) de Windows PowerShell mediante clases.Windows PowerShell language enhancements let you define Windows PowerShell Desired State Configuration (DSC) resources by using classes. 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.Import-DscResource is now a true dynamic keyword; Windows PowerShell parses the specified module's root module, searching for classes that contain the DscResource attribute. 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.You can now use classes to define DSC resources, in which neither a MOF file nor a DSCResource subfolder in the module folder is required. Un archivo de módulo de Windows PowerShell puede contener varias clases de recursos de DSC.A Windows PowerShell module file can contain multiple DSC resource classes.
  • Se ha agregado un nuevo parámetro, ThrottleLimit, a los siguientes cmdlets en el módulo PSDesiredStateConfiguration.A new parameter, ThrottleLimit, has been added to the following cmdlets in the PSDesiredStateConfiguration module. 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.Add the ThrottleLimit parameter to specify the number of target computers or devices on which you want the command to work at the same time.
    • Get-DscConfigurationGet-DscConfiguration
    • Get-DscConfigurationStatusGet-DscConfigurationStatus
    • Get-DscLocalConfigurationManagerGet-DscLocalConfigurationManager
    • Restore-DscConfigurationRestore-DscConfiguration
    • Test-DscConfigurationTest-DscConfiguration
    • Compare-DscConfigurationCompare-DscConfiguration
    • Publish-DscConfigurationPublish-DscConfiguration
    • Set-DscLocalConfigurationManagerSet-DscLocalConfigurationManager
    • Start-DscConfigurationStart-DscConfiguration
    • Update-DscConfigurationUpdate-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.With centralized DSC error reporting, rich error information is not only logged in the event log, but it can be sent to a central location for later analysis. 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.You can use this central location to store DSC configuration errors that have occurred for any server in their environment. 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.After the report server is defined in the meta-configuration, all errors are sent to the report server, and then stored in a database. Puede configurar esta funcionalidad independientemente de si se configura un nodo de destino para extraer las configuraciones de un servidor de extracción.You can set up this functionality regardless of whether or not a target node is configured to pull configurations from a pull server.
  • Las mejoras en Windows PowerShell ISE facilitan la creación de recursos de DSC.Improvements to Windows PowerShell ISE ease DSC resource authoring. Ahora puede hacer lo siguiente.You can now do the following.
    • 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.List all DSC resources within a configuration or node block by entering Ctrl+Space on a blank line within the block.
    • Finalización automática de propiedades de recurso de tipo enumeración.Automatic completion on resource properties of the enumeration type.
    • 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.Automatic completion on the DependsOn property of DSC resources, based on other resource instances in the configuration.
    • Finalización con tabulación mejorada de los valores de propiedad de recurso.Improved tab completion of resource property values.
  • Un usuario puede ejecutar ahora un recurso en un conjunto de credenciales especificado agregando el atributo PSDscRunAsCredential a un bloque de nodo.A user can now run a resource under a specified set of credentials by adding the PSDscRunAsCredential attribute to a Node block. Por ejemplo, PSDscRunAsCredential = Get-Credential Contoso\DscUser.For example, PSDscRunAsCredential = Get-Credential Contoso\DscUser. Esta funcionalidad es útil para crear configuraciones que ejecuten Windows Installer e instaladores ejecutables, accedan al subárbol del Registro por usuario o realicen otras tareas fuera del contexto del usuario actual.This functionality is useful for creating configurations that run Windows Installer and executable installers, access the per-user registry hive, or perform other tasks outside the current user context.
  • Se agregó compatibilidad con la versión de 32 bits (basada en x86) para la palabra clave Configuration.32-bit (x86-based) support has been added for the Configuration keyword.
  • Windows PowerShell ahora ofrece compatibilidad con la ayuda personalizada para configuraciones de DSC, que se define mediante la adición de [CmdletBinding()] a la función de configuración generada.Windows PowerShell now includes support for custom help for DSC configurations, defined by adding [CmdletBinding()] to the generated configuration function.
  • 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.A new DscLocalConfigurationManager attribute designates a configuration block as a meta-configuration, which is used to configure the DSC Local Configuration Manager. Este atributo restringe una configuración para que únicamente contenga elementos que configuren el Administrador de configuración local de DSC.This attribute restricts a configuration to containing only items which configure the DSC Local Configuration Manager. 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.During processing, this configuration generates a *.meta.mof file that is then sent to the appropriate target nodes by running the Set-DscLocalConfigurationManager cmdlet.
  • Ahora se admiten configuraciones parciales en Windows PowerShell 5.0.Partial configurations are now allowed in Windows PowerShell 5.0. Puede entregar documentos de configuración a un nodo en fragmentos.You can deliver configuration documents to a node in fragments. Para que un nodo reciba varios fragmentos de un documento de configuración, su administrador de configuración local debe estar establecido para especificar los fragmentos esperados.For a node to receive multiple fragments of a configuration document, the node's Local Configuration Manager must be first set to specify the expected fragments
  • La sincronización entre equipos es una novedad de DSC en Windows PowerShell 5.0.Cross-computer synchronization is new in DSC in 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.By using the built-in WaitFor* resources ( WaitForAll , WaitForAny , and WaitForSome ), you can now specify dependencies across computers during configuration runs, without external orchestrations. Estos recursos ofrecen sincronización de nodo a nodo a través de conexiones CIM en el protocolo WS-Man.These resources provide node-to-node synchronization by using CIM connections over the WS-Man protocol. Una configuración puede esperar el cambio de estado del recurso específico de otro equipo.A configuration can wait for another computer's specific resource state to change.
  • 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.Just Enough Administration (JEA), a new delegation security feature, leverages DSC and Windows PowerShell constrained runspaces to help secure enterprises from data loss or compromise by employees, whether intentional or unintentional. Para más información sobre JEA, incluida la ubicación donde puede descargar el recurso DSC de xJEA, consulte Just Enough Administration.For more information about JEA, including where you can download the xJEA DSC resource, see Just Enough Administration.
  • Se agregaron los siguientes cmdlets nuevos al módulo PSDesiredStateConfiguration.The following new cmdlets have been added to the PSDesiredStateConfiguration module.
    • Un nuevo cmdlet Get-DscConfigurationStatus obtiene información de alto nivel acerca del estado de configuración desde un nodo de destino.A new Get-DscConfigurationStatus cmdlet gets high-level information about configuration status from a target node. Puede obtener el estado de todas las configuraciones o solo de la última.You can obtain the status of the last, or of all configurations.
    • Un nuevo cmdlet Compare-DscConfiguration compara una configuración especificada con el estado real de uno o varios nodos de destino.A new Compare-DscConfiguration cmdlet compares a specified configuration with the actual state of one or more target nodes.
    • Un nuevo cmdlet Publish-DscConfiguration copia un archivo MOF de configuración en un nodo de destino, pero no aplica la configuración.A new Publish-DscConfiguration cmdlet copies a configuration MOF file to a target node, but does not apply the configuration. La configuración se aplica durante el siguiente paso de coherencia o cuando se ejecuta el cmdlet Update-DscConfiguration.The configuration is applied during the next consistency pass, or when you run the Update-DscConfiguration cmdlet.
    • 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.A new Test-DscConfiguration cmdlet lets you verify that a resulting configuration matches the desired configuration, returning either True if the configuration matches the desired configuration, or False if the actual configuration does not match the desired configuration.
    • Un nuevo cmdlet Update-DscConfiguration fuerza el procesamiento de una configuración.A new Update-DscConfiguration cmdlet forces a configuration to be processed. 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.If the Local Configuration Manager is in pull mode, the cmdlet gets the configuration from the pull server before applying it.

Nuevas características de Windows PowerShell ISENew features in Windows PowerShell ISE

  • Ahora puede editar scripts y archivos de Windows PowerShell remoto en una copia local de Windows PowerShell ISE. Para ello, debe ejecutar Enter-PSSession para iniciar una sesión remota en el equipo que almacena los archivos que quiera editar y, después, ejecutar PSEdit <path and file name on the remote computer> .You can now edit remote Windows PowerShell scripts and files in a local copy of Windows PowerShell ISE, by running Enter-PSSession to start a remote session on the computer that's storing the files you want to edit, and then running 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.This feature eases editing Windows PowerShell files that are stored on the Server Core installation option of Windows Server, where Windows PowerShell ISE cannot run.
  • El cmdlet Start-Transcript se admite ahora en Windows PowerShell ISE.The Start-Transcript cmdlet is now supported in Windows PowerShell ISE.
  • Ahora puede depurar scripts remotos en Windows PowerShell ISE.You can now debug remote scripts in 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.A new menu command, Break All (Ctrl+B), breaks into the debugger for both local and remotely-running scripts.

Nuevas características de servicios web de Windows PowerShell (Extensión IIS Management OData)New features in Windows PowerShell Web Services (Management OData IIS Extension)

  • A partir de Windows PowerShell 5.0, puede generar un conjunto de cmdlets de Windows PowerShell según la funcionalidad expuesta por un punto de conexión de OData determinado, mediante el cmdlet Export-ODataEndpointProxy, que se encuentra en el nuevo módulo Microsoft.PowerShell.OdataUtils.Starting in Windows PowerShell 5.0, you can generate a set of Windows PowerShell cmdlets based on the functionality exposed by a given OData endpoint, by running the Export-ODataEndpointProxy cmdlet, found in the new Microsoft.PowerShell.OdataUtils module.

Correcciones de errores importantes en Windows PowerShell 5.0Notable bug fixes in 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.Windows PowerShell 5.0 includes a new COM implementation, which offers significant performance improvements when you are working with COM objects. Para ver una demostración en vídeo del efecto, consulte Com_Perf_Improvements.For a video demonstration of the effect, see Com_Perf_Improvements.
  • Se realizaron mejoras de rendimiento importantes en la primera finalización con tabulación en una sesión de Windows PowerShell, lo que reduce el tiempo de finalización con tabulación en casi 500 ms.Significant performance improvements have been made to the first tab completion in a Windows PowerShell session, shortening tab completion time by nearly 500 ms.

Nuevas características de Windows PowerShell 4.0New features in Windows PowerShell 4.0

Windows PowerShell 4.0 es compatible con versiones anteriores.Windows PowerShell 4.0 is backward-compatible. Los cmdlets, proveedores, módulos, complementos, scripts, funciones y perfiles diseñados para Windows PowerShell 3.0 y Windows PowerShell 2.0 funcionan en Windows PowerShell 4.0 sin tener que realizar ningún cambio.Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 3.0 and Windows PowerShell 2.0 work in Windows PowerShell 4.0 without changes.

Windows PowerShell 4.0 está instalado de manera predeterminada en Windows 8.1 y Windows Server 2012 R2.Windows PowerShell 4.0 is installed by default on Windows 8.1 and Windows Server 2012 R2. Para instalar Windows PowerShell 4.0 en Windows 7 con SP1 o Windows Server 2008 R2, descargue e instale Windows Management Framework 4.0.To install Windows PowerShell 4.0 on Windows 7 with SP1, or Windows Server 2008 R2, download and install Windows Management Framework 4.0. Procure leer los detalles de la descarga y cumplir todos los requisitos del sistema antes de instalar Windows Management Framework 4.0.Be sure to read the download details, and meet all system requirements, before you install Windows Management Framework 4.0.

Windows PowerShell 4.0 incluye las siguientes características nuevas.Windows PowerShell 4.0 includes the following new features.

Nuevas características de Windows PowerShellNew features in Windows PowerShell

  • La configuración de estado deseado (DSC) de Windows PowerShell es un nuevo sistema de administración de Windows PowerShell 4.0 que permite implementar y administrar los datos de configuración de servicios de software y el entorno en el que se ejecutan estos servicios.Windows PowerShell Desired State Configuration (DSC) is a new management system in Windows PowerShell 4.0 that enables the deployment and management of configuration data for software services and the environment in which these services run. Para más información sobre DSC, consulte Introducción a la configuración de estado deseado de Windows PowerShell.For more information about DSC, see Get Started with Windows PowerShell Desired State Configuration.
  • Save-Help permite guardar ahora la ayuda relativa a los módulos instalados en equipos remotos.Save-Help now lets you save help for modules that are installed on remote computers. Puede usar Save-Help para descargar la Ayuda del módulo de un cliente conectado a Internet (en el que no tienen por qué estar instalados todos los módulos de los que desea obtener ayuda). Luego, puede copiar la Ayuda guardada en una carpeta compartida remota o en un equipo remoto sin acceso a Internet.You can use Save-Help to download module Help from an Internet-connected client (on which not all of the modules for which you want help are necessarily installed), and then copy the saved Help to a remote shared folder or a remote computer that does not have Internet access.
  • El depurador de Windows PowerShell se mejoró para permitir la depuración de los flujos de trabajo de Windows PowerShell, así como de los scripts que se ejecutan en equipos remotos.The Windows PowerShell debugger has been enhanced to allow debugging of Windows PowerShell workflows, as well as scripts that are running on remote computers. Ahora, los flujos de trabajo de Windows PowerShell se pueden depurar en el nivel de script tanto desde la línea de comandos de Windows PowerShell como desde Windows PowerShell ISE.Windows PowerShell workflows can now be debugged at the script level from either the Windows PowerShell command line or Windows PowerShell ISE. Ahora, los scripts de Windows PowerShell (y también los flujos de trabajo de scripts) se pueden depurar en sesiones remotas.Windows PowerShell scripts, including script workflows, can now be debugged over remote sessions. Las sesiones de depuración remotas se conservan en sesiones remotas de Windows PowerShell que se desconectan y, luego, se vuelven a conectar.Remote debugging sessions are preserved over Windows PowerShell remote sessions that are disconnected and then later reconnected.
  • Gracias al parámetro RunNow de Register-ScheduledJob y Set-ScheduledJob , ya no es necesario definir la fecha y hora de inicio inmediatas en los trabajos con el parámetro Trigger.A RunNow parameter for Register-ScheduledJob and Set-ScheduledJob eliminates the need to set an immediate start date and time for jobs by using the Trigger parameter.
  • Ahora, Invoke-RestMethod e Invoke-WebRequest permiten definir todos los encabezados con el parámetro Headers.Invoke-RestMethod and Invoke-WebRequest now let you set all headers by using the Headers parameter. Aunque este parámetro siempre ha existido, era uno de los diversos parámetros para cmdlets web que provocaban errores o excepciones.Although this parameter has always existed, it was one of several parameters for the web cmdlets that resulted in exceptions or errors.
  • Get-Module tiene un nuevo parámetro, FullyQualifiedName , del tipo ModuleSpecification[] .Get-Module has a new parameter, FullyQualifiedName , of the type ModuleSpecification[]. Ahora, el parámetro FullyQualifiedName de Get-Module permite especificar un módulo mediante su nombre, versión y, opcionalmente, su GUID.The FullyQualifiedName parameter of Get-Module now lets you specify a module by using the module's name, version, and optionally, its GUID.
  • La configuración de directiva de ejecución predeterminada en Windows Server 2012 R2 es RemoteSigned.The default execution policy setting on Windows Server 2012 R2 is RemoteSigned. En Windows 8.1, no hay ningún cambio en la configuración predeterminada.On Windows 8.1, there is no change in default setting.
  • A partir de Windows PowerShell 4.0, es posible invocar métodos mediante nombres de método dinámicos.Starting in Windows PowerShell 4.0, method invocation by using dynamic method names is supported. Así, se puede usar una variable para almacenar un nombre de método y, luego, invocar dinámicamente el método llamando a esa variable.You can use a variable to store a method name, and then dynamically invoke the method by calling the variable.
  • Los trabajos de flujo de trabajo asincrónicos ya no se eliminan cuando ha transcurrido el tiempo de espera especificado en el parámetro común de flujo de trabajo PSElapsedTimeoutSec.Asynchronous workflow jobs are no longer deleted when the time-out period that is specified by the PSElapsedTimeoutSec workflow common parameter has elapsed.
  • Se ha agregado un nuevo parámetro ( RepeatIndefinitely ) a los cmdlets New-JobTrigger y Set-JobTrigger.A new parameter, RepeatIndefinitely , has been added to the New-JobTrigger and Set-JobTrigger cmdlets. Con este parámetro, ya no es necesario especificar un valor TimeSpan.MaxValue para el parámetro RepetitionDuration para que un trabajo programado se ejecute de forma repetida durante un período indefinido.This eliminates the necessity of specifying a TimeSpan.MaxValue value for the RepetitionDuration parameter to run a scheduled job repeatedly for an indefinite period.
  • Se ha agregado un parámetro Passthru a los cmdlets Enable-JobTrigger y Disable-JobTrigger.A Passthru parameter has been added to the Enable-JobTrigger and Disable-JobTrigger cmdlets. El parámetro Passthru muestra los objetos que el comando crea o modifica.The Passthru parameter displays any objects that are created or modified by your command.
  • Ahora, los nombres de parámetro para especificar un grupo de trabajo en los cmdlets Add-Computer y Remove-Computer son coherentes,The parameter names for specifying a workgroup in the Add-Computer and Remove-Computer cmdlets are now consistent. ya que ambos cmdlets usan el parámetro WorkgroupName.Both cmdlets now use the parameter WorkgroupName.
  • Se ha agregado un nuevo parámetro común, PipelineVariable.A new common parameter, PipelineVariable , has been added. PipelineVariable permite guardar los resultados de un comando canalizado (o de parte de un comando canalizado) como una variable que se puede pasar a través del resto de la canalización.PipelineVariable lets you save the results of a piped command (or part of a piped command) as a variable that can be passed through the remainder of the pipeline.
  • Ahora se puede usar una sintaxis de método para filtrar colecciones.Collection filtering by using a method syntax is now supported. Esto significa que una colección de objetos se puede filtrar usando una sintaxis simplificada, similar a la de Where() o Where-Object, con el formato de una llamada a método.This means that you can now filter a collection of objects by using simplified syntax, similar to that for Where() or Where-Object, formatted as a method call. A continuación se muestra un ejemplo: (Get-Process).where({$.Name -match 'powershell'})The following is an example: (Get-Process).where({$.Name -match 'powershell'})
  • El cmdlet Get-Process tiene un nuevo parámetro de modificador, IncludeUserName.The Get-Process cmdlet has a new switch parameter, IncludeUserName.
  • Se ha agregado un nuevo cmdlet, Get-FileHash , que devuelve un hash de archivo en uno de los distintos formatos de un archivo concreto.A new cmdlet, Get-FileHash , that returns a file hash in one of several formats for a specified file, has been added.
  • En Windows PowerShell 4.0, si un módulo usa la clave DefaultCommandPrefix en su manifiesto, o si el usuario importa un módulo con el parámetro Prefix , la propiedad ExportedCommands del módulo muestra los comandos en el módulo con el prefijo.In Windows PowerShell 4.0, if a module uses the DefaultCommandPrefix key in its manifest, or if the user imports a module with the Prefix parameter, the ExportedCommands property of the module shows the commands in the module with the prefix. Cuando se ejecutan comandos usando la sintaxis de módulo completo (nombreDelMódulo\nombreDelComando), los nombres de comando deben incluir el prefijo.When you run the commands by using the module-qualified syntax, ModuleName\CommandName, the command names must include the prefix.
  • El valor de $PSVersionTable.PSVersion se ha actualizado a 4.0.The value of $PSVersionTable.PSVersion has been updated to 4.0.
  • El comportamiento del operador Where() ha cambiado.Where() operator behavior has changed. Ya no se admite que Collection.Where('property -match name') acepte una expresión de cadena con el formato "Property -CompareOperator Value".Collection.Where('property -match name') accepting a string expression in the format "Property -CompareOperator Value" is no longer supported. Sin embargo, el operador Where() sí sigue aceptando expresiones de cadena con formato de bloque de script.However, the Where() operator accepts string expressions in the format of a scriptblock; this is still supported.

Nuevas características del Entorno de scripting integrado (ISE) de Windows PowerShellNew features in Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell ISE admite la depuración tanto del flujo de trabajo de Windows PowerShell como de scripts remotos.Windows PowerShell ISE supports both Windows PowerShell Workflow debugging and remote script debugging.
  • Se ha agregado compatibilidad con IntelliSense para los proveedores y configuraciones de la configuración de estado deseado de Windows PowerShell.IntelliSense support has been added for Windows PowerShell Desired State Configuration providers and configurations.

Nuevas características del flujo de trabajo de Windows PowerShellNew features in Windows PowerShell Workflow

  • Se ha agregado compatibilidad con un nuevo parámetro común PipelineVariable en el contexto de las canalizaciones iterativas, como las que se usan en System Center Orchestrator; es decir, canalizaciones que ejecutan comandos simplemente de izquierda a derecha, en contraposición a la ejecución intercalada mediante streaming.Support has been added for a new PipelineVariable common parameter in the context of iterative pipelines, such as those used by System Center Orchestrator; that is, pipelines that run commands simply left-to-right, as opposed to interspersed running by using streaming.
  • El enlace de parámetros ha mejorado notablemente y ahora funciona fuera de escenarios de finalización con tabulación, como sucede con los comandos que no existen en el espacio de ejecución actual.Parameter binding has been significantly enhanced to work outside of tab completion scenarios, such as with commands that do not exist in the current runspace.
  • Se ha agregado compatibilidad con las actividades de contenedor personalizadas al flujo de trabajo de Windows PowerShell.Support for custom container activities has been added to Windows PowerShell Workflow. Si un parámetro de actividad es de tipo Activity , Activity[] o es una colección genérica de actividades y el usuario especificó un bloque de script como argumento, el flujo de trabajo de Windows PowerShell convierte el bloque de script a XAML, como sucede con la compilación de script a flujo de trabajo de Windows PowerShell normal.If an activity parameter is of the types Activity , Activity[] (or is a generic collection of activities) and the user has supplied a script block as an argument, then Windows PowerShell Workflow converts the script block to XAML, as with normal Windows PowerShell script-to-workflow compilation.
  • Después de un bloqueo, el flujo de trabajo de Windows PowerShell vuelve a conectarse automáticamente a los nodos administrados.After a crash, Windows PowerShell Workflow automatically reconnects to managed nodes.
  • Ahora, puede limitar las instrucciones de actividad de Foreach -Parallel con la propiedad ThrottleLimit.You can now throttle Foreach -Parallel activity statements by using the ThrottleLimit property.
  • El parámetro común ErrorAction tiene un nuevo valor válido, Suspend , exclusivo para flujos de trabajo.The ErrorAction common parameter has a new valid value, Suspend , that is exclusively for workflows.
  • Ahora, un extremo de flujo de trabajo se cierra automáticamente si no hay sesiones activas, trabajos en curso o trabajos pendientes.A workflow endpoint now automatically closes if there are no active sessions, no in-progress jobs, and no pending jobs. Esta característica conserva los recursos en el equipo que actúa como servidor de flujo de trabajo cuando se cumplen las condiciones de cierre automático.This feature conserves resources on the computer that is acting as the workflow server, when the automatic closure conditions have been met.

Nuevas características de servicios web de Windows PowerShellNew features in Windows PowerShell Web Services

  • Si se produce un error en los servicios web de Windows PowerShell (PSWS, también denominado Extensión IIS Management OData) mientras se ejecuta un cmdlet, los mensajes de error que recibe el autor de la llamada son más detallados.When an error occurs in Windows PowerShell Web Services (PSWS, also called Management OData IIS Extension), while a cmdlet is running, more detailed error messages are returned to the caller. Además, los códigos de error siguen las directrices de códigos de error de la API de REST de Azure.In addition, error codes follow Windows Azure REST API error code guidelines.
  • Ahora, un extremo puede definir la versión de API, así como exigir el uso de una versión específica de la API.An endpoint can now define the API version, as well as enforce the usage of a specific API version. Si se produce una discrepancia de versión entre el cliente y el servidor, los errores se muestran tanto en el cliente como en el servidor.Whenever version mismatches occur between client and server, errors are displayed to both the client and the server.
  • La administración del esquema de distribución se ha simplificado, ya que ahora los valores de los campos que faltan en el esquema se generan automáticamente.Management of the dispatch schema has been simplified by automatically generating values for any missing fields in the schema. Los valores se generan aunque el esquema de distribución no exista, lo que constituye un punto de partida de gran ayuda.Generation occurs, as a helpful starting point, even if the dispatch schema does not exist.
  • El tratamiento de tipos en PSWS mejoró y ahora admite tipos que usan un constructor diferente al constructor predeterminado, en un comportamiento similar al de PSTypeConverter en Windows PowerShell.Type handling in PSWS has been improved to support types that use a different constructor than the default constructor, by behaving similarly to the PSTypeConverter in Windows PowerShell. Esto permite usar tipos complejos con PSWS.This lets you use complex types with PSWS.
  • Ahora, PSWS permite expandir una instancia asociada mientras una consulta se ejecuta.PSWS now allows expanding an associated instance while running a query. El coste de transferencia de contenido binario de gran volumen (como imágenes, audio o vídeos) es significativo, de modo que es mejor transferir datos binarios sin codificación.For larger binary contents (such as images, audio, or video), the transfer cost is significant, and it is better to transfer binary data without encoding. PSWS usa secuencias de recurso con nombre para realizar transferencias sin codificación.PSWS uses named resource streams for transferring without encoding. La secuencia de recurso con nombre es una propiedad de una entidad de tipo Edm.Stream.The named resource stream is a property of an entity of the Edm.Stream type. Cada secuencia de recurso con nombre tiene un URI diferente para las operaciones GET o UPDATE.Each named resource stream has a separate URI for GET or UPDATE operations.
  • Ahora, las acciones de OData proporcionan un mecanismo para invocar métodos distintos a Crear, Leer, Actualizar y Eliminar en un recurso.OData actions now provide a mechanism for invoking non-CRUD (Create, Read, Update, and Delete) methods on a resource. Se puede invocar una acción enviando una solicitud HTTP POST al URI definido para la acción.You can invoke an action by sending an HTTP POST request to the URI that is defined for the action. Los parámetros de la acción se definen en el cuerpo de la solicitud POST.The parameters for the action are defined in the body of the POST request.
  • A fin de mantener la coherencia con las directrices de Microsoft Azure, es necesario simplificar todas las direcciones URL.To be consistent with Windows Azure guidelines, all URLs should be simplified. Un cambio incluido en Key As Segment permite representar claves sencillas como segmentos.A change included in Key As Segment allows single keys to be represented as segments. Tenga en cuenta que, como antes, las referencias en las que se usan varios valores de clave requieren valores separados por comas en la notación entre paréntesis.Note that references that use multiple key values require comma-separated values in parenthetical notation, as before.
  • Antes de esta versión de PSWS, la única forma de llevar a cabo operaciones de creación, actualización y eliminación consistía en invocar Post, Put o Delete en un recurso de primer nivel.Before this release of PSWS, the only way to perform Create, Update, or Delete operations was to invoke Post, Put, or Delete on a top-level resource. La novedad en esta versión de PSWS es que las operaciones de recursos incluidos permiten a los usuarios lograr los mismos resultados cuando el acceso al mismo recurso es menos directo, como si ese recurso fuera un recurso incluido.New in this release of PSWS, Contained Resource operations let users achieve the same results while reaching the same resource less directly, approaching as if these resources were contained.

Nuevas características de Windows PowerShell Web AccessNew features in Windows PowerShell Web Access

  • Puede desconectarse de sesiones existentes y volver a conectarse a ellas en la consola de Windows PowerShell Web Access basada en web.You can disconnect from and reconnect to existing sessions in the web-based Windows PowerShell Web Access console. Un botón Guardar en la consola basada en web permite desconectarse de una sesión sin eliminarla y volver a conectarse a ella.A Save button in the web-based console lets you disconnect from a session without deleting it and reconnect to the session another time.
  • Los parámetros predeterminados se pueden mostrar en la página de inicio de sesión.Default parameters can be displayed on the sign-in page. Para mostrar los parámetros predeterminados, configure los valores de todas las opciones recogidas en el área Configuración de conexión opcional de la página de inicio de sesión en un archivo denominado web.config. Puede usar el archivo web.config para configurar todas las opciones de conexión opcionales, salvo otro conjunto de credenciales.To display default parameters, configure values for all of the settings displayed in the Optional Connection Settings area of the sign-in page in a file named web.config. You can use the web.config file to configure all optional connection settings except for a second or alternate set of credentials.
  • En Windows Server 2012 R2, las reglas de autorización de Windows PowerShell Web Access se pueden administrar de manera remota.In Windows Server 2012 R2, you can remotely manage authorization rules for Windows PowerShell Web Access. Ahora, los cmdlets Add-PswaAuthorizationRule y Test-PswaAuthorizationRule incluyen un parámetro Credential con el que los administradores pueden administrar reglas de autorización desde un equipo remoto o en una sesión de Windows PowerShell Web Access.The Add-PswaAuthorizationRule and Test-PswaAuthorizationRule cmdlets now include a Credential parameter that enables administrators to manage authorization rules from a remote computer or in a Windows PowerShell Web Access session.
  • Ahora puede tener varias sesiones de Windows PowerShell Web Access en una única sesión de explorador usando una nueva pestaña de explorador en cada sesión.You can now have multiple Windows PowerShell Web Access sessions in a single browser session by using a new browser tab for each session. Ya no es necesario abrir una nueva sesión del explorador para conectarse a una sesión nueva en la consola de Windows PowerShell basada en web.You no longer need to open a new browser session to connect to a new session in the web-based Windows PowerShell console.

Correcciones de errores importantes en Windows PowerShell 4.0Notable bug fixes in Windows PowerShell 4.0

  • Get-Counter puede ahora devolver contadores que contienen un carácter de apóstrofo en las ediciones en francés de Windows.Get-Counter can now return counters that contain an apostrophe character in French editions of Windows.
  • Ahora el método GetType se puede ver en objetos deserializados.You can now view the GetType method on deserialized objects.
  • Las instrucciones #Requires permiten ahora a los usuarios requerir derechos de acceso de administrador si así lo precisan.#Requires statements now let users require Administrator access rights, if needed.
  • El cmdlet Import-Csv omite ahora las líneas vacías.The Import-Csv cmdlet now ignores blank lines.
  • Se solucionó un problema en el que Windows PowerShell ISE usaba demasiada memoria al ejecutar un comando Invoke-WebRequest.A problem where Windows PowerShell ISE uses too much memory when you are running an Invoke-WebRequest command has been fixed.
  • Get-Module muestra ahora las versiones de módulo en una columna Version.Get-Module now displays module versions in a Version column.
  • Remove-Item -Recurse ahora quita los elementos de las subcarpetas, como es de esperar.Remove-Item -Recurse now removes items from subfolders as expected.
  • Se agregó una propiedad UserName a los objetos de salida Get-Process.A UserName property has been added to Get-Process output objects.
  • El cmdlet Invoke-RestMethod devuelve ahora todos los resultados disponibles.The Invoke-RestMethod cmdlet now returns all available results.
  • Ahora, Add-Member surte efecto en las tablas hash, aun cuando no se haya tenido acceso a esas tablas hash.Add-Member now takes effect on hashtables, even if the hashtables have not yet been accessed.
  • Select-Object -Expand ya no genera un error o una excepción si el valor de la propiedad es NULL o está vacío.Select-Object -Expand no longer fails or generates an exception if the value of the property is null or empty.
  • Get-Process se puede usar ahora en una canalización con otros comandos que obtienen la propiedad ComputerName de los objetos.Get-Process can now be used in a pipeline with other commands that get the ComputerName property from objects.
  • Ahora, ConverTo-Json y ConvertFrom-Json pueden aceptar términos entre comillas dobles y sus mensajes de error son localizables.ConvertTo-Json and ConvertFrom-Json can now accept terms within double quotes, and its error messages are now localizable.
  • Get-Job devuelve ahora cualquier trabajo programado completado, incluso en las nuevas sesiones.Get-Job now returns any completed scheduled jobs, even in new sessions.
  • Se solucionaron los problemas con el montaje y desmontaje de VHD con el proveedor FileSystem en Windows PowerShell 4.0.Issues with mounting and unmounting VHDs by using the FileSystem provider in Windows PowerShell 4.0 have been fixed. Ahora, Windows PowerShell es capaz de detectar nuevas unidades de disco cuando se montan en la misma sesión.Windows PowerShell is now able to detect new drives when they are mounted in the same session.
  • Ya no es necesario cargar explícitamente los módulos ScheduledJob o Workflow para trabajar con sus tipos de trabajo.You no longer need to explicitly load ScheduledJob or Workflow modules to work with their job types.
  • Se han realizado mejoras de rendimiento en el proceso de importación de flujos de trabajo que definen los flujos de trabajo anidados. Este proceso es ahora más rápido.Performance improvements have been made to the process of importing workflows that define nested workflows; this process is now faster.

Nuevas características de Windows PowerShell 3.0New features in Windows PowerShell 3.0

Windows PowerShell 3.0 incluye las siguientes características nuevas.Windows PowerShell 3.0 includes the following new features.

Flujo de trabajo de Windows PowerShellWindows PowerShell Workflow

El flujo de trabajo de Windows PowerShell reúne toda la eficacia de Windows Workflow Foundation en Windows PowerShell.Windows PowerShell Workflow brings the power of Windows Workflow Foundation to Windows PowerShell. Así, puede escribir flujos de trabajo en XAML o en el lenguaje de Windows PowerShell y ejecutarlos tal y como ejecutaría un cmdlet.You can write workflows in XAML or in the Windows PowerShell language and run them just as you would run a cmdlet. El cmdlet Get-Command obtiene los comandos de flujo de trabajo y el cmdlet Get-Help obtiene ayuda para los flujos de trabajo.The Get-Command cmdlet gets workflow commands and the Get-Help cmdlet gets help for workflows.

Los flujos de trabajo son secuencias de actividades de administración de varios equipos de larga ejecución, repetibles, frecuentes y que se pueden paralelizar, interrumpir, suspender y reiniciar.Workflows are sequences of multicomputer management activities that are long-running, repeatable, frequent, parallelizable, interruptible, suspendable, and restartable. Los flujos de trabajo se pueden reanudar desde una interrupción intencional o accidental, como un corte del suministro eléctrico, un reinicio de Windows o una interrupción de la red.Workflows can be resumed from an intentional or accidental interruption, such as a network outage, a Windows restart, or a power failure.

Los flujos de trabajo son, además, portátiles. Pueden exportarse como archivos XAML o importarse desde ellos.Workflows are also portable; they can be exported as or imported from XAML files. Puede escribir configuraciones de sesión personalizadas que permitan que usuarios delegados o subordinados ejecuten el flujo de trabajo o las actividades de un flujo de trabajo.You can write custom session configurations that allow workflow or activities in a workflow to be run by delegated or subordinate users.

La siguiente lista describe muchos de los beneficios del flujo de trabajo de Windows PowerShell.The following are the benefits of Windows PowerShell Workflow

  • Automatización de tareas secuenciadas y de larga ejecución.Automation of sequenced, long-running tasks.
  • Supervisión remota de tareas de larga ejecución.Remote monitoring of long-running tasks. El estado y progreso de las actividades están visibles en cualquier momento.Status and progress of activities are visible at any time.
  • Administración de varios equipos.Multicomputer management. Ejecute tareas como flujos de trabajo simultáneamente en cientos de nodos administrados.Simultaneously run tasks as workflows on hundreds of managed nodes. El flujo de trabajo de Windows PowerShell incluye una biblioteca integrada de parámetros de administración comunes, como PSComputerName , que hacen posibles escenarios de administración de varios equipos.Windows PowerShell Workflow includes a built-in library of common management parameters, such as PSComputerName , which enable multi-computer management scenarios.
  • Ejecución de procesos complejos con una tarea única.Single task execution of complex processes. En un solo flujo de trabajo se pueden combinar varios scripts relacionados que implementen un escenario completo.You can combine related scripts that implement an entire end-to-end scenario into a single workflow.
  • Persistencia : un flujo de trabajo se guarda (o se marca) en puntos específicos definidos por su autor, de forma que ese flujo de trabajo se puede reanudar desde la última tarea (o punto de comprobación) que se ha guardado, en lugar de tener que reiniciarlo desde el principio.Persistence. : a workflow is saved (or check-pointed) at specific points defined by its author so you can resume the workflow from the last persisted task (or checkpoint), instead of restarting the workflow from the beginning.
  • Solidez.Robustness. Recuperación de errores automatizada.Automated failure recovery. Los flujos de trabajo son inmunes a los reinicios, tanto si son planeados como si no.Workflows survive planned and unplanned restarts. Por lo tanto, se puede suspender la ejecución de un flujo de trabajo y después reanudar el flujo de trabajo desde el último punto de persistencia.You can suspend workflow execution and then resume the workflow from the last persistence point. Los autores de flujos de trabajo pueden designar actividades específicas para que se vuelvan a ejecutar en caso de error en uno o más nodos administrados.Workflow authors can designate specific activities to be re-run in case of failure on one or more managed nodes.
  • Capacidad para desconectarse, volver a conectarse y ejecutarse en sesiones desconectadas.Ability to disconnect, reconnect, and run in disconnected sessions. Los usuarios se pueden conectar y desconectar del servidor de flujo de trabajo, pero este sigue ejecutándose de manera continua.Users can connect and disconnect from the workflow server, but the workflow runs continuously. Puede cerrar la sesión en el equipo cliente o reiniciar el equipo cliente y supervisar la ejecución del flujo de trabajo desde otro equipo sin interrumpirlo.You can log off of the client computer or restart the client computer and monitor the workflow execution from another computer without interrupting the workflow.
  • Programación.Scheduling. Las tareas de flujo de trabajo se pueden programar como cualquier script o cmdlet de Windows PowerShell.Workflow tasks can be scheduled like any Windows PowerShell cmdlet or script.
  • Limitación del flujo de trabajo y la conexión.Workflow and Connection Throttling. La ejecución del flujo de trabajo y las conexiones a los nodos se pueden limitar, lo que permite escenarios de alta disponibilidad y escalabilidad.Workflow execution and connections to nodes can be throttled, thus enabling scalability and high-availability scenarios.

Windows PowerShell Web AccessWindows PowerShell Web Access

Windows PowerShell Web Access es una característica de Windows Server 2012 con la que los usuarios pueden ejecutar comandos y scripts de Windows PowerShell en una consola basada en web.Windows PowerShell Web Access is a Windows Server 2012 feature that lets users run Windows PowerShell commands and scripts in a web-based console. Los dispositivos que usan la consola basada en web no requieren la instalación de Windows PowerShell, de un software de administración remota o de un complemento de explorador.Devices that use the web-based console do not require Windows PowerShell, remote management software, or browser plug-in installations. Lo único que se necesita es una puerta de enlace de Windows PowerShell Web Access correctamente configurada y un explorador del dispositivo cliente que admita JavaScript y acepte cookies.All that is required is a properly-configured Windows PowerShell Web Access gateway and a client device browser that supports JavaScript and accepts cookies.

Para obtener más información, consulte Windows PowerShell Web Access.For more information, see Deploy Windows PowerShell Web Access.

Nuevas características de Windows PowerShell ISENew Windows PowerShell ISE Features

En Windows PowerShell 3.0, Entorno de scripting integrado de Windows PowerShell (ISE) posee un gran número de características nuevas, como IntelliSense, la ventana Show-Command, un panel de consola unificado, fragmentos de código, coincidencia de llaves, expansión y contracción de secciones, guardado automático, lista de elementos recientes, copia enriquecida, copia en bloque y plena compatibilidad para escribir flujos de trabajo de scripts de Windows PowerShell.For Windows PowerShell 3.0, Windows PowerShell Integrated Scripting Environment (ISE) has many new features, including IntelliSense, Show-Command window, a unified Console Pane, snippets, brace-matching, expand-collapse sections, auto-save, recent items list, rich copy, block copy, and full support for writing Windows PowerShell script workflows. Para más información, consulte about_Windows_PowerShell_ISE.For more information, see about_Windows_PowerShell_ISE.

Compatibilidad con Microsoft .NET Framework 4Support for Microsoft .NET Framework 4

Windows PowerShell se basa en Common Language Runtime 4.0.Windows PowerShell is built against the Common Language Runtime 4.0. Los autores de cmdlets, scripts y flujos de trabajo pueden usar las nuevas clases de Microsoft .NET Framework 4 en Windows PowerShell, con características como compatibilidad e implementación de aplicaciones, Managed Extensibility Framework, informática en paralelo, redes, Windows Communication Foundation y Windows Workflow Foundation.Cmdlet, script, and workflow authors can use the new Microsoft .NET Framework 4 classes in Windows PowerShell, with features that include Application Compatibility and Deployment, Managed Extensibility Framework, Parallel Computing, Networking, Windows Communication Foundation and Windows Workflow Foundation.

Compatibilidad con el Entorno de preinstalación de WindowsSupport for Windows Preinstallation Environment

Windows PowerShell 3.0 es un componente opcional del Entorno de preinstalación de Windows (Windows PE) 4.0 para Windows 8.Windows PowerShell 3.0 is an optional component of Windows Preinstallation Environment (Windows PE) 4.0 for Windows 8. Windows PE es un sistema operativo mínimo que inicia un equipo que no tiene ningún sistema operativo y lo prepara para instalar Windows.Windows PE is a minimal operating system that starts a computer that has no operating system and prepares it for Windows installation. Windows PE se puede usar para particionar y formatear discos duros, copiar imágenes de disco en un equipo e iniciar el programa de instalación de Windows desde un recurso compartido de red.Windows PE can be used to partition and format hard drives, copy disk images to a computer, and initiate Windows Setup from a network share. Windows PowerShell 3.0, a su vez, se puede usar en Windows PE para administrar la implementación, los diagnósticos y los escenarios de recuperación.Windows PowerShell 3.0 can be used on Windows PE to manage deployment, diagnostics, and recovery scenarios.

Sesiones desconectadasDisconnected Sessions

Desde Windows PowerShell 3.0, las sesiones persistentes administradas por el usuario ("PSSessions") que se creen con el cmdlet New-PSSession se guardan en el equipo remoto.Beginning in Windows PowerShell 3.0, persistent user-managed sessions ("PSSessions") that you create by using the New-PSSession cmdlet are saved on the remote computer. Ya no son dependientes de la sesión en la que se han creado.They are no longer dependent on the session in which they were created.

Ahora puede desconectarse de una sesión sin interrumpir los comandos que se ejecutan en ella.You can now disconnect from a session without disrupting the commands that are running in the session. Puede cerrar la sesión y apagar el equipo.You can close the session and shut down your computer. Más adelante, puede volver a conectarse a la sesión desde una sesión diferente en el mismo equipo o en otro diferente.Later, you can reconnect to the session from a different session on the same or on a different computer.

El parámetro ComputerName del cmdlet Get-PSSession obtiene ahora todas las sesiones del usuario que se conectan al equipo, aunque se hayan iniciado en una sesión diferente en otro equipo.The ComputerName parameter of the Get-PSSession cmdlet now gets all of the user's sessions that connect to the computer, even if they were started in a different session on a different computer. Puede conectarse a las sesiones, obtener los resultados de comandos, iniciar nuevos comandos y, tras ello, desconectarse de la sesión.You can connect to the sessions, get the results of commands, start new commands, and then disconnect from the session.

Se han incorporado nuevos cmdlets para admitir la característica de sesiones desconectadas, como Disconnect-PSSession, Connect-PSSession y Receive-PSSession, y se han agregado nuevos parámetros a los cmdlets para administrar PSSessions, como el parámetro InDisconnectedSession del cmdlet Invoke-Command.New cmdlets have been added to support the Disconnected Sessions feature, including Disconnect-PSSession, Connect-PSSession, and Receive-PSSession, and new parameters have been added to cmdlets that manage PSSessions, such as the InDisconnectedSession parameter of the Invoke-Command cmdlet.

La característica de sesiones desconectadas es posible únicamente cuando los equipos en los extremos tanto de origen ("cliente") como de finalización ("servidor") de la conexión ejecutan Windows PowerShell 3.0.The Disconnected Sessions feature is supported only when the computers at both the originating ("client") and terminating ("server") ends of the connection are running Windows PowerShell 3.0.

Conectividad de sesiones sólidaRobust Session Connectivity

Windows PowerShell 3.0 detecta pérdidas inesperadas de conectividad entre el cliente y el servidor e intenta restablecerla y reanudar la ejecución automáticamente.Windows PowerShell 3.0 detects unexpected losses of connectivity between the client and server and attempts to reestablish connectivity and resume execution automatically. Si no se puede restablecer la conexión cliente-servidor en el tiempo asignado, se notifica al usuario y la sesión se desconecta.If the client-server connection cannot be reestablished in the allotted time, the user is notified and the session is disconnected. Durante el intento de reconexión, Windows PowerShell ofrece información continuamente al usuario.During the attempt to reconnect, Windows PowerShell provides continuous feedback to the user.

Si la sesión desconectada se inició con InvokeCommand, Windows PowerShell crea un trabajo relativo a la sesión desconectada para que sea más fácil volver a conectarse y reanudar la ejecución.If the disconnected session was started by using the InvokeCommand, Windows PowerShell creates a job for the disconnected session to make it easier to reconnect and resume execution.

Estas características proporcionan una experiencia de comunicación remota más confiable y recuperable y, asimismo, permiten a los usuarios realizar tareas de larga ejecución que requieren sesiones sólidas, como los flujos de trabajo.These features provide a more reliable and recoverable remoting experience and allow users to perform long-running tasks that require robust sessions, such as workflows.

Sistema de ayuda actualizableUpdatable Help System

Ahora puede descargar archivos de ayuda actualizados correspondientes a los cmdlets de sus módulos.You can now download updated help files for the cmdlets in your modules. El cmdlet Update-Help identifica los archivos de ayuda más recientes, los descarga de Internet, los desempaqueta y valida y, por último, los instala en el directorio específico del idioma pertinente del módulo.The Update-Help cmdlet identifies the newest help files, downloads them from the Internet, unpacks them, validates them, and installs them in the correct language-specific directory for the module.

Para usar los archivos de ayuda actualizados, basta con escribir Get-Help.To use the updated help files, just type Get-Help. No es necesario reiniciar Windows ni Windows PowerShell.You do not need to restart Windows or Windows PowerShell. Para actualizar la ayuda de los módulos en el directorio $pshome, inicie Windows PowerShell con la opción "Ejecutar como administrador".To update help for modules in the $pshome directory, start Windows PowerShell with the "Run as administrator" option.

Para admitir usuarios que no tienen acceso a Internet y usuarios detrás de firewalls, el nuevo cmdlet Save-Help descarga los archivos de ayuda en un directorio del sistema de archivos, como un recurso compartido de archivos.To support users who don't have Internet access and users behind firewalls, the new Save-Help cmdlet downloads help files to a file system directory, such as a file share. De este modo, los usuarios pueden usar el cmdlet Update-Help para obtener archivos de ayuda actualizados del recurso compartido de archivos.Users can then use the Update-Help cmdlet to get updated help files from the file share.

El cmdlet Update-Help se puede usar para actualizar los archivos de ayuda de todos los módulos (o solo de algunos en particular) en todos los idiomas de la interfaz de usuario compatibles.You can use the Update-Help cmdlet to update help files for all or particular modules in all supported UI cultures. También puede incluir un comando Update-Help en su perfil de Windows PowerShell.You can even put an Update-Help command in your Windows PowerShell profile. De manera predeterminada, Windows PowerShell descarga los archivos de ayuda de un módulo no más de una vez al día.By default, Windows PowerShell downloads the help files for a module no more than once each day.

Los módulos de Windows 8 y Windows Server 2012 no incluyen archivos de ayuda.Windows 8 and Windows Server 2012 modules do not include help files. Para descargar los archivos de ayuda más recientes, escriba Update-Help.To download the latest help files, type Update-Help. Para más información, escriba Get-Help (sin parámetros) o consulte about_Updatable_Help.For more information, type Get-Help (without parameters) or see about_Updatable_Help.

Si los archivos de ayuda de un cmdlet no están instalados en el equipo, el cmdlet Get-Help muestra ahora ayuda generada automáticamente.When the help files for a cmdlet are not installed on the computer, the Get-Help cmdlet now displays auto-generated help. La ayuda generada automáticamente incluye la sintaxis y las instrucciones de los comandos para usar el cmdlet Update-Help para descargar archivos de ayuda.The auto-generated help includes the command syntax and instructions for using the Update-Help cmdlet to download help files.

Cualquier autor de módulos puede incluir compatibilidad con la ayuda actualizable en su módulo.Any module author can support Updatable Help for their module. Puede incluir archivos de ayuda en el módulo y usar la ayuda actualizable para actualizarlos u omitir los archivos de ayuda y usar la ayuda actualizable para instalarlos.You can include help files in the module and use Updatable Help to update them or omit the help files and use Updatable Help to install them. Para más información sobre cómo admitir la ayuda actualizable, consulte Compatibilidad con la ayuda actualizable.For more information about supporting Updatable Help, see Supporting Updatable Help.

Mejor ayuda en líneaEnhanced Online Help

La ayuda en línea de Windows PowerShell es un recurso valioso para todos los usuarios, pero es especialmente importante para los usuarios que no han instalado o no pueden instalar archivos de ayuda actualizados.Windows PowerShell online help is a valuable resource for all users, but it is especially important to users who do not or cannot install updated help files.

Para ayuda en línea sobre cualquier cmdlet de Windows PowerShell, escriba:To get online help for any Windows PowerShell cmdlet, type:

Get-Help <cmdlet-name> -Online

Windows PowerShell abrirá la versión en línea de un tema de Ayuda en el explorador de Internet predeterminado.Windows PowerShell opens the online version of the help topic in your default Internet browser.

Ahora, la característica Get-Help -Online de Windows PowerShell 3.0 es todavía más eficaz, puesto que funciona incluso cuando los archivos de ayuda del cmdlet no están instalados en el equipo.The Get-Help -Online feature in Windows PowerShell 3.0 is now even more powerful because it works even when help files for the cmdlet are not installed on the computer. La característica Get-Help -Online obtiene el URI del tema de ayuda en línea de la propiedad HelpUri de los cmdlets y las funciones avanzadas.The Get-Help -Online feature gets the URI for online help topic from the HelpUri property of cmdlets and advanced functions.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

A partir de Windows PowerShell 3.0, los autores de cmdlets de C# pueden rellenar la propiedad HelpUri si crean un atributo HelpUri en la clase del cmdlet.Beginning in Windows PowerShell 3.0, authors of C# cmdlets can populate the HelpUri property by creating a HelpUri attribute on the cmdlet class. Los autores de funciones avanzadas pueden definir una propiedad HelpUri en el atributo CmdletBinding.Authors of advanced functions can define a HelpUri property on the CmdletBinding attribute. El valor de la propiedad HelpUri debe empezar por "http" o "https".The value of the HelpUri property must begin with "http" or "https".

También puede incluir un valor de HelpUri en el primer vínculo relacionado de un archivo de ayuda de cmdlet basado en XML o la directiva .Link de la ayuda basada en comentarios de una función.You can also include a HelpUri value in the first related link of an XML-based cmdlet help file or the .Link directive of comment-based help in a function.

Para más información sobre cómo admitir la ayuda en línea, vea el tema sobre la compatibilidad con la ayuda en línea en Microsoft Docs.For more information about supporting online help, see Supporting Online Help in the Microsoft Docs.

Integración de CIMCIM integration

Windows PowerShell 3.0 incluye compatibilidad con el Modelo de información común (CIM), el que proporciona definiciones comunes de información de administración de sistemas, redes, aplicaciones y servicios, lo que permite intercambiar información de administración entre sistemas heterogéneos.Windows PowerShell 3.0 includes support for the Common Information Model (CIM), which provides common definitions of management information for systems, networks, applications, and services, allowing them the exchange of management information between heterogeneous systems. La compatibilidad con CIM de Windows PowerShell 3.0 incluye la posibilidad de crear cmdlets de Windows PowerShell basados en clases de CIM nuevas o existentes, comandos basados en archivos XML de definición de cmdlet, compatibilidad con la API de .NET de CIM.Support for CIM in Windows PowerShell 3.0, including the ability to author Windows PowerShell cmdlets based on new or existing CIM classes, commands based on cmdlet definition XML files, support for CIM .NET Framework. CIM, cmdlets de administración de CIM y proveedores de WMI 2.0.API, CIM management cmdlets and WMI 2.0 providers.

Archivos de configuración de sesiónSession Configuration Files

A partir de Windows PowerShell 3.0, puede diseñar una configuración de sesión personalizada con un archivo.Beginning in Windows PowerShell 3.0, you can design a custom session configuration by using a file. Este nuevo archivo de configuración de sesión permite definir el entorno de sesiones en el que se usa la configuración de sesión, incluido los módulos, scripts y archivos de formato que se cargan en las sesiones, los cmdlets y elementos de lenguaje que pueden usar los usuarios, los módulos y scripts que pueden ejecutar y las variables que pueden ver.The new session configuration file lets you determine the environment of sessions that use the session configuration, including which modules, scripts, and format files are loaded into sessions, which cmdlets and language elements users can use, which modules and scripts they can run, and which variables they can see.

Se puede diseñar una sesión en la que los usuarios solo pueden ejecutar los cmdlets de un determinado módulo, o una sesión en la que los usuarios tienen acceso completo a todos los módulos y acceso a scripts que realizan tareas avanzadas.You can design a session in which users can only run the cmdlets from one particular module, or a session in which users have full language, access to all modules, and access to scripts that perform advanced tasks.

En versiones anteriores de Windows PowerShell, un control a este nivel solo lo poseían aquellos que podían escribir un programa de C# o un script de inicio complejo.In previous versions of Windows PowerShell, control at this level was available only to those who could write a C# program or a complex start-up script. Ahora, cualquier miembro del grupo Administradores del equipo puede personalizar una configuración de sesión con un archivo de configuración.Now, any member of the Administrators group on the computer can customize a session configuration by using a configuration file.

Para crear un archivo de configuración de sesión, use el cmdlet New-PSSessionConfigurationFile.To create a session configuration file, use the New-PSSessionConfigurationFile cmdlet. Para aplicar el archivo de configuración de sesión a una configuración de sesión, use los cmdlets Register-PSSessionConfiguration o "Set-PSSessionConfiguration".To apply the session configuration file to a session configuration, use the Register-PSSessionConfiguration or `Set-PSSessionConfiguration cmdlets.

Para más información, consulte about_Session_Configuration_Files y New-PSSessionConfigurationFile.For more information, see about_Session_Configuration_Files and New-PSSessionConfigurationFile.

Integración de trabajos programados y del programador de tareasScheduled Jobs and Task Scheduler Integration

Ahora se pueden programar trabajos en segundo plano de Windows PowerShell y administrarlos en Windows PowerShell y en el Programador de tareas.You can now schedule Windows PowerShell background jobs and manage them in Windows PowerShell and in Task Scheduler.

Los trabajos programados de Windows PowerShell consisten en una mezcla muy práctica de trabajos en segundo plano de Windows PowerShell y tareas del Programador de tareas.Windows PowerShell scheduled jobs are a useful hybrid of Windows PowerShell background jobs and Task Scheduler tasks.

Como sucede con los trabajos en segundo plano de Windows PowerShell, los trabajos programados se ejecutan de forma asincrónica en segundo plano.Like Windows PowerShell background jobs, scheduled jobs run asynchronously in the background. Las instancias de trabajos programados que se han completado se pueden administrar con cmdlets de trabajo, como, Start-Job y Get-Job.Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

Al igual que las tareas del Programador de tareas, los trabajos programados se pueden ejecutar según una programación periódica o puntual, o en respuesta a una acción o evento.Like Task Scheduler tasks, you can run scheduled jobs on a one-time or recurrent schedule, or in response to an action or event. Los trabajos programados se pueden ver y administrar en el Programador de tareas, habilitar y deshabilitar según sea necesario y ejecutar o usar como plantillas. También se pueden definir las condiciones en las que los trabajos de inician.You can view and manage scheduled jobs in Task Scheduler, enable and disable them as needed, run them or use them as templates, and set conditions under which the jobs start.

Además, los trabajos programados vienen con un conjunto personalizado de cmdlets para administrarlos.In addition, scheduled jobs come with a customized set of cmdlets for managing them. Los cmdlets permiten crear, editar, administrar, deshabilitar y volver a habilitar trabajos programados, crear desencadenadores de trabajos programados y establecer opciones de trabajo programado.The cmdlets let you create, edit, manage, disable, and re-enable scheduled jobs, create scheduled job triggers and set scheduled job options.

Para más información sobre los trabajos programados, consulte about_Scheduled_Jobs.For more information about scheduled jobs, see about_Scheduled_Jobs.

Mejoras en el lenguaje de Windows PowerShellWindows PowerShell Language Enhancements

Windows PowerShell 3.0 incluye muchas características destinadas a hacer que su lenguaje sea más sencillo y más fácil de usar, así como evita errores comunes.Windows PowerShell 3.0 includes many features that are designed to make its language simpler, easier to use, and to avoid common errors. Entre estas mejoras están la enumeración de propiedades, las propiedades de recuento y longitud en objetos escalares, nuevos operadores de redirección, el modificador de ámbito $Using, la variable automática PSItem, un formato de scripts flexible, atributos de variables, argumentos de atributos simplificados, nombres de comandos numéricos, el operador Stop-Parsing, una mejor expansión de matriz, nuevos operadores de bits, diccionarios ordenados, conversión de PSCustomObject y una ayuda mejor basada en comentarios.The improvements include property enumeration, count and length properties on scalar objects, new redirection operators, the $Using scope modifier, PSItem automatic variable, flexible script formatting, attributes of variables, simplified attribute arguments, numeric command names, the Stop-Parsing operator, improved array splatting, new bit operators, ordered dictionaries, PSCustomObject casting, and improved comment-based help.

Nuevos cmdlets principalesNew Core Cmdlets

Se han agregado nuevos cmdlets a la instalación principal de Windows PowerShell, incluidos cmdlets para administrar trabajos programados, sesiones desconectadas, la integración de CIM y el sistema de ayuda actualizable.New cmdlets were added to the Windows PowerShell Core installation, including cmdlets to manage scheduled jobs, disconnected sessions, CIM integration and the Updatable Help System.

  • CimCmdletsCimCmdlets
    • Get-CimAssociatedInstanceGet-CimAssociatedInstance
    • Get-CimClassGet-CimClass
    • Get-CimInstanceGet-CimInstance
    • Get-CimSessionGet-CimSession
    • Invoke-CimMethodInvoke-CimMethod
    • New-CimInstanceNew-CimInstance
    • New-CimSessionNew-CimSession
    • New-CimSessionOptionNew-CimSessionOption
    • Register-CimIndicationEventRegister-CimIndicationEvent
    • Remove-CimInstanceRemove-CimInstance
    • Remove-CimSessionRemove-CimSession
    • Set-CimInstanceSet-CimInstance
  • Microsoft.PowerShell.CoreMicrosoft.PowerShell.Core
    • Connect-PSSessionConnect-PSSession
    • Disconnect-PSSessionDisconnect-PSSession
    • New-PSSessionConfigurationFileNew-PSSessionConfigurationFile
    • New-PSTransportOptionNew-PSTransportOption
    • Receive-PSSessionReceive-PSSession
    • Resume-JobResume-Job
    • Save-HelpSave-Help
    • Suspend-JobSuspend-Job
    • Test-PSSessionConfigurationFileTest-PSSessionConfigurationFile
    • Update-HelpUpdate-Help
  • Microsoft.PowerShell.DiagnosticsMicrosoft.PowerShell.Diagnostics
    • New-WinEventNew-WinEvent
  • Microsoft.PowerShell.ManagementMicrosoft.PowerShell.Management
    • Get-ControlPanelItemGet-ControlPanelItem
    • Rename-ComputerRename-Computer
    • Show-ControlPanelItemShow-ControlPanelItem
  • Microsoft.PowerShell.UtilityMicrosoft.PowerShell.Utility
    • ConvertFrom-JsonConvertFrom-Json
    • ConvertTo-JsonConvertTo-Json
    • Get-TypeDataGet-TypeData
    • Invoke-RestMethodInvoke-RestMethod
    • Invoke-WebRequestInvoke-WebRequest
    • Remove-TypeDataRemove-TypeData
    • Show-CommandShow-Command
    • Unblock-FileUnblock-File
  • PSScheduledJobPSScheduledJob
    • Add-JobTriggerAdd-JobTrigger
    • Disable-JobTriggerDisable-JobTrigger
    • Disable-ScheduledJobDisable-ScheduledJob
    • Enable-JobTriggerEnable-JobTrigger
    • Enable-ScheduledJobEnable-ScheduledJob
    • Get-JobTriggerGet-JobTrigger
    • Get-ScheduledJobGet-ScheduledJob
    • Get-ScheduledJobOptionGet-ScheduledJobOption
    • New-JobTriggerNew-JobTrigger
    • New-ScheduledJobOptionNew-ScheduledJobOption
    • Register-ScheduledJobRegister-ScheduledJob
    • Set-JobTriggerSet-JobTrigger
    • Set-ScheduledJobSet-ScheduledJob
    • Set-ScheduledJobOptionSet-ScheduledJobOption
    • Unregister-ScheduledJobUnregister-ScheduledJob
  • PSWorkflowPSWorkflow
    • New-PSWorkflowExecutionOptionNew-PSWorkflowExecutionOption
    • New-PSWorkflowSessionNew-PSWorkflowSession
  • PSWorkflowUtilityPSWorkflowUtility
    • Invoke-AsWorkflowInvoke-AsWorkflow
  • ISEISE
    • Get-IseSnippetGet-IseSnippet
    • Import-IseSnippetImport-IseSnippet
    • New-IseSnippetNew-IseSnippet

Mejoras en los proveedores y cmdlets principales existentesImprovements to Existing Core Cmdlets and Providers

Windows PowerShell 3.0 incluye nuevas características para los cmdlets existentes, como una sintaxis simplificada y nuevos parámetros para los siguientes cmdlets: Cmdlets del equipo, cmdlets de CSV, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, cmdlets de seguridad, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member y cmdlets de WMI.Windows PowerShell 3.0 includes new features for existing cmdlets including the simplified syntax, and new parameters for the following cmdlets: Computer cmdlets, CSV cmdlets, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security cmdlets, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member, and WMI cmdlets.

Los proveedores de Windows PowerShell también se han mejorado considerablemente, incluida la posibilidad del proveedor de certificados de administrar certificados de Capa de sockets seguros (SSL) para el hospedaje web, la compatibilidad con credenciales, unidades de red persistentes y flujos de datos alternativos en las unidades del sistema de archivos.The Windows PowerShell providers were also improved significantly, including Certificate provider support for managing Secure Socket Layer (SSL) certificates for web hosting, support for credential, persistent network drives, and alternate data streams in file system drives.

Detección e importación de módulos remotosRemote module import and discovery

Windows PowerShell 3.0 amplía las funcionalidades de detección de módulos, importación y comunicación remota implícita en los equipos remotos.Windows PowerShell 3.0 extends module discovery, importing, and implicit remoting capabilities on remote computers. Los cmdlets de módulo obtienen los módulos de equipos remotos y los importa al equipo local o remoto usando la comunicación remota de Windows PowerShell.The Module cmdlets get modules on remote computers and import the modules to the remote or local computer by using Windows PowerShell remoting. La nueva compatibilidad con sesiones CIM permite usar CIM y WMI para administrar equipos sin Windows importando al equipo local comandos que se ejecutan de forma implícita en el equipo remoto.New CIM session support allows you to use CIM and WMI to manage non-Windows computers by importing commands to the local computer that run implicitly on the remote computer.

Para más información, consulte los temas de ayuda de los cmdlets Get-Module y Import-Module.For more information, see the help topics for the Get-Module and Import-Module cmdlets.

Mejor finalización con tabulaciónEnhanced Tab Completion

Ahora, la finalización con tabulación en la consola de Windows PowerShell completa los nombres de los cmdlets, parámetros, valores de parámetro, enumeraciones, tipos de .NET Framework, objetos COM, directorios ocultos y muchos otros elementos.Tab completion in the Windows PowerShell console now completes the names of cmdlets, parameters, parameter values, enumerations, .NET Frameworks types, COM objects, hidden directories, and more. La característica de finalización con tabulación se ha reescrito completamente según un analizador y árbol de sintaxis abstracta nuevos para dar cabida a más escenarios, incluidos los árboles de análisis en memoria y la finalización con tabulación de línea media.The tab completion feature is completely rewritten based on a new parser and abstract syntax tree to support more scenarios, including in-memory parsing trees and midline tab completion.

Carga automática de módulosModule Auto-Loading

Ahora, el cmdlet Get-Command obtiene todas las funciones y cmdlets de todos los módulos instalados en el equipo, aun cuando el módulo no se haya importado en la sesión actual.The Get-Command cmdlet now gets all cmdlets and functions from all modules that are installed on the computer, even if the module is not imported into the current session.

Cuando obtenga el cmdlet que necesita, puede usarlo inmediatamente sin importar módulos.When you get the cmdlet that you need, you can use it immediately without importing any modules. Ahora, los módulos de Windows PowerShell se importan automáticamente cuando se usa un cmdlet en el módulo.Windows PowerShell modules are now imported automatically when you use any cmdlet in the module. Por lo tanto, ya no es necesario buscar el módulo e importarlo para usar sus cmdlets.You no longer need to search for the module and import it to use its cmdlets.

La importación automática de módulos se desencadena con el uso del cmdlet en un comando, la ejecución de Get-Command para un cmdlet sin caracteres comodín o la ejecución de Get-Help para un cmdlet sin caracteres comodín.Automatic importing of modules is triggered by using the cmdlet in a command, running Get-Command for a cmdlet without wildcards, or running Get-Help for a cmdlet without wildcards.

Para habilitar, deshabilitar y configurar la importación automática de módulos, use la variable de preferencia $PSModuleAutoLoadingPreference.You can enable, disable, and configure automatic importing of modules by using the $PSModuleAutoLoadingPreference preference variable.

Para más información, consulte about_Modules, about_Preference_Variables y los temas de ayuda de los cmdlets Get-Command y Import-Module.For more information, see about_Modules, about_Preference_Variables, and the help topics for the Get-Command and Import-Module cmdlets.

Mejoras en la experiencia de móduloModule Experience Improvements

Windows PowerShell 3.0 incorpora compatibilidad de características avanzadas en los módulos, incluidas las siguientes características nuevas:Windows PowerShell 3.0 brings advanced feature support to modules, including the following new features.

  1. Registro de módulos para módulos individuales (LogPipelineExecutionDetails) y la nueva configuración de directiva de grupo "Activar registro de módulos".Module logging for individual modules (LogPipelineExecutionDetails) and the new "Turn on Module Logging" Group Policy setting
  2. Objetos de módulo extendidos que exponen los valores del manifiesto del módulo.Extended module objects that expose the values from the module manifest
  3. Nueva propiedad ExportedCommands de los módulos (incluidos los módulos anidados), que combina comandos de todos los tipos.New ExportedCommands property of modules, including nested modules, that combines commands of all types
  4. Mejor detección de los módulos (no importados) disponibles, incluido permitir los parámetros Path y ListAvailable en el mismo comando.Improved discovery of available (un-imported) modules, including allowing the Path and ListAvailable parameters in the same command
  5. Nueva clave DefaultCommandPrefix en los manifiestos del módulo, que evita conflictos de nombres sin tener que cambiar el código del módulo.New DefaultCommandPrefix key in module manifests that avoids name conflicts without changing module code.
  6. Mejora de los requisitos de módulo, incluidos los módulos necesarios completos con la versión y el GUID y la importación automática de los módulos necesarios.Improved module requirements, including fully-qualified required modules with version and GUID and automatic importing of required modules
  7. Funcionamiento más silencioso y simplificado del cmdlet New-ModuleManifest.Quieter, streamlined operation of the New-ModuleManifest cmdlet.
  8. Nuevo parámetro Module para #RequiresNew Module parameter for #Requires
  9. Cmdlet Import-Module mejorado con los parámetros MinimumVersion y RequiredVersion.Improved Import-Module cmdlet with both MinimumVersion and RequiredVersion parameters.

Detección de comandos simplificadaSimplified Command Discovery

Ya no necesitará importar todos los módulos para detectar los comandos disponibles en la sesión.You no longer need to import all modules to discover the commands available to your session. En Windows PowerShell 3.0, el cmdlet Get-Command obtiene todos los comandos de todos los módulos instalados.In Windows PowerShell 3.0, the Get-Command cmdlet gets all commands from all installed modules. Además, si usa un comando, el módulo que exporta el comando se importa automáticamente en la sesión.And, if you use a command, the module that exports the command is automatically imported into your session.

El nuevo cmdlet Show-Command está diseñado específicamente para principiantes.The new Show-Command cmdlet is designed especially for beginners. Puede buscar comandos en una ventana.You can search for commands in a window. Puede ver todos los comandos o filtrar por módulo, importar un módulo haciendo clic en un botón o usar cuadros de texto y listas desplegables para construir un comando válido y, a continuación, copiarlo o ejecutarlo sin salir de la ventana.You can view all commands or filter by module, import a module by clicking a button, use text boxes and drop-down lists to construct a valid command, and then copy or run the command without ever leaving the window.

Mejor compatibilidad con registros, diagnósticos y directiva de grupoImproved Logging, Diagnostics, and Group Policy Support

Windows PowerShell 3.0 mejora la compatibilidad del registro y seguimiento de comandos y módulos al admitir registros de Seguimiento de eventos para Windows (ETW), una propiedad LogPipelineExecutionDetails editable de los módulos y la configuración de la directiva de grupo "Activar registro de módulos".Windows PowerShell 3.0 improves the logging and tracing support for commands and modules with support for Event Tracing in Windows (ETW) logs, an editable LogPipelineExecutionDetails property of modules, and the "Turn on Module Logging" Group Policy setting. Ahora puede obtener valores de parámetro de los detalles de registro mostrando las propiedades del registro.You can now get parameter values from log details by displaying the log properties.

Mejoras de formato y salidaFormatting and Output Improvements

Las nuevas mejoras de formato y salida disparan la eficacia de todos los usuarios de Windows PowerShell.New formatting and output improvements improve the efficiency of all Windows PowerShell users. Estas mejoras incluyen la redirección de salida de todas las secuencias, un cmdlet Update-Type mejorado que agrega tipos dinámicamente sin archivos Format.ps1xml, ajuste de líneas en la salida, propiedades de formato predeterminado de objetos personalizados, el tipo PSCustomObject , un mejor formato de los objetos WMI y objetos heterogéneos y compatibilidad para detectar sobrecargas de método.The improvements include output redirection for all streams, an enhanced Update-Type cmdlet that adds types dynamically without Format.ps1xml files, word wrap in output, default formatting properties of custom objects, the PSCustomObject type, improved formatting for WMI objects and heterogeneous objects, and support for discovering method overloads.

Mejor experiencia de host de consolaEnhanced Console Host Experience

El programa host de la consola de Windows PowerShell presenta nuevas características en Windows PowerShell 3.0, como el contenedor uniproceso, de manera predeterminada.The Windows PowerShell console host program has new features in Windows PowerShell 3.0 including single threaded apartment by default. La nueva opción "Ejecutar con PowerShell" en el Explorador de archivos permite ejecutar scripts en una sesión sin restricciones, simplemente haciendo clic con el botón secundario.The new "Run with PowerShell" option in File Explorer lets you run scripts in a unrestricted session just by right-clicking. La nueva lógica de inicio del host de consola inicia Windows PowerShell con mayor rapidez, mientras que las nuevas fuentes permiten personalizar la experiencia de ventana de consola ya conocida.New console host launch logic starts Windows PowerShell faster and new fonts allow you to personalize the familiar console window experience.

Nuevas API de cmdlets y de hospedajeNew Cmdlet and Hosting APIs

Las nuevas API de cmdlet y API de hospedaje incluyen API públicas de árbol de sintaxis avanzada (AST) y API para la paginación de canalizaciones, canalizaciones anidadas, finalización con tabulación de grupos de espacio de ejecución, Windows RT, el atributo de cmdlet Obsolete y las propiedades Verb y Noun del objeto FunctionInfo.The new Cmdlet API and Hosting API include public advanced syntax tree (AST) APIs, and APIs for pipeline paging, nested pipelines, runspace pools tab completion, Windows RT, the Obsolete cmdlet attribute, and Verb and Noun properties of the FunctionInfo object.

Mejoras de rendimientoPerformance Improvements

Las notables mejoras de rendimiento de Windows PowerShell se deben al nuevo analizador de lenguaje, que se basa en Dynamic Runtime Language (DLR) de .NET Framework 4, además de a la compilación de scripts en tiempo de ejecución, a mejoras en la confiabilidad del motor y a los cambios en el algoritmo de Get-ChildItem que mejoran su rendimiento, especialmente al buscar recursos compartidos de red.Significant performance improvements in Windows PowerShell come from the new language parser, which is built on Dynamic Runtime Language (DLR) in .NET Framework 4., along with runtime script compilation, engine reliability improvements, and changes to the algorithm of the Get-ChildItem that improve its performance, especially when searching network shares.

Compatibilidad con RunAs y host compartidoRunAs and Shared Host Support

Windows PowerShell 3.0 incluye compatibilidad con las características RunAs y de host compartido.Windows PowerShell 3.0 includes support for RunAs and Shared Host features.

La característica RunAs , diseñada para el flujo de trabajo de Windows PowerShell, permite a los usuarios de una configuración de sesión crear sesiones que se ejecutan con el permiso de una cuenta de usuario compartida.The RunAs feature, designed for Windows PowerShell Workflow, lets users of a session configuration create sessions that run with the permission of a shared user account. Esto permite a los usuarios con menos privilegios ejecutar determinados comandos y scripts con permisos de administrador, al tiempo que reduce la necesidad de agregar usuarios con menos experiencia al grupo Administradores.This enables less privileged users to run particular commands and scripts with administrator permissions, and reduces the need for adding less senior users to the Administrators group.

La característica SharedHost permite que varios usuarios en diferentes equipos puedan conectarse a una sesión de flujo de trabajo simultáneamente y supervisar el progreso de un flujo de trabajo.The SharedHost feature allows multiple users on multiple computers to connect to a workflow session concurrently and monitor the progress of a workflow. Los usuarios pueden iniciar un flujo de trabajo en un equipo y después conectarse a la sesión de flujo de trabajo en otro equipo sin desconectar la sesión desde el equipo original.Users can start a workflow on one computer and then connect to the workflow session on another computer without disconnecting the session from the original computer. Los usuarios deben tener los mismos permisos y usar la misma configuración de sesión.Users must have the same permissions and be using the same session configuration. Para más información, consulte "Ejecutar un flujo de trabajo de Windows PowerShell" en Introducción al flujo de trabajo de Windows PowerShell.For more information, see "Running a Windows PowerShell Workflow" in Getting Started with Windows PowerShell Workflow.

Mejoras en el tratamiento de caracteres especialesSpecial Character Handling Improvements

A fin de mejorar la capacidad de Windows PowerShell 3.0 de interpretar y tratar correctamente los caracteres especiales, el parámetro LiteralPath (que trata los caracteres especiales en las rutas de acceso) es válido en prácticamente todos los cmdlets que tengan el parámetro Path , como los nuevos cmdlets Update-Help y Save-Help.To improve the ability of Windows PowerShell 3.0 to interpret and correctly handle special characters, the LiteralPath parameter, which handles special characters in paths, is valid on almost all cmdlets that have a Path parameter, including the new Update-Help and Save-Help cmdlets. El analizador incluye también una lógica especial para mejorar el tratamiento del carácter de acento grave (`) y los corchetes en los nombres y rutas de acceso de archivo.The parser also includes special logic to improve handling of the backtick character (`) and square brackets in file names and paths.

Consulte tambiénSee Also