Decoding Official Information and Changes in the PowerShell 7.6 (LTS) GA Release

PowerShellカテゴリを表すパンダのイラスト PowerShell

This article is a technical commentary and implementation example created using AI. Although the code and procedures presented are based on primary sources, the author has not verified their operation on actual hardware. Behavior may vary depending on the environment and version.

The PowerShell team has announced the General Availability (GA) release of “PowerShell 7.6”, a Long-Term Support (LTS) release. This article organizes the major topics explained in the official blog, such as update details, module updates, built-in method expansions, and breaking changes, and provides a detailed explanation of their components.

Overview and Underlying Technology of PowerShell 7.6

PowerShell 7.6 is built on .NET 10 (LTS) to maintain tight integration with the modern .NET platform. Positioned as an LTS release, it is the recommended version when operating production automation.

Overall, reliability has been improved across the engine, modules, and interactive shell experience. Since the preview release stage, focus has been placed on improving consistency, fixing long-standing issues, and refining behavior in cross-platform environments.

The following diagram shows the relationship between the underlying technologies and components supporting PowerShell 7.6.

flowchart TD
    A["PowerShell 7.6 GA Release"] --> B[".NET 10 LTS Foundation"]
    A --> C["Core Module Updates"]
    A --> D["Engine and Shell Feature Improvements"]
    A --> E["Breaking Changes and Improved Consistency"]

    C --> C1[PSReadLine]
    C --> C2[Microsoft.PowerShell.PSResourceGet]
    C --> C3[Microsoft.PowerShell.ThreadJob]

    D --> D1["Enhanced Tab Completion and Path Completion"]
    D --> D2["New Parameter Additions like Get-Clipboard"]
    D --> D3["Built-in Methods PSForEach / PSWhere"]

Core Module Updates and Enhanced Tab Completion

PowerShell 7.6 includes several major core module updates, providing smoother usability and richer completion features.

Target Modules

  • PSReadLine

  • Microsoft.PowerShell.PSResourceGet

  • Microsoft.PowerShell.ThreadJob

Improvements to Tab Completion and Provider Features

To improve the interactive usability of the shell as a whole, numerous improvements to tab completion have been implemented.

  • Improved cross-provider path completion

  • Added value completion for parameters across multiple cmdlets

  • Enabled completion features in more contexts and scopes

  • Added completion using module short names

Feature Additions to Existing Commands and Engine Improvements

New parameters have been added to existing cmdlets, improving script writability and processing efficiency.

1. Addition of New Parameters to Commands

  • Get-Clipboard: The -Delimiter parameter has been added, allowing you to specify a delimiter when retrieving data from the clipboard.

  • Register-ArgumentCompleter -NativeFallback: Support has been added to register a cover-all completion (comprehensive completion) for native commands.

  • New-Item: Changed to treat the -Target parameter as a literal.

  • Get-Command: The -ExcludeModule parameter has been added.

  • Start-Process -Wait: Polling efficiency has been improved.

2. Engine Improvements

  • PSForEach() and PSWhere(): PSForEach() and PSWhere() have been added as aliases for PowerShell’s internal methods Where() and Foreach().

  • SystemPolicy: Updated to be included in PowerShellStandard.Library by exposing the public API of SystemPolicy on Unix platforms while treating it as a no-op.

  • X509Certificate2: DnsNameList was updated to use the X509SubjectAlternativeNameExtension.EnumerateDnsNames() method.

  • NO_COLOR Environment Variable: Fixed the console host’s stderr output to respect the NO_COLOR environment variable.

Additionally, the following features, which have been tested in previous preview releases, have officially transitioned to mainstream features.

  • PSFeedbackProvider

  • PSNativeWindowsTildeExpansion

  • PSRedirectToVariable

  • PSSubsystemPluginModel

Breaking Changes

To improve long-term consistency, PowerShell 7.6 includes a small number of breaking changes. When deploying, you need to check the impact on existing scripts.

  • Join-Path Cmdlet Changes: The -ChildPath parameter was converted to string[]. This allows users to specify an array of child paths, eliminating the need to separately use -AdditionalChildPath.

  • WildcardPattern.Escape(): Fixed to correctly escape stray backticks.

  • GetHelpCommand: Trailing spaces were removed from the trace source name.

Usage Notes

The new features and changes in PowerShell 7.6 introduced in this article are research results based on the official blog, and actual execution results and environment-specific behaviors are [Pending verification in Windows environment] and [Prior to actual device verification]. When deploying to a production or verification environment, be sure to refer to the official documentation and release notes and perform thorough prior verification.

References

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

Copied title and URL