Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 39 additions & 7 deletions reference/7.7/Microsoft.PowerShell.Utility/New-Guid.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
Locale: en-US
Module Name: Microsoft.PowerShell.Utility
ms.date: 01/24/2024
ms.date: 05/11/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/new-guid?view=powershell-7.7&WT.mc_id=ps-gethelp
schema: 2.0.0
title: New-Guid
Expand Down Expand Up @@ -34,8 +34,14 @@ New-Guid [-InputObject <String>] [<CommonParameters>]

## DESCRIPTION

The `New-Guid` cmdlet creates a random globally unique identifier (GUID). If you need a unique ID in
a script, you can create a GUID, as needed.
The `New-Guid` cmdlet creates a Version 7 globally unique identifier (GUID). Version 7 UUIDs
contain a millisecond-precision timestamp and are sortable. If you need a unique ID in a script,
you can create a GUID, as needed.

> [!NOTE]
> In PowerShell 7.5 and earlier, `New-Guid` created Version 4 (random) UUIDs. Starting in
> PowerShell 7.6, the default changed to Version 7. If you need a Version 4 UUID, use
> `[guid]::NewGuid()` directly.

## EXAMPLES

Expand All @@ -45,7 +51,7 @@ a script, you can create a GUID, as needed.
New-Guid
```

This command creates a random GUID. Alternatively, you could store the output of this cmdlet in a
This command creates a GUID. Alternatively, you could store the output of this cmdlet in a
variable to use elsewhere in a script.

### Example 2: Create an empty GUID
Expand Down Expand Up @@ -95,6 +101,25 @@ Guid
01234567-89ab-cdef-0123-456789abcdef
```

### Example 5: Create specific UUID versions using .NET APIs

This example shows how to create specific UUID versions using .NET APIs directly.

```powershell
[guid]::CreateVersion7()
[guid]::NewGuid()
```

```Output
Guid
----
019588a4-dbe2-7f30-8b9f-4a1c0e5d3a28
d61bbeca-0186-48fa-90e1-ff7aa5d33e2d
```

The version number appears in the third group of the GUID string. Version 7 UUIDs start with a
`7` in that position (`7f30`), while Version 4 UUIDs show a `4` (`48fa`).

## PARAMETERS

### -Empty
Expand Down Expand Up @@ -150,8 +175,15 @@ The cmdlet passes string input to the constructor of the **System.Guid** class.
support strings in several formats. For more information, see
[System.Guid(String)](/dotnet/api/system.guid.-ctor#system-guid-ctor(system-string)).

When used without string input or the **Empty** parameter, the cmdlet creates a Version 4
Universally Unique Identifier (UUID). For more information, see
[System.Guid.NewGuid](xref:System.Guid.NewGuid).
When used without string input or the **Empty** parameter, the cmdlet creates a Version 7
Universally Unique Identifier (UUID) as defined in
[RFC 9562](https://www.rfc-editor.org/rfc/rfc9562).

In PowerShell 7.5 and earlier, the cmdlet created a Version 4 (random) UUID. If you need a
Version 4 UUID, use `[guid]::NewGuid()`. To explicitly create a Version 7 UUID, use
`[guid]::CreateVersion7()`.

For more information, see
[System.Guid.CreateVersion7](xref:System.Guid.CreateVersion7).

## RELATED LINKS
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ There are multiple versions of PowerShell 7 that can be installed.
releases can contain critical fixes, innovations, and new features. Microsoft supports a Stable
release for about six months after the next LTS release.

The current Stable release is PowerShell 7.5.8.
The current Stable release is PowerShell 7.5.9.

- **Long Term Servicing (LTS) release** - An LTS release of PowerShell is an LTS release of .NET.
Updates to an LTS release only contain critical security updates and servicing fixes that are
Expand Down
4 changes: 2 additions & 2 deletions reference/docs-conceptual/install/community-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ versions are:
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-linux-arm64.tar.gz`
- PowerShell 7.5 - latest stable release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-linux-arm64.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-linux-arm64.tar.gz`
- PowerShell 7.4 - previous LTS release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-linux-arm64.tar.gz`
Expand Down
2 changes: 1 addition & 1 deletion reference/docs-conceptual/install/install-alpine.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ On Alpine Linux, PowerShell is installed from the `tar.gz` package downloaded fr
[releases][01] page. Select the URL of the package version you want to install.

- PowerShell 7.6 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-linux-musl-x64.tar.gz`
- PowerShell 7.4 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-linux-musl-x64.tar.gz`

Use the following shell commands to install PowerShell 7:
Expand Down
2 changes: 1 addition & 1 deletion reference/docs-conceptual/install/install-debian.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ want to install.
- PowerShell 7.6 (LTS) universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell_7.6.4-1.deb_amd64.deb`
- PowerShell 7.5 universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell_7.5.8-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell_7.5.9-1.deb_amd64.deb`
- PowerShell 7.4 (LTS) universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell_7.4.18-1.deb_amd64.deb`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ install.
- Arm64 processors - [powershell-7.6.4-osx-arm64.pkg][13]
- x64 processors - [powershell-7.6.4-osx-x64.pkg][15]
- PowerShell 7.5
- Arm64 processors - [powershell-7.5.8-osx-arm64.pkg][09]
- x64 processors - [powershell-7.5.8-osx-x64.pkg][11]
- Arm64 processors - [powershell-7.5.9-osx-arm64.pkg][09]
- x64 processors - [powershell-7.5.9-osx-x64.pkg][11]
- PowerShell 7.4 (LTS)
- Arm64 processors - [powershell-7.4.18-osx-arm64.pkg][05]
- x64 processors - [powershell-7.4.18-osx-x64.pkg][07]
Expand Down Expand Up @@ -114,8 +114,8 @@ you want to install.
- Arm64 processors - [powershell-7.6.4-osx-arm64.tar.gz][14]
- x64 processors - [powershell-7.6.4-osx-x64.tar.gz][16]
- PowerShell 7.5
- Arm64 processors - [powershell-7.5.8-osx-arm64.tar.gz][10]
- x64 processors - [powershell-7.5.8-osx-x64.tar.gz][12]
- Arm64 processors - [powershell-7.5.9-osx-arm64.tar.gz][10]
- x64 processors - [powershell-7.5.9-osx-x64.tar.gz][12]
- PowerShell 7.4 (LTS)
- Arm64 processors - [powershell-7.4.18-osx-arm64.tar.gz][06]
- x64 processors - [powershell-7.4.18-osx-x64.tar.gz][08]
Expand Down Expand Up @@ -193,10 +193,10 @@ can't support those methods. For more information, see [Alternate ways to instal
[06]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-osx-arm64.tar.gz
[07]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-osx-x64.pkg
[08]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-osx-x64.tar.gz
[09]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-osx-arm64.pkg
[10]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-osx-arm64.tar.gz
[11]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-osx-x64.pkg
[12]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-osx-x64.tar.gz
[09]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-osx-arm64.pkg
[10]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-osx-arm64.tar.gz
[11]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-osx-x64.pkg
[12]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-osx-x64.tar.gz
[13]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-osx-arm64.pkg
[14]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-osx-arm64.tar.gz
[15]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-osx-x64.pkg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,9 @@ To manually install the MSIX package, download one of the following packages fro
releases page and double-click the file to install it.

- Next LTS - [PowerShell-7.6.4.msixbundle][19]
- Latest stable - [PowerShell-7.5.8.msixbundle][14]
- Latest stable - [PowerShell-7.5.9.msixbundle][14]
- Current LTS - [PowerShell-7.4.18.msixbundle][13]
- Current preview - [PowerShell-7.7.0-preview.2.msixbundle][20]
- Current preview - [PowerShellPreview-7.7.0-preview.3.msixbundle ][20]

Alternatively, you can use the following command to install the MSIX package from the command line:

Expand Down Expand Up @@ -356,13 +356,13 @@ can't support those methods.
[11]: #winget
[12]: #zip
[13]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/PowerShell-7.4.18.msixbundle
[14]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/PowerShell-7.5.8.msixbundle
[14]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/PowerShell-7.5.9.msixbundle
[15]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/PowerShell-7.6.4-win-arm64.msi
[16]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/PowerShell-7.6.4-win-arm64.zip
[17]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/PowerShell-7.6.4-win-x64.msi
[18]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/PowerShell-7.6.4-win-x64.zip
[19]: https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/PowerShell-7.6.4.msixbundle
[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.7.0-preview.2/PowerShellPreview-7.7.0-preview.2.msixbundle
[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.7.0-preview.3/PowerShellPreview-7.7.0-preview.3.msixbundle
[21]: https://github.com/PowerShell/PowerShell/releases/latest
[22]: https://www.microsoft.com/store/apps/9MZ1SNWT0N5D
[23]: media/install-powershell-on-windows/powershell-start-menu.png
Expand Down
2 changes: 1 addition & 1 deletion reference/docs-conceptual/install/install-rhel.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ you want to install.
- PowerShell 7.6 (LTS) universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell-7.6.4-1.rh.x86_64.rpm`
- PowerShell 7.5 universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell-7.5.8-1.rh.x86_64.rpm`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell-7.5.9-1.rh.x86_64.rpm`
- PowerShell 7.4 (LTS) universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell-7.4.18-1.rh.x86_64.rpm`

Expand Down
8 changes: 4 additions & 4 deletions reference/docs-conceptual/install/install-ubuntu.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ you want to install.
- PowerShell 7.6 (LTS) universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.4/powershell_7.6.4-1.deb_amd64.deb`
- PowerShell 7.5 universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell_7.5.8-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell_7.5.9-1.deb_amd64.deb`
- PowerShell 7.4 (LTS) universal package
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.18/powershell_7.4.18-1.deb_amd64.deb`

Expand All @@ -106,17 +106,17 @@ sudo apt-get update
sudo apt-get install -y wget

# Download the PowerShell package file
wget https://github.com/PowerShell/PowerShell/releases/download/v7.5.8/powershell_7.5.8-1.deb_amd64.deb
wget https://github.com/PowerShell/PowerShell/releases/download/v7.5.9/powershell_7.5.9-1.deb_amd64.deb

###################################
# Install the PowerShell package
sudo dpkg -i powershell_7.5.8-1.deb_amd64.deb
sudo dpkg -i powershell_7.5.9-1.deb_amd64.deb

# Resolve missing dependencies and finish the install (if necessary)
sudo apt-get install -f

# Delete the downloaded package file
rm powershell_7.5.8-1.deb_amd64.deb
rm powershell_7.5.9-1.deb_amd64.deb
```

## Start PowerShell 7
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: What's New in PowerShell 7.5
description: New features and changes released in PowerShell 7.5
ms.date: 06/12/2026
ms.date: 07/20/2026
---

# What's New in PowerShell 7.5

PowerShell 7.5.8 includes the following features, updates, and breaking changes. PowerShell
7.5.8 is built on the .NET 9.0.17 runtime.
PowerShell 7.5.9 includes the following features, updates, and breaking changes. PowerShell
7.5.9 is built on the .NET 9.0.18 runtime.

For a complete list of changes, see the [CHANGELOG][chg] in the GitHub repository. For more
information about .NET 9, see [What's new in .NET 9][07].
Expand All @@ -30,7 +30,7 @@ The macOS PKG package is now notarized and signed by Microsoft. For more informa

## Updated modules

PowerShell 7.5.6 includes the following updated modules:
PowerShell 7.5.9 includes the following updated modules:

- **Microsoft.PowerShell.PSResourceGet** v1.1.1
- **PSReadLine** v2.3.6
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: What's New in PowerShell 7.7
description: New features and changes released in PowerShell 7.7
ms.date: 06/12/2026
ms.date: 07/20/2026
---

# What's New in PowerShell 7.7

PowerShell 7.7-preview.2 includes the following features, updates, and breaking changes. PowerShell
7.7.0 is built on the .NET 11.0.100-preview.4 runtime.
PowerShell 7.7.0-preview.3 includes the following features, updates, and breaking changes.
PowerShell 7.7.0 is built on the .NET 11.0.100-preview.6 runtime.

For a complete list of changes, see the [CHANGELOG][04] in the GitHub repository.

Expand All @@ -20,6 +20,9 @@ PowerShell 7.7 includes the following updated modules:

## Breaking Changes

- `New-Guid` now generates Version 7 (time-sortable) UUIDs by default instead of Version 4
(random). The output format is unchanged. Scripts that depend on fully random GUIDs should use
`[guid]::NewGuid()` directly. ([#27033][27033])
- Add `ValidateNotNullOrEmpty` attribute to the `-Property` of `Format-Table`, `Format-List`, and
`Format-Custom` ([#26552][26552])
- Use ArgumentException.ThrowIfNullOrEmpty for not-null-not-empty argument validation.
Expand All @@ -36,6 +39,7 @@ PowerShell 7.7 includes the following updated modules:

## Cmdlet improvements

- Change `New-Guid` to generate UUID v7 by default ([#27033][27033]) (Thanks @SufficientDaikon!)
- Handle empty-string and null-value results returned from custom argument completer more properly
([#27398][27398])
- Add missing resource strings for `Get-WinEvent` ([#27397][27397]) (Thanks @MartinGC94!)
Expand Down Expand Up @@ -94,6 +98,8 @@ PowerShell 7.7 includes the following updated modules:

## Engine improvements

- Fix progress bar rendering with double-width Unicode characters ([#26185][26185]) (Thanks
@yotsuda!)
- Update PowerShell telemetry to respect the diagnostics and feedback setting on Windows
([#27328][27328])
- Fix up default value for parameters with the `in` modifier ([#26785][26785]) (Thanks @jborean93!)
Expand Down Expand Up @@ -130,6 +136,7 @@ PowerShell 7.7 includes the following experimental features.
[26141]: https://github.com/PowerShell/PowerShell/pull/26141
[26144]: https://github.com/PowerShell/PowerShell/pull/26144
[26157]: https://github.com/PowerShell/PowerShell/pull/26157
[26185]: https://github.com/PowerShell/PowerShell/pull/26185
[26235]: https://github.com/PowerShell/PowerShell/pull/26235
[26252]: https://github.com/PowerShell/PowerShell/pull/26252
[26269]: https://github.com/PowerShell/PowerShell/pull/26269
Expand Down Expand Up @@ -158,9 +165,11 @@ PowerShell 7.7 includes the following experimental features.
[26719]: https://github.com/PowerShell/PowerShell/pull/26719
[26785]: https://github.com/PowerShell/PowerShell/pull/26785
[26929]: https://github.com/PowerShell/PowerShell/pull/26929
[27033]: https://github.com/PowerShell/PowerShell/pull/27033
[27095]: https://github.com/PowerShell/PowerShell/pull/27095
[27106]: https://github.com/PowerShell/PowerShell/pull/27106
[27109]: https://github.com/PowerShell/PowerShell/pull/27109
[27033]: https://github.com/PowerShell/PowerShell/pull/27033
[27123]: https://github.com/PowerShell/PowerShell/pull/27123
[27266]: https://github.com/PowerShell/PowerShell/pull/27266
[27328]: https://github.com/PowerShell/PowerShell/pull/27328
Expand Down