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
36 changes: 19 additions & 17 deletions reference/7.4/Microsoft.PowerShell.Utility/ConvertTo-Json.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: 12/12/2022
ms.date: 04/08/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/convertto-json?view=powershell-7.4&WT.mc_id=ps-gethelp
schema: 2.0.0
title: ConvertTo-Json
Expand All @@ -28,18 +28,19 @@ The `ConvertTo-Json` cmdlet converts any .NET object to a string in JavaScript O
property values, and the methods are removed.

> [!NOTE]
> As of PowerShell 7.2, Extended Type System properties of **DateTime** and
> **String** objects are no longer serialized and only the simple object is
> converted to JSON format
> As of PowerShell 7.2, Extended Type System properties of **DateTime** and **String** objects are
> no longer serialized and only the simple object is converted to JSON format

You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON
object, which is easily managed in PowerShell.
You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON object,
which is easily managed in PowerShell.

Many web sites use JSON instead of XML to serialize data for communication between servers and
web-based apps.

As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds
the depth specified for the command. This prevents unwanted data loss when converting objects.
As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds the
depth specified for the command. This prevents unwanted data loss when converting objects.

As of PowerShell 7.5, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON numbers.
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the PowerShell 7.4 reference page, but it now documents a behavior introduced in PowerShell 7.5. That can confuse readers who expect the page to describe 7.4 behavior. Consider removing this sentence from the 7.4 page, or rewriting it to clearly indicate it’s not available in 7.4 and pointing readers to the 7.5+ documentation instead.

Suggested change
As of PowerShell 7.5, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON numbers.
In PowerShell 7.4, `ConvertTo-Json` doesn't serialize **BigInteger** values as raw JSON numbers.
This behavior was introduced in PowerShell 7.5.

Copilot uses AI. Check for mistakes.

This cmdlet was introduced in Windows PowerShell 3.0.

Expand Down Expand Up @@ -81,8 +82,8 @@ Get-Date | ConvertTo-Json; Get-Date | ConvertTo-Json -AsArray
]
```

This example shows the output from the `ConvertTo-Json` cmdlet with and without the **AsArray**
`[switch]` parameter. You can see the second portion of the output is wrapped in array brackets.
This example shows the output from `ConvertTo-Json` cmdlet with and without the **AsArray** switch
parameter. You can see the second portion of the output is wrapped in array brackets.

### Example 3

Expand Down Expand Up @@ -206,8 +207,8 @@ Accept wildcard characters: False
### -Depth

Specifies how many levels of contained objects are included in the JSON representation. The value
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a
warning if the number of levels in an input object exceeds this number.
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a warning if
the number of levels in an input object exceeds this number.

```yaml
Type: System.Int32
Expand All @@ -223,7 +224,8 @@ Accept wildcard characters: False

### -EnumsAsStrings

Provides an alternative serialization option that converts all enumerations to their string representation.
Provides an alternative serialization option that converts all enumerations to their string
representation.

```yaml
Type: System.Management.Automation.SwitchParameter
Expand All @@ -244,9 +246,9 @@ characters (like newline) are escaped.

Acceptable values are:

- Default - Only control characters are escaped.
- EscapeNonAscii - All non-ASCII and control characters are escaped.
- EscapeHtml - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.
- `Default` - Only control characters are escaped.
- `EscapeNonAscii` - All non-ASCII and control characters are escaped.
- `EscapeHtml` - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.

This parameter was introduced in PowerShell 6.2.

Expand Down Expand Up @@ -289,7 +291,7 @@ Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
-WarningAction, and -WarningVariable. For more information, see
[about_CommonParameters](../Microsoft.PowerShell.Core/About/about_CommonParameters.md).
[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

Expand Down
27 changes: 13 additions & 14 deletions reference/7.5/Microsoft.PowerShell.Utility/ConvertTo-Json.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: 05/16/2024
ms.date: 04/08/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/convertto-json?view=powershell-7.5&WT.mc_id=ps-gethelp
schema: 2.0.0
title: ConvertTo-Json
Expand Down Expand Up @@ -31,17 +31,16 @@ property values, and the methods are removed.
> As of PowerShell 7.2, Extended Type System properties of **DateTime** and **String** objects are
> no longer serialized and only the simple object is converted to JSON format

You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON
object, which is easily managed in PowerShell.
You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON object,
which is easily managed in PowerShell.

Many web sites use JSON instead of XML to serialize data for communication between servers and
web-based apps.

As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds
the depth specified for the command. This prevents unwanted data loss when converting objects.
As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds the
depth specified for the command. This prevents unwanted data loss when converting objects.

As of PowerShell 7.5-preview.3, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON
numbers.
As of PowerShell 7.5, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON numbers.

This cmdlet was introduced in Windows PowerShell 3.0.

Expand Down Expand Up @@ -83,8 +82,8 @@ Get-Date | ConvertTo-Json; Get-Date | ConvertTo-Json -AsArray
]
```

This example shows the output from the `ConvertTo-Json` cmdlet with and without the **AsArray**
`[switch]` parameter. You can see the second portion of the output is wrapped in array brackets.
This example shows the output from `ConvertTo-Json` cmdlet with and without the **AsArray** switch
parameter. You can see the second portion of the output is wrapped in array brackets.

### Example 3

Expand Down Expand Up @@ -208,8 +207,8 @@ Accept wildcard characters: False
### -Depth

Specifies how many levels of contained objects are included in the JSON representation. The value
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a
warning if the number of levels in an input object exceeds this number.
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a warning if
the number of levels in an input object exceeds this number.

```yaml
Type: System.Int32
Expand Down Expand Up @@ -247,9 +246,9 @@ characters (like newline) are escaped.

Acceptable values are:

- Default - Only control characters are escaped.
- EscapeNonAscii - All non-ASCII and control characters are escaped.
- EscapeHtml - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.
- `Default` - Only control characters are escaped.
- `EscapeNonAscii` - All non-ASCII and control characters are escaped.
- `EscapeHtml` - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.

This parameter was introduced in PowerShell 6.2.

Expand Down
66 changes: 2 additions & 64 deletions reference/7.6/Microsoft.PowerShell.Management/Join-Path.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
external help file: Microsoft.PowerShell.Commands.Management.dll-Help.xml
Locale: en-US
Module Name: Microsoft.PowerShell.Management
ms.date: 12/10/2025
ms.date: 04/08/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.management/join-path?view=powershell-7.6&WT.mc_id=ps-gethelp
schema: 2.0.0
title: Join-Path
Expand All @@ -16,7 +16,7 @@ Combines a path and a child path into a single path.

```
Join-Path [-Path] <String[]> [-ChildPath] <String> [[-AdditionalChildPath] <String[]>] [-Resolve]
[-Credential <PSCredential>] [-Extension <String>] [<CommonParameters>]
[-Credential <PSCredential>] [<CommonParameters>]
```

## DESCRIPTION
Expand Down Expand Up @@ -150,46 +150,6 @@ Join-Path -Path a -ChildPath b, c, d, e, f, g
a\b\c\d\e\f\g
```

### Example 9: Add extension to file without extension

```powershell
Join-Path C:\Temp myfile -Extension txt
```

```Output
C:\Temp\myfile.txt
```

### Example 10: Change existing extension

```powershell
Join-Path C:\Temp myfile.txt -Extension .log
```

```Output
C:\Temp\myfile.log
```

### Example 11: Extension without leading dot

```powershell
Join-Path C:\Temp file.txt -Extension log
```

```Output
C:\Temp\file.log
```

### Example 12: Remove extension with empty string

```powershell
Join-Path C:\Temp file.txt -Extension ""
```

```Output
C:\Temp\file
```

## PARAMETERS

### -AdditionalChildPath
Expand Down Expand Up @@ -251,28 +211,6 @@ Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
```

### -Extension

Specifies the extension to use for the resulting path. If not specified, the original extension is
preserved. The leading dot in the extension is optional. If omitted, the command adds it
automatically.

- If the path has an existing extension, it's replaced with the specified extension.
- If the path has no extension, the specified extension is added.
- If you provide an empty string, the existing extension is removed.

```yaml
Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True
```

### -Path

Specifies the main path (or paths) to which the child-path is appended. The value of **Path**
Expand Down
37 changes: 18 additions & 19 deletions reference/7.6/Microsoft.PowerShell.Utility/ConvertTo-Json.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: 05/16/2024
ms.date: 04/08/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/convertto-json?view=powershell-7.6&WT.mc_id=ps-gethelp
schema: 2.0.0
title: ConvertTo-Json
Expand All @@ -28,21 +28,19 @@ The `ConvertTo-Json` cmdlet converts any .NET object to a string in JavaScript O
property values, and the methods are removed.

> [!NOTE]
> As of PowerShell 7.2, Extended Type System properties of **DateTime** and
> **String** objects are no longer serialized and only the simple object is
> converted to JSON format
> As of PowerShell 7.2, Extended Type System properties of **DateTime** and **String** objects are
> no longer serialized and only the simple object is converted to JSON format

You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON
object, which is easily managed in PowerShell.
You can then use the `ConvertFrom-Json` cmdlet to convert a JSON-formatted string to a JSON object,
which is easily managed in PowerShell.

Many web sites use JSON instead of XML to serialize data for communication between servers and
web-based apps.

As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds
the depth specified for the command. This prevents unwanted data loss when converting objects.
As of PowerShell 7.1, `ConvertTo-Json` emits a warning if the depth of the input object exceeds the
depth specified for the command. This prevents unwanted data loss when converting objects.

As of PowerShell 7.5-preview.3, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON
numbers.
As of PowerShell 7.5, `ConvertTo-Json` can serialize **BigInteger** values as raw JSON numbers.

This cmdlet was introduced in Windows PowerShell 3.0.

Expand Down Expand Up @@ -84,8 +82,8 @@ Get-Date | ConvertTo-Json; Get-Date | ConvertTo-Json -AsArray
]
```

This example shows the output from the `ConvertTo-Json` cmdlet with and without the **AsArray**
`[switch]` parameter. You can see the second portion of the output is wrapped in array brackets.
This example shows the output from `ConvertTo-Json` cmdlet with and without the **AsArray** switch
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammar regression: 'output from ConvertTo-Json cmdlet' should be 'output from the ConvertTo-Json cmdlet'. Adjusting this keeps the sentence correct and consistent with typical cmdlet documentation phrasing.

Suggested change
This example shows the output from `ConvertTo-Json` cmdlet with and without the **AsArray** switch
This example shows the output from the `ConvertTo-Json` cmdlet with and without the **AsArray** switch

Copilot uses AI. Check for mistakes.
parameter. You can see the second portion of the output is wrapped in array brackets.

### Example 3

Expand Down Expand Up @@ -209,8 +207,8 @@ Accept wildcard characters: False
### -Depth

Specifies how many levels of contained objects are included in the JSON representation. The value
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a
warning if the number of levels in an input object exceeds this number.
can be any number from `0` to `100`. The default value is `2`. `ConvertTo-Json` emits a warning if
the number of levels in an input object exceeds this number.

```yaml
Type: System.Int32
Expand All @@ -226,7 +224,8 @@ Accept wildcard characters: False

### -EnumsAsStrings

Provides an alternative serialization option that converts all enumerations to their string representation.
Provides an alternative serialization option that converts all enumerations to their string
representation.

```yaml
Type: System.Management.Automation.SwitchParameter
Expand All @@ -247,9 +246,9 @@ characters (like newline) are escaped.

Acceptable values are:

- Default - Only control characters are escaped.
- EscapeNonAscii - All non-ASCII and control characters are escaped.
- EscapeHtml - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.
- `Default` - Only control characters are escaped.
- `EscapeNonAscii` - All non-ASCII and control characters are escaped.
- `EscapeHtml` - HTML (`<`, `>`, `&`, `'`, `"`) and control characters are escaped.

This parameter was introduced in PowerShell 6.2.

Expand Down Expand Up @@ -292,7 +291,7 @@ Accept wildcard characters: False
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
-WarningAction, and -WarningVariable. For more information, see
[about_CommonParameters](../Microsoft.PowerShell.Core/About/about_CommonParameters.md).
[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes about_CommonParameters to a fwlink in 7.6 (and similarly in 7.4), but 7.5 appears to keep the repo-relative link. For consistency (and to keep navigation/versioning behavior uniform across the versioned reference set), consider standardizing on one approach across 7.4/7.5/7.6—either keep the relative link everywhere or switch all versions to the fwlink.

Suggested change
[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
[about_CommonParameters](../Microsoft.PowerShell.Core/About/about_CommonParameters.md).

Copilot uses AI. Check for mistakes.

## INPUTS

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: What's New in PowerShell 7.6
description: New features and changes released in PowerShell 7.6
ms.date: 03/26/2026
ms.date: 04/07/2026
---

# What's New in PowerShell 7.6
Expand All @@ -11,6 +11,8 @@ PowerShell 7.6 includes the following features, updates, and breaking changes. P

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

[log]: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/7.6.md

## Updated modules

PowerShell 7.6 includes the following updated modules:
Expand Down Expand Up @@ -206,8 +208,6 @@ This release includes the following experimental features:
[05]: ../learn/experimental-features.md#psserializejsonlongenumasnumber
[06]: ../learn/experimental-features.md#pssubsystempluginmodel

[log]: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/preview.md

[14553]: https://github.com/PowerShell/PowerShell/pull/14553
[17687]: https://github.com/PowerShell/PowerShell/pull/17687
[17785]: https://github.com/PowerShell/PowerShell/pull/17785
Expand Down