Microsoft has released another preview update for PowerShell 7.2. This is the PowerShell 7.2 Preview 3. Microsoft seems to be actively working on PowerShell Core as just a month ago PowerShell 7.2 Preview 2 was released.
Although this release, as well as the previous one, is based on .NET 5, Microsoft claims that the stable version of PowerShell 7.2 will be based on .NET 6.
Let’s discuss what PowerShell 7.2 Preview 3 brings to the table.
Download PowerShell 7.2.0 Preview 3
For Windows 10, Windows 8.1 and Windows 7
PowerShell-7.2.0-Preview3-win-x64.msi [95.3 MB]
PowerShell-7.2.0-Preview3-win-x86.msi [86.4 MB]
For MacOS
powershell-7.2.0-Preview3-osx-x64.pkg [61.3 MB]
For Linux
CentOS
powershell-7.2.0-Preview3-1.centos.8.x86_64.rpm [62.8 MB]
Debian
powershell_7.2.0-Preview3-1.debian.11_amd64.deb [63.3 MB]
powershell_7.2.0-Preview3-1.debian.10_amd64.deb [63.3 MB]
Ubuntu
powershell_7.2.0-Preview3-1.ubuntu.20.04_amd64.deb [63.3 MB]
powershell_7.2.0-Preview3-1.ubuntu.18.04_amd64.deb [63.3 MB]
powershell_7.2.0-Preview3-1.ubuntu.16.04_amd64.deb [63.3 MB]
For more download options, please checkout this download page.
PowerShell 7.2.0 Preview 3 features
Thanks to Microsoft and PowerShell contributors, some significant changes have been made to the released version. Some new features and bug fixes have been highlighted in the release post by Microsoft. Let’s discuss what those are.
Engine updates and fixes
PowerShell now supports Get-DscResource
, Invoke-DscResource
and DSC configuration compilation on all platforms together with PSDesiredStateConfiguration
v3
module.
In accordance with ISO 8601
The behavior for Get-Date -UFormat %u
will now comply with ISO 8601 standards. ISO 8601 is the representation and format of dates in the Gregorian (and potentially proleptic Gregorian) calendar.
Improved performance:
A few performance updates have also been made to this preview release:
- You can now avoid array allocations from
Directory.GetDirectories
andDirectory.GetFiles
. - You can now also avoid
string.ToLowerInvariant()
fromGetEnvironmentVariableAsBool()
to prevent loading libicu from startup. - Users can now get the PowerShell version in
PSVersionInfo
using the assembly attribute, as opposed to the previousFileVersionInfo
.
General cmdlets updates and fixes
Other updates to this release include the following:
- You can now suppress
Write-Progress
inConsoleHost
if the output is redirected and fix tests. - Experimental feature
<a href="https://devblogs.microsoft.com/powershell/powershell-7-2-preview-2-release/#psstyle-automatic-variable-for-ansi-rendering" class="rank-math-link">PSAnsiProgress</a>
: Users can add a minimal progress bar using ANSI rendering. - A fix for the web cmdlets has been introduced to properly construct URI from the body when using
-NoProxy
. - The
ICommandPredictor
has been updated to provide more feedback and also make feedback easier to correlate. - The color will now be reset after writing
Verbose
,Debug
, andWarning
messages. - Using a variable for nested
ForEach-Object -Parallel
calls has been fixed. - When formatting, if the collection is modified, the entire pipeline will not fail.
- The completion of parameters for attributes has been improved.
- A proper error message will be displayed for
Get-Command
. - A typo in the resource string
ProxyURINotSupplied
has been fixed. - Support has been added to
<a href="https://www.itechtics.com/powershell-7-2/#PSStyle_automatic_variable_for_ANSI_rendering" class="rank-math-link">$PSStyle</a>
for strikethrough and hyperlinks. $PSStyle
blink codes have been fixed.
How to install PowerShell 7.2 Preview 3 in Windows 10
Use the guide provided to download PowerShell 7.2 on Windows 10, 8.1, and 7.
- Download the respective .MSI file from the links provided above.
- Execute the downloaded package. In the installation wizard, click Next.
- On the next screen, choose a destination path to save the new installation and then click Next.
- Now select the optional features you wish to install by checking the boxes next to them. You can add PowerShell to the environment variables, enable PowerShell remoting, add PowerShell to the context menu, etc. Click Next when done.
- Click Install to begin the process.
- The installation should be completed in less than a minute. Click on Finish when it is. You may also check the box next to Launch PowerShell to do so before hitting Finish.
- Now verify that the installation has been completed by typing in pwsh in Run. You will then see a version of PowerShell running.
You may also download the latest stable release of PowerShell by running the following command in the existing PowerShell on your Windows:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"
You can also download and install PowerShell over the network. This method is best suited for sysadmins.
Closing words
Since this is still a preview update, we recommend that you do not install it in a production environment unless you absolutely want the new features. However, if you love automation and other PowerShell tools, you should definitely try this preview build out on a test computer or a virtual machine.