From 411b9f442d72796eda10df97cfa5f6c0651f4baf Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Fri, 15 Oct 2021 13:06:00 -0500 Subject: [PATCH 1/9] Publish to live (#8228) * Update versions for new releases (#8222) * [WIP] Fixes #8224 - Updates Select-Object (#8225) * Automatically committed changes. * Apply suggestions from code review Co-authored-by: Sean Wheeler * Updates for PR feedback Co-authored-by: Sean Wheeler * Fixes #8220 - Reorder information in setup articles (#8226) * Reorder information in setup articles * fix broken links * Update reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md Co-authored-by: Chase Wilson <31453523+chasewilson@users.noreply.github.com> Co-authored-by: Chase Wilson <31453523+chasewilson@users.noreply.github.com> --- .../Select-Object.md | 33 ++- .../Select-Object.md | 33 ++- .../Select-Object.md | 33 ++- .../Select-Object.md | 33 ++- .../Installing-PowerShell-on-Windows.md | 251 ++++++++++-------- .../install/Installing-PowerShell-on-macOS.md | 73 +++-- .../install/Installing-PowerShell.yml | 2 +- .../docs-conceptual/install/install-alpine.md | 11 +- .../docs-conceptual/install/install-centos.md | 11 +- .../docs-conceptual/install/install-debian.md | 11 +- .../docs-conceptual/install/install-fedora.md | 11 +- .../docs-conceptual/install/install-rhel.md | 11 +- .../docs-conceptual/install/install-ubuntu.md | 12 +- ...m-Windows-PowerShell-51-to-PowerShell-7.md | 2 +- 14 files changed, 328 insertions(+), 199 deletions(-) diff --git a/reference/5.1/Microsoft.PowerShell.Utility/Select-Object.md b/reference/5.1/Microsoft.PowerShell.Utility/Select-Object.md index bfe059efc0f3..513142303a3b 100644 --- a/reference/5.1/Microsoft.PowerShell.Utility/Select-Object.md +++ b/reference/5.1/Microsoft.PowerShell.Utility/Select-Object.md @@ -2,7 +2,7 @@ external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility -ms.date: 09/25/2020 +ms.date: 10/15/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/select-object?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: Select-Object @@ -141,7 +141,24 @@ b c ``` -### Example 5: Select newest and oldest events in the event log +### Example 5: Using `-Unique` with other parameters + +The **Unique** parameter filters values after other `Select-Object` parameters are applied. For +example, if you use the **First** parameter to select the first number of items in an array, **Unique** +is only applied to the selected values and not the entire array. + +```powershell +"a","a","b","c" | Select-Object -First 2 -Unique +``` + +```Output +a +``` + +In this example, **First** selects `"a","a"` as the first 2 items in the array. **Unique** is +applied to `"a","a"` and returns `a` as the unique value. + +### Example 6: Select newest and oldest events in the event log This example gets the first (newest) and last (oldest) events in the Windows PowerShell event log. @@ -155,7 +172,7 @@ $a = Get-EventLog -LogName "Windows PowerShell" $a | Select-Object -Index 0, ($A.count - 1) ``` -### Example 6: Select all but the first object +### Example 7: Select all but the first object This example creates a new PSSession on each of the computers listed in the Servers.txt files, except for the first one. @@ -167,7 +184,7 @@ of computers is set as the value of the **ComputerName** parameter of the `New-P New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1) ``` -### Example 7: Rename files and select several to review +### Example 8: Rename files and select several to review This example adds a "-ro" suffix to the base names of text files that have the read-only attribute and then displays the first five files so the user can see a sample of the effect. @@ -187,7 +204,7 @@ Get-ChildItem *.txt -ReadOnly | Select-Object -First 5 -Wait ``` -### Example 8: Demonstrate the intricacies of the -ExpandProperty parameter +### Example 9: Demonstrate the intricacies of the -ExpandProperty parameter This example demonstrates the intricacies of the **ExpandProperty** parameter. @@ -245,7 +262,7 @@ ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider pro Name NoteProperty string Name=CustomObject ``` -### Example 9: Create custom properties on objects +### Example 10: Create custom properties on objects The following example demonstrates using `Select-Object` to add a custom property to any object. When you specify a property name that does not exist, `Select-Object` creates that property as a @@ -263,7 +280,7 @@ MyCustomProperty New Custom Property ``` -### Example 10: Create calculated properties for each InputObject +### Example 11: Create calculated properties for each InputObject This example demonstrates using `Select-Object` to add calculated properties to your input. Passing a **ScriptBlock** to the **Property** parameter causes `Select-Object` to evaluate the expression on @@ -505,6 +522,8 @@ Accept wildcard characters: False Specifies that if a subset of the input objects has identical properties and values, only a single member of the subset will be selected. +**Unique** selects values _after_ other filtering parameters are applied. + This parameter is case-sensitive. As a result, strings that differ only in character casing are considered to be unique. diff --git a/reference/7.0/Microsoft.PowerShell.Utility/Select-Object.md b/reference/7.0/Microsoft.PowerShell.Utility/Select-Object.md index ba3606135db3..7c20f33f24cd 100644 --- a/reference/7.0/Microsoft.PowerShell.Utility/Select-Object.md +++ b/reference/7.0/Microsoft.PowerShell.Utility/Select-Object.md @@ -2,7 +2,7 @@ external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility -ms.date: 09/25/2020 +ms.date: 10/15/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/select-object?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: Select-Object @@ -147,7 +147,24 @@ b c ``` -### Example 5: Select newest and oldest events in the event log +### Example 5: Using `-Unique` with other parameters + +The **Unique** parameter filters values after other `Select-Object` parameters are applied. For +example, if you use the **First** parameter to select the first number of items in an array, **Unique** +is only applied to the selected values and not the entire array. + +```powershell +"a","a","b","c" | Select-Object -First 2 -Unique +``` + +```Output +a +``` + +In this example, **First** selects `"a","a"` as the first 2 items in the array. **Unique** is +applied to `"a","a"` and returns `a` as the unique value. + +### Example 6: Select newest and oldest events in the event log This example gets the first (newest) and last (oldest) events in the Windows PowerShell event log. @@ -161,7 +178,7 @@ $a = Get-EventLog -LogName "Windows PowerShell" $a | Select-Object -Index 0, ($A.count - 1) ``` -### Example 6: Select all but the first object +### Example 7: Select all but the first object This example creates a new PSSession on each of the computers listed in the Servers.txt files, except for the first one. @@ -173,7 +190,7 @@ of computers is set as the value of the **ComputerName** parameter of the `New-P New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1) ``` -### Example 7: Rename files and select several to review +### Example 8: Rename files and select several to review This example adds a "-ro" suffix to the base names of text files that have the read-only attribute and then displays the first five files so the user can see a sample of the effect. @@ -193,7 +210,7 @@ Get-ChildItem *.txt -ReadOnly | Select-Object -First 5 -Wait ``` -### Example 8: Demonstrate the intricacies of the -ExpandProperty parameter +### Example 9: Demonstrate the intricacies of the -ExpandProperty parameter This example demonstrates the intricacies of the **ExpandProperty** parameter. @@ -251,7 +268,7 @@ ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider pro Name NoteProperty string Name=CustomObject ``` -### Example 9: Create custom properties on objects +### Example 10: Create custom properties on objects The following example demonstrates using `Select-Object` to add a custom property to any object. When you specify a property name that does not exist, `Select-Object` creates that property as a @@ -269,7 +286,7 @@ MyCustomProperty New Custom Property ``` -### Example 10: Create calculated properties for each InputObject +### Example 11: Create calculated properties for each InputObject This example demonstrates using `Select-Object` to add calculated properties to your input. Passing a **ScriptBlock** to the **Property** parameter causes `Select-Object` to evaluate the expression on @@ -527,6 +544,8 @@ Accept wildcard characters: False Specifies that if a subset of the input objects has identical properties and values, only a single member of the subset will be selected. +**Unique** selects values _after_ other filtering parameters are applied. + This parameter is case-sensitive. As a result, strings that differ only in character casing are considered to be unique. diff --git a/reference/7.1/Microsoft.PowerShell.Utility/Select-Object.md b/reference/7.1/Microsoft.PowerShell.Utility/Select-Object.md index 3bfb6c3a3a1d..7dd28d72693e 100644 --- a/reference/7.1/Microsoft.PowerShell.Utility/Select-Object.md +++ b/reference/7.1/Microsoft.PowerShell.Utility/Select-Object.md @@ -2,7 +2,7 @@ external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility -ms.date: 09/25/2020 +ms.date: 10/15/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/select-object?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: Select-Object @@ -147,7 +147,24 @@ b c ``` -### Example 5: Select newest and oldest events in the event log +### Example 5: Using `-Unique` with other parameters + +The **Unique** parameter filters values after other `Select-Object` parameters are applied. For +example, if you use the **First** parameter to select the first number of items in an array, **Unique** +is only applied to the selected values and not the entire array. + +```powershell +"a","a","b","c" | Select-Object -First 2 -Unique +``` + +```Output +a +``` + +In this example, **First** selects `"a","a"` as the first 2 items in the array. **Unique** is +applied to `"a","a"` and returns `a` as the unique value. + +### Example 6: Select newest and oldest events in the event log This example gets the first (newest) and last (oldest) events in the Windows PowerShell event log. @@ -161,7 +178,7 @@ $a = Get-EventLog -LogName "Windows PowerShell" $a | Select-Object -Index 0, ($A.count - 1) ``` -### Example 6: Select all but the first object +### Example 7: Select all but the first object This example creates a new PSSession on each of the computers listed in the Servers.txt files, except for the first one. @@ -173,7 +190,7 @@ of computers is set as the value of the **ComputerName** parameter of the `New-P New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1) ``` -### Example 7: Rename files and select several to review +### Example 8: Rename files and select several to review This example adds a "-ro" suffix to the base names of text files that have the read-only attribute and then displays the first five files so the user can see a sample of the effect. @@ -193,7 +210,7 @@ Get-ChildItem *.txt -ReadOnly | Select-Object -First 5 -Wait ``` -### Example 8: Demonstrate the intricacies of the -ExpandProperty parameter +### Example 9: Demonstrate the intricacies of the -ExpandProperty parameter This example demonstrates the intricacies of the **ExpandProperty** parameter. @@ -251,7 +268,7 @@ ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider pro Name NoteProperty string Name=CustomObject ``` -### Example 9: Create custom properties on objects +### Example 10: Create custom properties on objects The following example demonstrates using `Select-Object` to add a custom property to any object. When you specify a property name that does not exist, `Select-Object` creates that property as a @@ -269,7 +286,7 @@ MyCustomProperty New Custom Property ``` -### Example 10: Create calculated properties for each InputObject +### Example 11: Create calculated properties for each InputObject This example demonstrates using `Select-Object` to add calculated properties to your input. Passing a **ScriptBlock** to the **Property** parameter causes `Select-Object` to evaluate the expression on @@ -527,6 +544,8 @@ Accept wildcard characters: False Specifies that if a subset of the input objects has identical properties and values, only a single member of the subset will be selected. +**Unique** selects values _after_ other filtering parameters are applied. + This parameter is case-sensitive. As a result, strings that differ only in character casing are considered to be unique. diff --git a/reference/7.2/Microsoft.PowerShell.Utility/Select-Object.md b/reference/7.2/Microsoft.PowerShell.Utility/Select-Object.md index 91ddb543cc81..9ec23ed80ea5 100644 --- a/reference/7.2/Microsoft.PowerShell.Utility/Select-Object.md +++ b/reference/7.2/Microsoft.PowerShell.Utility/Select-Object.md @@ -2,7 +2,7 @@ external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Utility -ms.date: 09/25/2020 +ms.date: 10/15/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/select-object?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: Select-Object @@ -147,7 +147,24 @@ b c ``` -### Example 5: Select newest and oldest events in the event log +### Example 5: Using `-Unique` with other parameters + +The **Unique** parameter filters values after other `Select-Object` parameters are applied. For +example, if you use the **First** parameter to select the first number of items in an array, **Unique** +is only applied to the selected values and not the entire array. + +```powershell +"a","a","b","c" | Select-Object -First 2 -Unique +``` + +```Output +a +``` + +In this example, **First** selects `"a","a"` as the first 2 items in the array. **Unique** is +applied to `"a","a"` and returns `a` as the unique value. + +### Example 6: Select newest and oldest events in the event log This example gets the first (newest) and last (oldest) events in the Windows PowerShell event log. @@ -161,7 +178,7 @@ $a = Get-EventLog -LogName "Windows PowerShell" $a | Select-Object -Index 0, ($A.count - 1) ``` -### Example 6: Select all but the first object +### Example 7: Select all but the first object This example creates a new PSSession on each of the computers listed in the Servers.txt files, except for the first one. @@ -173,7 +190,7 @@ of computers is set as the value of the **ComputerName** parameter of the `New-P New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1) ``` -### Example 7: Rename files and select several to review +### Example 8: Rename files and select several to review This example adds a "-ro" suffix to the base names of text files that have the read-only attribute and then displays the first five files so the user can see a sample of the effect. @@ -193,7 +210,7 @@ Get-ChildItem *.txt -ReadOnly | Select-Object -First 5 -Wait ``` -### Example 8: Demonstrate the intricacies of the -ExpandProperty parameter +### Example 9: Demonstrate the intricacies of the -ExpandProperty parameter This example demonstrates the intricacies of the **ExpandProperty** parameter. @@ -251,7 +268,7 @@ ToUInt64 Method uint64 IConvertible.ToUInt64(System.IFormatProvider pro Name NoteProperty string Name=CustomObject ``` -### Example 9: Create custom properties on objects +### Example 10: Create custom properties on objects The following example demonstrates using `Select-Object` to add a custom property to any object. When you specify a property name that does not exist, `Select-Object` creates that property as a @@ -269,7 +286,7 @@ MyCustomProperty New Custom Property ``` -### Example 10: Create calculated properties for each InputObject +### Example 11: Create calculated properties for each InputObject This example demonstrates using `Select-Object` to add calculated properties to your input. Passing a **ScriptBlock** to the **Property** parameter causes `Select-Object` to evaluate the expression on @@ -527,6 +544,8 @@ Accept wildcard characters: False Specifies that if a subset of the input objects has identical properties and values, only a single member of the subset will be selected. +**Unique** selects values _after_ other filtering parameters are applied. + This parameter is case-sensitive. As a result, strings that differ only in character casing are considered to be unique. diff --git a/reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md b/reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md index d3a8231049a5..24a9fc123ea1 100644 --- a/reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md +++ b/reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md @@ -1,23 +1,21 @@ --- description: Information about installing PowerShell on Windows -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Windows --- # Installing PowerShell on Windows -There are multiple ways to install PowerShell in Windows. +There are multiple ways to install PowerShell in Windows. Each install method is designed to support +different scenarios and workflows. Choose the method that best suits your needs. -## Supported versions of Windows - -[!INCLUDE [Windows support](../../includes/windows-support.md)] - -You can check the version that you are using by running `winver.exe`. - -## Installing the MSI package - -To install PowerShell on Windows, download the install package from GitHub. Scroll down to the -**Assets** section of the Release page. The **Assets** section may be collapsed, so you may need to -click to expand it. +- [MSI package](#msi) - The best choice for the everyday user. +- [ZIP package](#zip) - The easiest way to install multiple versions or use in a CI/CD pipeline. + This is the install method for Windows Nano Server, Windows IoT, and Arm-based systems. +- [.NET Global tool](#dotnet) - A good choice for .NET developers that install and use other global + tools. +- [Winget](#winget) - For users that prefer to use the new Windows Package Manager tool. +- [Microsoft Store package](#msstore) - An easy way to install for casual users of PowerShell but + has limitations. > [!NOTE] > The installation commands in this article are for the latest stable release of PowerShell. To @@ -26,15 +24,21 @@ click to expand it. > GitHub. > > - Stable release: [https://aka.ms/powershell-release?tag=stable][current] -> - Preview release: [https://aka.ms/powershell-release?tag=preview][preview] > - LTS release: [https://aka.ms/powershell-release?tag=lts][lts] +> - Preview release: [https://aka.ms/powershell-release?tag=preview][preview] +> +> Download links for every package are found in the **Assets** section of the Release page. The +> **Assets** section may be collapsed, so you may need to click to expand it. + +## Installing the MSI package -The MSI file looks like `PowerShell--win-.msi`. For example: +To install PowerShell on Windows, use the following links to download the install package from +GitHub. - [PowerShell-7.1.5-win-x64.msi][x64msi] - [PowerShell-7.1.5-win-x86.msi][x86msi] -Once downloaded, double-click the installer and follow the prompts. +Once downloaded, double-click the installer file and follow the prompts. The installer creates a shortcut in the Windows Start Menu. @@ -51,32 +55,6 @@ The installer creates a shortcut in the Windows Start Menu. > > If you need to run PowerShell 7.1 side-by-side with other versions, use the [ZIP install](#zip) > method to install the other version to a different folder. -> -> Preview releases of PowerShell 7 install to `$env:ProgramFiles\PowerShell\7-preview` so they can -> be run side-by-side with non-preview releases of PowerShell. PowerShell 7.2-preview.10 is the -> current preview release. - -### Support for Microsoft Update in PowerShell 7.2 - -PowerShell 7.2-preview.10 has support for Microsoft Update. When you enable this feature, you'll get -the latest PowerShell 7 updates in your traditional Microsoft Update (MU) management flow, whether -that's with Windows Update for Business, WSUS, SCCM, or the interactive MU dialog in Settings. - -The PowerShell 7.2 MSI package includes following command-line options: - -- `USE_MU` - This property has two possible values: - - `1` (default) - Opts into updating through Microsoft Update, WSUS, or SCCM - - `0` - Do not opt into updating through Microsoft Update, WSUS, or SCCM -- `ENABLE_MU` - - `1` (default) - Opts into using Microsoft Update for Automatic Updates - - `0` - Do not opt into using Microsoft Update - -> [!NOTE] -> Enabling updates may have been set in a previous installation or manual configuration. Using -> `ENABLE_MU=0` does not remove the existing settings. Also, this setting can be overruled by Group -> Policy settings controlled by your administrator. - -For more information, see the [PowerShell Microsoft Update FAQ](microsoft-update-faq.yml). ### Administrative install from the command line @@ -122,6 +100,114 @@ Use this method to install the ARM-based version of PowerShell on computers like Surface Pro X. For best results, install PowerShell to the to `$env:ProgramFiles\PowerShell\7` folder. +## Install as a .NET Global tool + +If you already have the [.NET Core SDK](/dotnet/core/sdk) installed, you can install PowerShell as a +[.NET Global tool](/dotnet/core/tools/global-tools). + +``` +dotnet tool install --global PowerShell +``` + +The dotnet tool installer adds `$env:USERPROFILE\.dotnet\tools` to your `$env:PATH` environment +variable. However, the currently running shell doesn't have the updated `$env:PATH`. You can start +PowerShell from a new shell by typing `pwsh`. + +## Install PowerShell using Winget + +Winget, the Windows Package Manager, is a command-line tool enables developers to discover, install, +upgrade, remove, and configure applications on Windows 10 computers. This tool is the client +interface to the Windows Package Manager service. + +> [!NOTE] +> See the [winget documentation][winget] for a list of system requirements and install instructions. + +The following commands can be used to install PowerShell using the published `winget` packages: + +Search for the latest version of PowerShell + +```powershell +winget search Microsoft.PowerShell +``` + +```Output +Name Id Version Source +---------------------------------------------------------------- +PowerShell Microsoft.PowerShell 7.1.5.0 winget +Powershell Preview Microsoft.PowerShell.Preview 7.2.0.10 winget +``` + +Install a version of PowerShell using the `--exact` parameter + +```powershell +winget install --name PowerShell --exact --source winget +winget install --name PowerShell-Preview --exact --source winget +``` + +## Installing from the Microsoft Store + +PowerShell 7.1 has been published to the Microsoft Store. You can find the PowerShell release in the +[Microsoft Store][store-app] site or in the Store application in Windows. + +Benefits of the Microsoft Store package: + +- Automatic updates built right into Windows +- Integrates with other software distribution mechanisms like Intune and SCCM + +### Known limitations + +Windows Store packages run in an application sandbox that virtualizes access to some filesystem and +registry locations. + +- All registry changes under HKEY_CURRENT_USER are copied on write to a private, per-user, per-app + location. Therefore, those values are not available to other applications. +- Any system-level configuration settings stored in `$PSHOME` cannot be modified. This includes the + WSMAN configuration. This prevents remote sessions from connecting to Store-based installs of + PowerShell. User-level configurations and SSH remoting are supported. + +For more information, see +[Understanding how packaged desktop apps run on Windows](/windows/msix/desktop/desktop-to-uwp-behind-the-scenes). + +## Installing a preview version + +The preview version of PowerShell 7.2 can be downloaded using the following link: + +- [PowerShell-7.2.0-preview.10-win-x64.msi][72x64msi] + +Preview releases of PowerShell 7 install to `$env:ProgramFiles\PowerShell\7-preview` so they can +be run side-by-side with non-preview releases of PowerShell. PowerShell 7.2-preview.10 is the +current preview release. + +### Support for Microsoft Update in PowerShell 7.2 + +PowerShell 7.2-preview.10 has support for Microsoft Update. When you enable this feature, you'll get +the latest PowerShell 7 updates in your traditional Microsoft Update (MU) management flow, whether +that's with Windows Update for Business, WSUS, SCCM, or the interactive MU dialog in Settings. + +The PowerShell 7.2 MSI package includes following command-line options: + +- `USE_MU` - This property has two possible values: + - `1` (default) - Opts into updating through Microsoft Update, WSUS, or SCCM + - `0` - Do not opt into updating through Microsoft Update, WSUS, or SCCM +- `ENABLE_MU` + - `1` (default) - Opts into using Microsoft Update for Automatic Updates + - `0` - Do not opt into using Microsoft Update + +> [!NOTE] +> Enabling updates may have been set in a previous installation or manual configuration. Using +> `ENABLE_MU=0` does not remove the existing settings. Also, this setting can be overruled by Group +> Policy settings controlled by your administrator. + +For more information, see the [PowerShell Microsoft Update FAQ](microsoft-update-faq.yml). + +## Upgrading an existing installation + +For best results when upgrading, you should use the same install method you used when you first +installed PowerShell. Each installation method installs PowerShell in a different location. If you +are not sure how PowerShell was installed, you can compare the installed location with the package +information in this article. If you installed via the MSI package, that information appears in the +**Programs and Features** Control Panel. + ## Deploying on Windows 10 IoT Enterprise Windows 10 IoT Enterprise comes with Windows PowerShell, which we can use to deploy PowerShell 7. @@ -186,7 +272,7 @@ PowerShell binaries can be deployed using two different methods. location within the mounted image. 1. Online - Transfer the zip file over a PowerShell Session and unzip it in your chosen location. -In both cases, you need the Windows x64 ZIP release package. Run the commands within an +In both cases, you need the [Windows x64 ZIP release package][x64zip]. Run the commands within an "Administrator" instance of PowerShell. ### Offline Deployment of PowerShell @@ -220,74 +306,6 @@ Expand-Archive -Path C:\PowerShell-7.1.5-win-x64.zip -DestinationPath 'C:\Progra If you want WSMan-based remoting, follow the instructions to create a remoting endpoint using the ["another instance technique"][instance]. -## Install as a .NET Global tool - -If you already have the [.NET Core SDK](/dotnet/core/sdk) installed, you can install PowerShell as a -[.NET Global tool](/dotnet/core/tools/global-tools). - -``` -dotnet tool install --global PowerShell -``` - -The dotnet tool installer adds `$env:USERPROFILE\.dotnet\tools` to your `$env:PATH` environment -variable. However, the currently running shell doesn't have the updated `$env:PATH`. You can start -PowerShell from a new shell by typing `pwsh`. - -## Install PowerShell via the Windows Package Manager - -The `winget` command-line tool enables developers to discover, install, upgrade, remove, and -configure applications on Windows 10 computers. This tool is the client interface to the Windows -Package Manager service. - -> [!NOTE] -> See the [winget documentation][winget] for a list of system requirements and install instructions. - -The following commands can be used to install PowerShell using the published `winget` packages: - -Search for the latest version of PowerShell - -```powershell -winget search Microsoft.PowerShell -``` - -```Output -Name Id Version Source ----------------------------------------------------------------- -PowerShell Microsoft.PowerShell 7.1.5.0 winget -Powershell Preview Microsoft.PowerShell.Preview 7.2.0.10 winget -``` - -Install a version of PowerShell using the `--exact` parameter - -```powershell -winget install --name PowerShell --exact --source winget -winget install --name PowerShell-Preview --exact --source winget -``` - -## Installing from the Microsoft Store - -PowerShell 7.1 has been published to the Microsoft Store. You can find the PowerShell release in the -[Microsoft Store][store-app] site or in the Store application in Windows. - -Benefits of the Microsoft Store package: - -- Automatic updates built right into Windows -- Integrates with other software distribution mechanisms like Intune and SCCM - -### Known limitations - -Windows Store packages run in an application sandbox that virtualizes access to some filesystem and -registry locations. - -- All registry changes under HKEY_CURRENT_USER are copied on write to a private, per-user, per-app - location. Therefore, those values are not available to other applications. -- Any system-level configuration settings stored in `$PSHOME` cannot be modified. This includes the - WSMAN configuration. This prevents remote sessions from connecting to Store-based installs of - PowerShell. User-level configurations and SSH remoting are supported. - -For more information, see -[Understanding how packaged desktop apps run on Windows](/windows/msix/desktop/desktop-to-uwp-behind-the-scenes). - ## PowerShell remoting PowerShell supports the PowerShell Remoting Protocol (PSRP) over both WSMan and SSH. For more @@ -305,13 +323,11 @@ of Windows. Windows versions predating Windows 10. It's available via direct download or Windows Update. Fully patched systems already have this package installed. -## Upgrading an existing installation +## Supported versions of Windows -For best results when upgrading, you should use the same install method you used when you first -installed PowerShell. Each installation method installs PowerShell in a different location. If you -are not sure how PowerShell was installed, you can compare the installed location with the package -information in this article. If you installed via the MSI package, that information appears in the -**Programs and Features** Control Panel. +[!INCLUDE [Windows support](../../includes/windows-support.md)] + +You can check the version that you are using by running `winver.exe`. ## Installation support @@ -341,3 +357,4 @@ cannot support those methods. [x64zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/PowerShell-7.1.5-win-x64.zip [x86msi]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/PowerShell-7.1.5-win-x86.msi [x86zip]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/PowerShell-7.1.5-win-x86.zip +[72x64msi]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/PowerShell-7.2.0-preview.10-win-x64.msi diff --git a/reference/docs-conceptual/install/Installing-PowerShell-on-macOS.md b/reference/docs-conceptual/install/Installing-PowerShell-on-macOS.md index 0ffd996adbed..6691f8de3392 100644 --- a/reference/docs-conceptual/install/Installing-PowerShell-on-macOS.md +++ b/reference/docs-conceptual/install/Installing-PowerShell-on-macOS.md @@ -1,13 +1,14 @@ --- description: Information about installing PowerShell on macOS -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on macOS --- # Installing PowerShell on macOS PowerShell 7.0 or higher require macOS 10.13 and higher. All packages are available on our GitHub -[releases][releases] page. After the package is installed, run `pwsh` from a terminal. +[releases][releases] page. After the package is installed, run `pwsh` from a terminal. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell 6.x and 7.x. @@ -17,10 +18,6 @@ PowerShell 7.0 or higher require macOS 10.13 and higher. All packages are availa > If you need to run an older version of PowerShell side-by-side with PowerShell 7.2, install > the version you want using the [binary archive](#binary-archives) method. -## Supported versions of macOS - -[!INCLUDE [macOS support](../../includes/macos-support.md)] - ## Installation of latest stable release via Homebrew on macOS 10.13 or higher There are several ways to install PowerShell on macOS. Choose one of the following methods: @@ -67,8 +64,8 @@ brew upgrade powershell --cask ## Installation of latest preview release via Homebrew on macOS 10.13 or higher -After you've installed Homebrew, you can install PowerShell. First, install the [Cask-Versions][cask-versions] -package that lets you install alternative versions of cask packages: +After you've installed Homebrew, you can install PowerShell. First, install the +[Cask-Versions][cask-versions] package that lets you install alternative versions of cask packages: ```sh brew tap homebrew/cask-versions @@ -110,7 +107,7 @@ You can now verify your install pwsh ``` -When new versions of PowerShell are released, simply run the following command. +When new versions of PowerShell are released, run the following command. ```sh brew upgrade powershell @@ -126,14 +123,14 @@ brew upgrade powershell ## Installation via Direct Download -PowerShell 7.2 addes support for the Apple M1 processor. Download the install package from the +PowerShell 7.2 adds support for the Apple M1 processor. Download the install package from the [releases][releases] page onto your computer. The links to the current versions are: - PowerShell 7.2-preview.10 - - x64 processors - `https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-x64.pkg` - - M1 processors - `https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-arm64.pkg` -- PowerShell 7.1.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-osx-x64.pkg` -- PowerShell 7.0.8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-osx-x64.pkg` + - x64 processors - [powershell-7.2.0-preview.10-osx-x64.pkg][72x64pkg] + - M1 processors - [powershell-7.2.0-preview.10-osx-arm64.pkg][72m1pkg] +- PowerShell 7.1.5 - [powershell-7.1.5-osx-x64.pkg][71x64pkg] +- PowerShell 7.0.8 - [powershell-7.0.8-osx-x64.pkg][70x64pkg] You can double-click the file and follow the prompts, or install it from the terminal using the following commands. Change the name of the file to match the file you downloaded. @@ -172,9 +169,9 @@ operations. > [!NOTE] > You can use this method to install any version of PowerShell including the latest: -> - Stable release: [https://aka.ms/powershell-release?tag=stable](https://aka.ms/powershell-release?tag=stable) -> - Preview release: [https://aka.ms/powershell-release?tag=preview](https://aka.ms/powershell-release?tag=preview) -> - LTS release: [https://aka.ms/powershell-release?tag=lts](https://aka.ms/powershell-release?tag=lts) +> - Stable release: [https://aka.ms/powershell-release?tag=stable][current] +> - LTS release: [https://aka.ms/powershell-release?tag=lts][lts] +> - Preview release: [https://aka.ms/powershell-release?tag=preview][preview] ### Installing binary archives on macOS @@ -182,10 +179,11 @@ Download the install package from the [releases][releases] page onto your comput current versions are: - PowerShell 7.2-preview.10 - - x64 processors - `https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-x64.tar.gz` - - M1 processors - `https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-arm64.tar.gz` -- PowerShell 7.1.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-osx-x64.tar.gz` -- PowerShell 7.0.8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-osx-x64.tar.gz` + - x64 processors - [powershell-7.2.0-preview.10-osx-x64.tar.gz][72x64bin] + - M1 processors - [powershell-7.2.0-preview.10-osx-arm64.tar.gz][72m1bin] +- PowerShell 7.1.5 - [powershell-7.1.5-osx-x64.tar.gz][71x64bin] +- PowerShell 7.0.8 - [powershell-7.0.8-osx-x64.tar.gz][70x64bin] + Use the following commands to install PowerShell from the binary archive. Change the download URL to match the version you want to install. @@ -194,7 +192,7 @@ match the version you want to install. # Download the powershell '.tar.gz' archive curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-osx-x64.tar.gz -# Create the target folder where powershell will be placed +# Create the target folder where powershell is placed sudo mkdir -p /usr/local/microsoft/powershell/7.1.5 # Expand powershell to the target folder @@ -258,12 +256,12 @@ and remove the paths using `sudo rm`. ## Paths - `$PSHOME` is `/usr/local/microsoft/powershell/7.1.5/` -- User profiles will be read from `~/.config/powershell/profile.ps1` -- Default profiles will be read from `$PSHOME/profile.ps1` -- User modules will be read from `~/.local/share/powershell/Modules` -- Shared modules will be read from `/usr/local/share/powershell/Modules` -- Default modules will be read from `$PSHOME/Modules` -- PSReadline history will be recorded to `~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt` +- User profiles are read from `~/.config/powershell/profile.ps1` +- Default profiles are read from `$PSHOME/profile.ps1` +- User modules are read from `~/.local/share/powershell/Modules` +- Shared modules are read from `/usr/local/share/powershell/Modules` +- Default modules are read from `$PSHOME/Modules` +- PSReadLine history are recorded to `~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt` The profiles respect PowerShell's per-host configuration. So the default host-specific profile exists at `Microsoft.PowerShell_profile.ps1` in the same locations. @@ -274,6 +272,10 @@ Because macOS is a derivation of BSD, the prefix `/usr/local` is used instead of `$PSHOME` is `/usr/local/microsoft/powershell/7.1.5/`, and the symbolic link is placed at `/usr/local/bin/pwsh`. +## Supported versions + +[!INCLUDE [macOS support](../../includes/macos-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of @@ -286,9 +288,24 @@ support those methods. - [Homebrew Github Repository][GitHub] - [Homebrew-Cask][cask] + + [brew]: https://docs.brew.sh/Installation [Cask]: https://github.com/Homebrew/homebrew-cask [cask-versions]: https://github.com/Homebrew/homebrew-cask-versions [GitHub]: https://github.com/Homebrew [releases]: https://aka.ms/powershell-release?tag=stable [xdg-bds]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html +[current]: https://aka.ms/powershell-release?tag=stable +[lts]: https://aka.ms/powershell-release?tag=lts +[preview]: https://aka.ms/powershell-release?tag=preview + +[72x64pkg]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-x64.pkg +[72m1pkg]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-arm64.pkg +[71x64pkg]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-osx-x64.pkg +[70x64pkg]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-osx-x64.pkg + +[72x64bin]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-x64.tar.gz +[72m1bin]: https://github.com/PowerShell/PowerShell/releases/download/v7.2.0-preview.10/powershell-7.2.0-preview.10-osx-arm64.tar.gz +[71x64bin]: https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-osx-x64.tar.gz +[70x64bin]: https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-osx-x64.tar.gz diff --git a/reference/docs-conceptual/install/Installing-PowerShell.yml b/reference/docs-conceptual/install/Installing-PowerShell.yml index 023c8a65ff27..1b586484c415 100644 --- a/reference/docs-conceptual/install/Installing-PowerShell.yml +++ b/reference/docs-conceptual/install/Installing-PowerShell.yml @@ -33,7 +33,7 @@ landingContent: - text: Install on macOS url: Installing-PowerShell-on-macOS.md - text: Supported macOS releases - url: Installing-PowerShell-on-macOS.md#supported-versions-of-macos + url: Installing-PowerShell-on-macOS.md#supported-versions # Card - title: Linux diff --git a/reference/docs-conceptual/install/install-alpine.md b/reference/docs-conceptual/install/install-alpine.md index a047f157ee60..9b78b701c8a3 100644 --- a/reference/docs-conceptual/install/install-alpine.md +++ b/reference/docs-conceptual/install/install-alpine.md @@ -1,12 +1,13 @@ --- description: Information about installing PowerShell on Alpine Linux -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Alpine Linux --- # Installing PowerShell on Alpine Linux All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -14,8 +15,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas > If you need to run PowerShell 7.2 side-by-side with a previous version, reinstall the previous > version using the [binary archive](install-other-linux.md#binary-archives) method. -[!INCLUDE [Alpine support](../../includes/alpine-support.md)] - ## Installation steps Installation on Alpine is based on downloading tar.gz package from the [releases][releases] page. The @@ -87,6 +86,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [Alpine support](../../includes/alpine-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/install/install-centos.md b/reference/docs-conceptual/install/install-centos.md index cdd579519cd7..45a68e6b3bb9 100644 --- a/reference/docs-conceptual/install/install-centos.md +++ b/reference/docs-conceptual/install/install-centos.md @@ -1,12 +1,13 @@ --- description: Information about installing PowerShell on CentOS -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on CentOS --- # Installing PowerShell on CentOS All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -16,8 +17,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas CentOS 7 uses Yum as a package manager and CentOS 8 uses DNF. -[!INCLUDE [CentOS support](../../includes/centos-support.md)] - ## Installation via Package Repository (preferred) PowerShell for CentOS is published to official Microsoft repositories for easy installation and @@ -90,6 +89,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [CentOS support](../../includes/centos-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/install/install-debian.md b/reference/docs-conceptual/install/install-debian.md index 1502f36407c0..c3b3c2fc543d 100644 --- a/reference/docs-conceptual/install/install-debian.md +++ b/reference/docs-conceptual/install/install-debian.md @@ -1,12 +1,13 @@ --- description: Information about installing PowerShell on Debian Linux -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Debian Linux --- # Installing PowerShell on Debian Linux All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -16,8 +17,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas Debian uses APT (Advanced Package Tool) as a package manager. -[!INCLUDE [Debian support](../../includes/debian-support.md)] - ## Debian 10 > [!NOTE] @@ -111,6 +110,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [Debian support](../../includes/debian-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/install/install-fedora.md b/reference/docs-conceptual/install/install-fedora.md index 565e3173293f..5eb115cb3189 100644 --- a/reference/docs-conceptual/install/install-fedora.md +++ b/reference/docs-conceptual/install/install-fedora.md @@ -1,12 +1,13 @@ --- description: Information about installing PowerShell on Fedora Linux -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Fedora Linux --- # Installing PowerShell on Fedora Linux All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -16,8 +17,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas Fedora uses DNF as its package manager. -[!INCLUDE [Fedora support](../../includes/fedora-support.md)] - ## Installation via Package Repository PowerShell for Linux is published to official Microsoft repositories for easy installation and @@ -88,6 +87,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [Fedora support](../../includes/fedora-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/install/install-rhel.md b/reference/docs-conceptual/install/install-rhel.md index f2ca839d7ce3..f443801ff0f3 100644 --- a/reference/docs-conceptual/install/install-rhel.md +++ b/reference/docs-conceptual/install/install-rhel.md @@ -1,12 +1,13 @@ --- description: Information about installing PowerShell on Red Hat Enterprise Linux (RHEL) -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Red Hat Enterprise Linux (RHEL) --- # Installing PowerShell on Red Hat Enterprise Linux (RHEL) All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -16,8 +17,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas RHEL 7 uses yum and RHEL 8 uses the dnf package manager. -[!INCLUDE [RHEL support](../../includes/rhel-support.md)] - ## Installation via Package Repository PowerShell for Linux is published to official Microsoft repositories for easy installation and @@ -104,6 +103,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [RHEL support](../../includes/rhel-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/install/install-ubuntu.md b/reference/docs-conceptual/install/install-ubuntu.md index 294941670849..233c83b31c92 100644 --- a/reference/docs-conceptual/install/install-ubuntu.md +++ b/reference/docs-conceptual/install/install-ubuntu.md @@ -1,12 +1,14 @@ --- description: Information about installing PowerShell on Ubuntu -ms.date: 10/14/2021 +ms.date: 10/15/2021 title: Installing PowerShell on Ubuntu --- # Installing PowerShell on Ubuntu All packages are available on our GitHub [releases][releases] page. After the package is installed, -run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. +run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview release. Before +installing, check the list of [Supported versions](#supported-versions) below. + > [!NOTE] > PowerShell 7.2 is an in-place upgrade that removes previous versions of PowerShell. @@ -16,8 +18,6 @@ run `pwsh` from a terminal. Run `pwsh-preview` if you installed a preview releas Ubuntu uses APT (Advanced Package Tool) as a package manager. -[!INCLUDE [Ubuntu support](../../includes/ubuntu-support.md)] - ## Installation via Package Repository PowerShell for Linux is published to package repositories for easy installation and updates. The URL @@ -101,6 +101,10 @@ exists at `Microsoft.PowerShell_profile.ps1` in the same locations. PowerShell respects the [XDG Base Directory Specification][xdg-bds] on Linux. +## Supported versions + +[!INCLUDE [Ubuntu support](../../includes/ubuntu-support.md)] + ## Installation support Microsoft supports the installation methods in this document. There may be other methods of diff --git a/reference/docs-conceptual/whats-new/Migrating-from-Windows-PowerShell-51-to-PowerShell-7.md b/reference/docs-conceptual/whats-new/Migrating-from-Windows-PowerShell-51-to-PowerShell-7.md index 0beb8d3d2e83..bc1a4d15342f 100644 --- a/reference/docs-conceptual/whats-new/Migrating-from-Windows-PowerShell-51-to-PowerShell-7.md +++ b/reference/docs-conceptual/whats-new/Migrating-from-Windows-PowerShell-51-to-PowerShell-7.md @@ -49,7 +49,7 @@ full installation. You may also install PowerShell 7 via the Windows Store or `winget`. For more information about both of these methods, see the detailed instructions in -[Installing PowerShell on Windows](../install/installing-powershell-on-windows.md#install-powershell-via-the-windows-package-manager). +[Installing PowerShell on Windows](../install/installing-powershell-on-windows.md#winget). ## Using PowerShell 7 side-by-side with Windows PowerShell 5.1 From fa2b91c01a9626ecf7968dd083e68e28f738d855 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Fri, 15 Oct 2021 13:40:10 -0500 Subject: [PATCH 2/9] Publish to live (#8230) * Update versions for new releases (#8222) * [WIP] Fixes #8224 - Updates Select-Object (#8225) * Automatically committed changes. * Apply suggestions from code review Co-authored-by: Sean Wheeler * Updates for PR feedback Co-authored-by: Sean Wheeler * Fixes #8220 - Reorder information in setup articles (#8226) * Reorder information in setup articles * fix broken links * Update reference/docs-conceptual/install/Installing-PowerShell-on-Windows.md Co-authored-by: Chase Wilson <31453523+chasewilson@users.noreply.github.com> * Fix versioned URLs (#8229) Co-authored-by: Chase Wilson <31453523+chasewilson@users.noreply.github.com> --- reference/docs-conceptual/install/install-centos.md | 4 ++-- reference/docs-conceptual/install/install-other-linux.md | 9 ++++++--- reference/docs-conceptual/install/install-rhel.md | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/reference/docs-conceptual/install/install-centos.md b/reference/docs-conceptual/install/install-centos.md index 45a68e6b3bb9..882c8de049f6 100644 --- a/reference/docs-conceptual/install/install-centos.md +++ b/reference/docs-conceptual/install/install-centos.md @@ -51,8 +51,8 @@ separate package for each OS. Download the RPM package you need onto your CentOS - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-1.rhel.7.x86_64.rpm` - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-1.centos.8.x86_64.rpm` - PowerShell 7.0.8 - - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.0.8-1.rhel.7.x86_64.rpm` - - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.0.8-1.centos.8.x86_64.rpm` + - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-1.rhel.7.x86_64.rpm` + - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-1.centos.8.x86_64.rpm` Change the URL in the following shell commands to match the version you need. diff --git a/reference/docs-conceptual/install/install-other-linux.md b/reference/docs-conceptual/install/install-other-linux.md index 91f46cd84973..ba856050aaac 100644 --- a/reference/docs-conceptual/install/install-other-linux.md +++ b/reference/docs-conceptual/install/install-other-linux.md @@ -78,9 +78,9 @@ scenarios. > [!NOTE] > You can use this method to install any version of PowerShell including the latest: > -> - Stable release: [https://aka.ms/powershell-release?tag=stable](https://aka.ms/powershell-release?tag=stable) -> - Preview release: [https://aka.ms/powershell-release?tag=preview](https://aka.ms/powershell-release?tag=preview) -> - LTS release: [https://aka.ms/powershell-release?tag=lts](https://aka.ms/powershell-release?tag=lts) +> - Stable release: [https://aka.ms/powershell-release?tag=stable][current] +> - LTS release: [https://aka.ms/powershell-release?tag=lts][lts] +> - Preview release: [https://aka.ms/powershell-release?tag=preview][preview] ### Dependencies @@ -161,3 +161,6 @@ from a new shell by typing `pwsh`. [releases]: https://aka.ms/PowerShell-Release?tag=stable [community]: /powershell/scripting/community/community-support [amazon-dockerfile]: https://github.com/PowerShell/PowerShell-Docker/blob/master/release/community-stable/amazonlinux/docker/Dockerfile +[current]: https://aka.ms/powershell-release?tag=stable +[lts]: https://aka.ms/powershell-release?tag=lts +[preview]: https://aka.ms/powershell-release?tag=preview diff --git a/reference/docs-conceptual/install/install-rhel.md b/reference/docs-conceptual/install/install-rhel.md index f443801ff0f3..9174f65c9f64 100644 --- a/reference/docs-conceptual/install/install-rhel.md +++ b/reference/docs-conceptual/install/install-rhel.md @@ -64,8 +64,8 @@ separate package for each OS. Download the RPM package you need onto your CentOS - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-1.rhel.7.x86_64.rpm` - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.1.5-1.centos.8.x86_64.rpm` - PowerShell 7.0.8 - - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.0.8-1.rhel.7.x86_64.rpm` - - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.1.5/powershell-7.0.8-1.centos.8.x86_64.rpm` + - CentOS 7 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-1.rhel.7.x86_64.rpm` + - CentOS 8 - `https://github.com/PowerShell/PowerShell/releases/download/v7.0.8/powershell-7.0.8-1.centos.8.x86_64.rpm` Use the following shell command to install the RPM package on the target version of RHEL. Change the URL in the following shell commands to match the version you need. From 7e37552342ec8670532657f8f446ae25814817f1 Mon Sep 17 00:00:00 2001 From: huypub <38988242+huypub@users.noreply.github.com> Date: Thu, 3 Feb 2022 14:57:30 -0800 Subject: [PATCH 3/9] 2/03 PM Publish (#8566) * Add 7.3 to module history (#8559) * Add 7.3 to module history * fix typo * fix more typos * Fix typo (#8564) * Insert missing angle-bracket in class syntax block (#8563) * Add no-loc metadata to avoid over-translation (#8565) Co-authored-by: Sean Wheeler Co-authored-by: Guilherme Gonzaga --- .../About/about_Classes.md | 2 +- .../About/about_Classes.md | 2 +- .../About/about_Classes.md | 2 +- .../About/about_Classes.md | 2 +- .../About/about_Automatic_Variables.md | 4 +- .../About/about_Classes.md | 2 +- .../developer/cmdlet/activity-parameters.md | 5 +- .../help/comment-based-help-keywords.md | 49 +- .../whats-new/cmdlet-versions.md | 1021 +++++++++-------- 9 files changed, 546 insertions(+), 543 deletions(-) diff --git a/reference/5.1/Microsoft.PowerShell.Core/About/about_Classes.md b/reference/5.1/Microsoft.PowerShell.Core/About/about_Classes.md index 33b7dc0e4bc6..a828b60fcd59 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/About/about_Classes.md +++ b/reference/5.1/Microsoft.PowerShell.Core/About/about_Classes.md @@ -39,7 +39,7 @@ properties. Classes are declared using the following syntax: ```syntax -class [: [][, [: [][,]] { [[] [hidden] [static] ...] [([]) {} ...] diff --git a/reference/7.0/Microsoft.PowerShell.Core/About/about_Classes.md b/reference/7.0/Microsoft.PowerShell.Core/About/about_Classes.md index 1f3f9f1a84b9..e5956152a916 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/About/about_Classes.md +++ b/reference/7.0/Microsoft.PowerShell.Core/About/about_Classes.md @@ -39,7 +39,7 @@ properties. Classes are declared using the following syntax: ```syntax -class [: [][, [: [][,]] { [[] [hidden] [static] ...] [([]) {} ...] diff --git a/reference/7.1/Microsoft.PowerShell.Core/About/about_Classes.md b/reference/7.1/Microsoft.PowerShell.Core/About/about_Classes.md index d013d0fcc8ba..5ebc68ddc2c7 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/About/about_Classes.md +++ b/reference/7.1/Microsoft.PowerShell.Core/About/about_Classes.md @@ -39,7 +39,7 @@ properties. Classes are declared using the following syntax: ```syntax -class [: [][, [: [][,]] { [[] [hidden] [static] ...] [([]) {} ...] diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_Classes.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_Classes.md index 88ce40e9ac67..5036fdadfa73 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_Classes.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_Classes.md @@ -39,7 +39,7 @@ properties. Classes are declared using the following syntax: ```syntax -class [: [][, [: [][,]] { [[] [hidden] [static] ...] [([]) {} ...] diff --git a/reference/7.3/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md b/reference/7.3/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md index 9b9ba4b2d6c9..c45c1519843e 100644 --- a/reference/7.3/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md +++ b/reference/7.3/Microsoft.PowerShell.Core/About/about_Automatic_Variables.md @@ -1,7 +1,7 @@ --- description: Describes variables that store state information for PowerShell. These variables are created and maintained by PowerShell. Locale: en-US -ms.date: 12/15/2021 +ms.date: 02/03/2022 no-loc: [Reset, Current, Background, Blink, Bold, Foreground, Formatting, Hidden, Italic, Reset, Reverse, Underline] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.3&WT.mc_id=ps-gethelp schema: 2.0.0 @@ -509,7 +509,7 @@ objects in a pipeline. > [!NOTE] > `$PSNativeCommandArgumentPassing` is only available when the -> `PSNativeCommandArgumentPassing` experimental feature ia enabled. For more +> `PSNativeCommandArgumentPassing` experimental feature is enabled. For more > information, see > [about_Experimental_Features](about_Experimental_Features.md) and > [Using experimental features](/powershell/scripting/learn/experimental-features). diff --git a/reference/7.3/Microsoft.PowerShell.Core/About/about_Classes.md b/reference/7.3/Microsoft.PowerShell.Core/About/about_Classes.md index 0ca1e46ec25b..ec7c42d0c86f 100644 --- a/reference/7.3/Microsoft.PowerShell.Core/About/about_Classes.md +++ b/reference/7.3/Microsoft.PowerShell.Core/About/about_Classes.md @@ -39,7 +39,7 @@ properties. Classes are declared using the following syntax: ```syntax -class [: [][, [: [][,]] { [[] [hidden] [static] ...] [([]) {} ...] diff --git a/reference/docs-conceptual/developer/cmdlet/activity-parameters.md b/reference/docs-conceptual/developer/cmdlet/activity-parameters.md index 2d96b7960544..adffab2a71bc 100644 --- a/reference/docs-conceptual/developer/cmdlet/activity-parameters.md +++ b/reference/docs-conceptual/developer/cmdlet/activity-parameters.md @@ -1,7 +1,8 @@ --- description: Activity Parameters -ms.date: 09/13/2016 +ms.date: 02/03/2022 ms.topic: reference +no-loc: [Append, Command, String, System.Version, Compress, Keyword, Continuous, Create, array, Drain, Erase, Include, Incremental, Insert, Interval, Notify, Object, Prompt, Quiet, Retry, Select, Strict, Truncate, Verify] title: Activity Parameters --- # Activity Parameters @@ -18,7 +19,7 @@ The following table lists the recommended names and functionality for activity p |**Compress**
Data type: Keyword|Implement this parameter so that the user can specify the algorithm to use for data compression.| |**Continuous**
Data type: SwitchParameter|Implement this parameter so that data is processed until the user terminates the cmdlet when the parameter is specified. If the parameter is not specified, the cmdlet processes a predefined amount of data and then terminates the operation.| |**Create**
Data type: SwitchParameter|Implement this parameter to indicate that a resource is created if one does not already exist when the parameter is specified.| -|**Delete**
Data type: SwitchParameter|Implement this parameter so that resources are deleted when the cmdlet has completed its operation when the parameter is specified.| +|**Create**
Data type: SwitchParameter|Implement this parameter so that resources are deleted when the cmdlet has completed its operation when the parameter is specified.| |**Drain**
Data type: SwitchParameter|Implement this parameter to indicate that outstanding work items are processed before the cmdlet processes new data when the parameter is specified. If the parameter is not specified, the work items are processed immediately.| |**Erase**
Data type: Int32|Implement this parameter so that the user can specify the number of times a resource is erased before it is deleted.| |**ErrorLevel**
Data type: Int32|Implement this parameter so that the user can specify the level of errors to report.| diff --git a/reference/docs-conceptual/developer/help/comment-based-help-keywords.md b/reference/docs-conceptual/developer/help/comment-based-help-keywords.md index 5ef3e077709a..f95358c7ae80 100644 --- a/reference/docs-conceptual/developer/help/comment-based-help-keywords.md +++ b/reference/docs-conceptual/developer/help/comment-based-help-keywords.md @@ -1,7 +1,8 @@ --- description: Comment-Based Help Keywords -ms.date: 06/09/2020 +ms.date: 02/03/2022 ms.topic: reference +no-loc: [FAQ, Function, General, Glossary, Provider, Component, Functionality, Role] title: Comment-Based Help Keywords --- # Comment-Based Help Keywords @@ -16,19 +17,18 @@ order in the comment-based Help, and they are not case-sensitive. Note that the `.EXTERNALHELP` keyword takes precedence over all other comment-based help keywords. When `.EXTERNALHELP` is present, the -[Microsoft.PowerShell.Commands.GetHelpCommand](/dotnet/api/Microsoft.PowerShell.Commands.gethelpcommand) -cmdlet does not display comment-based help, even when it cannot find a help file that matches the -value of the keyword. +[Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet does not display +comment-based help, even when it cannot find a help file that matches the value of the keyword. -## .SYNOPSIS +## `.SYNOPSIS` A brief description of the function or script. This keyword can be used only once in each topic. -## .DESCRIPTION +## `.DESCRIPTION` A detailed description of the function or script. This keyword can be used only once in each topic. -## .PARAMETER \ +## `.PARAMETER ` The description of a parameter. You can include a `.PARAMETER` keyword for each parameter in the function or script. @@ -43,26 +43,26 @@ immediately before the parameter variable name. If you use both a `Param` statem `.PARAMETER` keyword, the description associated with the `.PARAMETER` keyword is used, and the `Param` statement comment is ignored. -## .EXAMPLE +## `.EXAMPLE` A sample command that uses the function or script, optionally followed by sample output and a description. Repeat this keyword for each example. -## .INPUTS +## `.INPUTS` The Microsoft .NET Framework types of objects that can be piped to the function or script. You can also include a description of the input objects. -## .OUTPUTS +## `.OUTPUTS` The .NET Framework type of the objects that the cmdlet returns. You can also include a description of the returned objects. -## .NOTES +## `.NOTES` Additional information about the function or script. -## .LINK +## `.LINK` The name of a related topic. Repeat this keyword for each related topic. This content appears in the Related Links section of the Help topic. @@ -71,28 +71,28 @@ The `.LINK` keyword content can also include a Uniform Resource Identifier (URI) version of the same Help topic. The online version opens when you use the `Online` parameter of `Get-Help`. The URI must begin with "http" or "https". -## .COMPONENT +## `.COMPONENT` The name of the technology or feature that the function or script uses, or to which it is related. The **Component** parameter of `Get-Help` uses this value to filter the search results returned by `Get-Help`. -## .Role +## `.ROLE` The name of the user role for the help topic. The **Role** parameter of `Get-Help` uses this value to filter the search results returned by `Get-Help`. -## .FUNCTIONALITY +## `.FUNCTIONALITY` The keywords that describe the intended use of the function. The **Functionality** parameter of `Get-Help` uses this value to filter the search results returned by `Get-Help`. -## .FORWARDHELPTARGETNAME \ +## `.FORWARDHELPTARGETNAME ` Redirects to the Help topic for the specified command. You can redirect users to any Help topic, including Help topics for a function, script, cmdlet, or provider. -## .FORWARDHELPCATEGORY \ +## `.FORWARDHELPCATEGORY ` Specifies the Help category of the item in `.FORWARDHELPTARGETNAME`. Use this keyword to avoid conflicts when there are commands with the same name. @@ -112,24 +112,23 @@ Valid values are: - Filter - All -## .REMOTEHELPRUNSPACE \ +## `.REMOTEHELPRUNSPACE ` Specifies a session that contains the Help topic. Enter a variable that contains a PSSession. This keyword is used by the `Export-PSSession` cmdlet to find the Help topics for the exported commands. -## .EXTERNALHELP \ +## `.EXTERNALHELP ` Specifies the path and/or name of an XML-based Help file for the script or function. The `.EXTERNALHELP` keyword tells the -[Microsoft.PowerShell.Commands.GetHelpCommand](/dotnet/api/Microsoft.PowerShell.Commands.gethelpcommand) -cmdlet to get help for the script or function in an XML-based file. The `.EXTERNALHELP` keyword is -required when using an XML-based help file for a script or function. Without it, `Get-Help` will not -find a help file for the function or script. +[Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet to get help for the script +or function in an XML-based file. The `.EXTERNALHELP` keyword is required when using an XML-based +help file for a script or function. Without it, `Get-Help` will not find a help file for the +function or script. The `.EXTERNALHELP` keyword takes precedence over all other comment-based help keywords. When -`.EXTERNALHELP` is present, the -[Microsoft.PowerShell.Commands.GetHelpCommand](/dotnet/api/Microsoft.PowerShell.Commands.gethelpcommand) +`.EXTERNALHELP` is present, the [Get-Help](/powershell/module/Microsoft.PowerShell.Core/Get-Help) cmdlet does not display comment-based help, even when it cannot find a help file that matches the value of the keyword. diff --git a/reference/docs-conceptual/whats-new/cmdlet-versions.md b/reference/docs-conceptual/whats-new/cmdlet-versions.md index e38e44fc70b4..c001ce542065 100644 --- a/reference/docs-conceptual/whats-new/cmdlet-versions.md +++ b/reference/docs-conceptual/whats-new/cmdlet-versions.md @@ -1,6 +1,6 @@ --- description: This article lists the modules and cmdlets that are included in various versions of PowerShell. -ms.date: 08/24/2021 +ms.date: 02/03/2022 title: Release history of modules and cmdlets --- # Release history of modules and cmdlets @@ -9,500 +9,503 @@ This article lists the modules and cmdlets that are included in various versions is a summary of information found in the release notes. More detailed information can be found in the release notes: +- [What's new in PowerShell 7.3](what-s-new-in-powershell-73.md) +- [What's new in PowerShell 7.2](what-s-new-in-powershell-72.md) +- [What's new in PowerShell 7.1](what-s-new-in-powershell-71.md) - [What's new in PowerShell 7.0](what-s-new-in-powershell-70.md) This is a work in progress. Please help us keep this information fresh. ## Module release history -| Module Name / PS Version | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------------------------------- | :------: | :------: | :------: | :------: | ------------------------------------------- | -| CimCmdlets | ✅ | ✅ | ✅ | ✅ | Windows only | -| ISE (introduced in 2.0) | ✅ | | | | Windows only | -| Microsoft.PowerShell.Archive | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.PowerShell.Core | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.PowerShell.Diagnostics | ✅ | ✅ | ✅ | ✅ | Windows only | -| Microsoft.PowerShell.Host | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.PowerShell.LocalAccounts | ✅ | | | | Windows only (64-bit only) | -| Microsoft.PowerShell.Management | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.PowerShell.ODataUtils | ✅ | | | | Windows only | -| Microsoft.PowerShell.Operation.Validation | ✅ | | | | Windows only | -| Microsoft.PowerShell.Security | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.PowerShell.Utility | ✅ | ✅ | ✅ | ✅ | | -| Microsoft.WsMan.Management | ✅ | ✅ | ✅ | ✅ | Windows only | -| PackageManagement | ✅ | ✅ | ✅ | ✅ | | -| PowershellGet 2.x | v1.1 | ✅ | ✅ | ✅ | New versions available from the Gallery | -| PowershellGet 3.x | | | | | available from the Gallery | -| PSDesiredStateConfiguration 2.x | ✅ | ✅ | ✅ | ❌ | Removed in 7.2 - available from the Gallery | -| PSDesiredStateConfiguration 3.x | | | | | Preview available from the Gallery | -| PSDiagnostics | ✅ | ✅ | ✅ | ✅ | Windows only | -| PSReadLine | v1.x | v2.0 | v2.1 | v2.1 | New versions available from the Gallery | -| PSScheduledJob | ✅ | | | | Windows only | -| PSWorkflow | ✅ | | | | Windows only | -| PSWorkflowUtility | ✅ | | | | Windows only | -| ThreadJob | | ✅ | ✅ | ✅ | Can be installed in PowerShell 5.1 | +| ModuleName / PSVersion | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------------------------------- | -------- | -------- | -------- | -------- | -------- | ------------------------------------------- | +| CimCmdlets | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| ISE (introduced in 2.0) | ✅ | | | | | Windows only | +| Microsoft.PowerShell.Archive | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.PowerShell.Core | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.PowerShell.Diagnostics | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Microsoft.PowerShell.Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.PowerShell.LocalAccounts | ✅ | | | | | Windows only (64-bit only) | +| Microsoft.PowerShell.Management | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.PowerShell.ODataUtils | ✅ | | | | | Windows only | +| Microsoft.PowerShell.Operation.Validation | ✅ | | | | | Windows only | +| Microsoft.PowerShell.Security | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.PowerShell.Utility | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Microsoft.WsMan.Management | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| PackageManagement | ✅ | ✅ | ✅ | ✅ | ✅ | | +| PowershellGet 2.x | v1.1 | ✅ | ✅ | ✅ | ✅ | New versions available from the Gallery | +| PowershellGet 3.x | | | | | | Available from the Gallery | +| PSDesiredStateConfiguration 2.x | ✅ | ✅ | ✅ | ❌ | | Removed in 7.2 - available from the Gallery | +| PSDesiredStateConfiguration 3.x | | | | | | Preview available from the Gallery | +| PSDiagnostics | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| PSReadLine | v1.x | v2.0 | v2.1 | v2.1 | v2.1 | New versions available from the Gallery | +| PSScheduledJob | ✅ | | | | | Windows only | +| PSWorkflow | ✅ | | | | | Windows only | +| PSWorkflowUtility | ✅ | | | | | Windows only | +| ThreadJob | | ✅ | ✅ | ✅ | ✅ | Can be installed in PowerShell 5.1 | ## Cmdlet release history ### CimCmdlets -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| --------------------------- | :------: | :------: | :------: | -------- | ------------ | -| Export-BinaryMiLog | ✅ | | | | Windows only | -| Get-CimAssociatedInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-CimClass | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-CimInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-CimSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| Import-BinaryMiLog | ✅ | | | | Windows only | -| Invoke-CimMethod | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-CimInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-CimSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-CimSessionOption | ✅ | ✅ | ✅ | ✅ | Windows only | -| Register-CimIndicationEvent | ✅ | ✅ | ✅ | ✅ | Windows only | -| Remove-CimInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Remove-CimSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-CimInstance | ✅ | ✅ | ✅ | ✅ | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| --------------------------- | -------- | -------- | -------- | -------- | -------- | ------------ | +| Export-BinaryMiLog | ✅ | | | | | Windows only | +| Get-CimAssociatedInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-CimClass | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-CimInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-CimSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Import-BinaryMiLog | ✅ | | | | | Windows only | +| Invoke-CimMethod | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-CimInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-CimSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-CimSessionOption | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Register-CimIndicationEvent | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Remove-CimInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Remove-CimSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-CimInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | ### ISE (introduced in 2.0) -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------- | :------: | :---: | :---: | :---: | ------------ | -| Get-IseSnippet | ✅ | | | | Windows only | -| Import-IseSnippet | ✅ | | | | Windows only | -| New-IseSnippet | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------- | -------- | --- | --- | --- | --- | ------------ | +| Get-IseSnippet | ✅ | | | | | Windows only | +| Import-IseSnippet | ✅ | | | | | Windows only | +| New-IseSnippet | ✅ | | | | | Windows only | ### Microsoft.PowerShell.Archive -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ---------------- | :------: | :------: | :------: | :------: | ---- | -| Compress-Archive | ✅ | ✅ | ✅ | ✅ | | -| Expand-Archive | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ---------------- | -------- | -------- | -------- | -------- | -------- | ---- | +| Compress-Archive | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Expand-Archive | ✅ | ✅ | ✅ | ✅ | ✅ | | ### Microsoft.PowerShell.Core -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| --------------------------------- | :------: | :------: | :------: | :------: | ------------------------------------------ | -| Add-History | ✅ | ✅ | ✅ | ✅ | | -| Add-PSSnapin | ✅ | | | | Windows only | -| Clear-History | ✅ | ✅ | ✅ | ✅ | | -| Clear-Host | ✅ | ✅ | ✅ | ✅ | | -| Connect-PSSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| Debug-Job | ✅ | ✅ | ✅ | ✅ | | -| Disable-ExperimentalFeature | | ✅ | ✅ | ✅ | Added in 6.2 | -| Disable-PSRemoting | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disable-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disconnect-PSSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-ExperimentalFeature | | ✅ | ✅ | ✅ | Added in 6.2 | -| Enable-PSRemoting | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enter-PSHostProcess | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | -| Enter-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Exit-PSHostProcess | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | -| Exit-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Export-Console | ✅ | | | | Windows only | -| Export-ModuleMember | ✅ | ✅ | ✅ | ✅ | | -| ForEach-Object | ✅ | ✅ | ✅ | ✅ | | -| Get-Command | ✅ | ✅ | ✅ | ✅ | | -| Get-ExperimentalFeature | | ✅ | ✅ | ✅ | Added in 6.2 | -| Get-Help | ✅ | ✅ | ✅ | ✅ | | -| Get-History | ✅ | ✅ | ✅ | ✅ | | -| Get-Job | ✅ | ✅ | ✅ | ✅ | | -| Get-Module | ✅ | ✅ | ✅ | ✅ | | -| Get-PSHostProcessInfo | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | -| Get-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Get-PSSessionCapability | ✅ | ✅ | ✅ | ✅ | | -| Get-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | | -| Get-PSSnapin | ✅ | | | | Windows only | -| Get-Verb | ✅ | | | | Moved to Microsoft.PowerShell.Utility 6.0+ | -| Import-Module | ✅ | ✅ | ✅ | ✅ | | -| Invoke-Command | ✅ | ✅ | ✅ | ✅ | | -| Invoke-History | ✅ | ✅ | ✅ | ✅ | | -| New-Module | ✅ | ✅ | ✅ | ✅ | | -| New-ModuleManifest | ✅ | ✅ | ✅ | ✅ | | -| New-PSRoleCapabilityFile | ✅ | ✅ | ✅ | ✅ | | -| New-PSSession | ✅ | ✅ | ✅ | ✅ | | -| New-PSSessionConfigurationFile | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-PSSessionOption | ✅ | ✅ | ✅ | ✅ | | -| New-PSTransportOption | ✅ | ✅ | ✅ | ✅ | | -| Out-Default | ✅ | ✅ | ✅ | ✅ | | -| Out-Host | ✅ | ✅ | ✅ | ✅ | | -| Out-Null | ✅ | ✅ | ✅ | ✅ | | -| Receive-Job | ✅ | ✅ | ✅ | ✅ | | -| Receive-PSSession | ✅ | ✅ | ✅ | ✅ | Windows only | -| Register-ArgumentCompleter | ✅ | ✅ | ✅ | ✅ | | -| Register-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | Windows only | -| Remove-Job | ✅ | ✅ | ✅ | ✅ | | -| Remove-Module | ✅ | ✅ | ✅ | ✅ | | -| Remove-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Remove-PSSnapin | ✅ | | | | Windows only | -| Resume-Job | ✅ | | | | | -| Save-Help | ✅ | ✅ | ✅ | ✅ | | -| Set-PSDebug | ✅ | ✅ | ✅ | ✅ | | -| Set-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-StrictMode | ✅ | ✅ | ✅ | ✅ | | -| Start-Job | ✅ | ✅ | ✅ | ✅ | | -| Stop-Job | ✅ | ✅ | ✅ | ✅ | | -| Suspend-Job | ✅ | | | | Windows only | -| Test-ModuleManifest | ✅ | ✅ | ✅ | ✅ | | -| Test-PSSessionConfigurationFile | ✅ | ✅ | ✅ | ✅ | Windows only | -| Unregister-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | Windows only | -| Update-Help | ✅ | ✅ | ✅ | ✅ | | -| Wait-Job | ✅ | ✅ | ✅ | ✅ | | -| Where-Object | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| --------------------------------- | -------- | -------- | -------- | -------- | -------- | ------------------------------------------ | +| Add-History | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Add-PSSnapin | ✅ | | | | | Windows only | +| Clear-History | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Clear-Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Connect-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Debug-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Disable-ExperimentalFeature | | ✅ | ✅ | ✅ | ✅ | Added in 6.2 | +| Disable-PSRemoting | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disable-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disconnect-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-ExperimentalFeature | | ✅ | ✅ | ✅ | ✅ | Added in 6.2 | +| Enable-PSRemoting | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enter-PSHostProcess | ✅ | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | +| Enter-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Exit-PSHostProcess | ✅ | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | +| Exit-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-Console | ✅ | | | | | Windows only | +| Export-ModuleMember | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ForEach-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Command | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-ExperimentalFeature | | ✅ | ✅ | ✅ | ✅ | Added in 6.2 | +| Get-Help | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-History | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSHostProcessInfo | ✅ | ✅ | ✅ | ✅ | ✅ | Added Linux support in 6.2 | +| Get-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSSessionCapability | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSSnapin | ✅ | | | | | Windows only | +| Get-Verb | ✅ | | | | | Moved to Microsoft.PowerShell.Utility 6.0+ | +| Import-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-Command | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-History | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-ModuleManifest | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-PSRoleCapabilityFile | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-PSSessionConfigurationFile | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-PSSessionOption | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-PSTransportOption | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Out-Default | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Out-Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Out-Null | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Receive-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Receive-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Register-ArgumentCompleter | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Register-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Remove-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-PSSnapin | ✅ | | | | | Windows only | +| Resume-Job | ✅ | | | | | | +| Save-Help | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PSDebug | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-StrictMode | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Start-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Stop-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Suspend-Job | ✅ | | | | | Windows only | +| Test-ModuleManifest | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Test-PSSessionConfigurationFile | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Unregister-PSSessionConfiguration | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Update-Help | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Wait-Job | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Where-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | ### Microsoft.PowerShell.Diagnostics -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| -------------- | :------: | :------: | :------: | :------: | ------------ | -| Export-Counter | ✅ | | | | Windows only | -| Get-Counter | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-WinEvent | ✅ | ✅ | ✅ | ✅ | Windows only | -| Import-Counter | ✅ | | | | Windows only | -| New-WinEvent | ✅ | ✅ | ✅ | ✅ | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| -------------- | -------- | -------- | -------- | -------- | -------- | ------------ | +| Export-Counter | ✅ | | | | | Windows only | +| Get-Counter | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-WinEvent | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Import-Counter | ✅ | | | | | Windows only | +| New-WinEvent | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | ### Microsoft.PowerShell.Host -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ---------------- | :------: | :------: | :------: | :------: | ---- | -| Start-Transcript | ✅ | ✅ | ✅ | ✅ | | -| Stop-Transcript | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ---------------- | -------- | -------- | -------- | -------- | -------- | ---- | +| Start-Transcript | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Stop-Transcript | ✅ | ✅ | ✅ | ✅ | ✅ | | ### Microsoft.PowerShell.LocalAccounts (64-bit only) -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------------- | :------: | :---: | :---: | :---: | ------------ | -| Add-LocalGroupMember | ✅ | | | | Windows only | -| Disable-LocalUser | ✅ | | | | Windows only | -| Enable-LocalUser | ✅ | | | | Windows only | -| Get-LocalGroup | ✅ | | | | Windows only | -| Get-LocalGroupMember | ✅ | | | | Windows only | -| Get-LocalUser | ✅ | | | | Windows only | -| New-LocalGroup | ✅ | | | | Windows only | -| New-LocalUser | ✅ | | | | Windows only | -| Remove-LocalGroup | ✅ | | | | Windows only | -| Remove-LocalGroupMember | ✅ | | | | Windows only | -| Remove-LocalUser | ✅ | | | | Windows only | -| Rename-LocalGroup | ✅ | | | | Windows only | -| Rename-LocalUser | ✅ | | | | Windows only | -| Set-LocalGroup | ✅ | | | | Windows only | -| Set-LocalUser | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------------- | -------- | --- | --- | --- | --- | ------------ | +| Add-LocalGroupMember | ✅ | | | | | Windows only | +| Disable-LocalUser | ✅ | | | | | Windows only | +| Enable-LocalUser | ✅ | | | | | Windows only | +| Get-LocalGroup | ✅ | | | | | Windows only | +| Get-LocalGroupMember | ✅ | | | | | Windows only | +| Get-LocalUser | ✅ | | | | | Windows only | +| New-LocalGroup | ✅ | | | | | Windows only | +| New-LocalUser | ✅ | | | | | Windows only | +| Remove-LocalGroup | ✅ | | | | | Windows only | +| Remove-LocalGroupMember | ✅ | | | | | Windows only | +| Remove-LocalUser | ✅ | | | | | Windows only | +| Rename-LocalGroup | ✅ | | | | | Windows only | +| Rename-LocalUser | ✅ | | | | | Windows only | +| Set-LocalGroup | ✅ | | | | | Windows only | +| Set-LocalUser | ✅ | | | | | Windows only | ### Microsoft.PowerShell.Management -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------------------- | :------: | :------: | :------: | :------: | -------------------------------- | -| Add-Computer | ✅ | | | | Windows only | -| Add-Content | ✅ | ✅ | ✅ | ✅ | | -| Checkpoint-Computer | ✅ | | | | Windows only | -| Clear-Content | ✅ | ✅ | ✅ | ✅ | | -| Clear-EventLog | ✅ | | | | Windows only | -| Clear-Item | ✅ | ✅ | ✅ | ✅ | | -| Clear-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Clear-RecycleBin | ✅ | ✅ | ✅ | ✅ | Windows only | -| Complete-Transaction | ✅ | | | | Windows only | -| Convert-Path | ✅ | ✅ | ✅ | ✅ | | -| Copy-Item | ✅ | ✅ | ✅ | ✅ | | -| Copy-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Debug-Process | ✅ | ✅ | ✅ | ✅ | | -| Disable-ComputerRestore | ✅ | | | | Windows only | -| Enable-ComputerRestore | ✅ | | | | Windows only | -| Get-ChildItem | ✅ | ✅ | ✅ | ✅ | | -| Get-Clipboard | ✅ | ✅ | ✅ | ✅ | Not supported on macOS | -| Get-ComputerInfo | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-ComputerRestorePoint | ✅ | | | | Windows only | -| Get-Content | ✅ | ✅ | ✅ | ✅ | | -| Get-ControlPanelItem | ✅ | | | | Windows only | -| Get-EventLog | ✅ | | | | Windows only | -| Get-HotFix | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-Item | ✅ | ✅ | ✅ | ✅ | | -| Get-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Get-ItemPropertyValue | ✅ | ✅ | ✅ | ✅ | | -| Get-Location | ✅ | ✅ | ✅ | ✅ | | -| Get-Process | ✅ | ✅ | ✅ | ✅ | | -| Get-PSDrive | ✅ | ✅ | ✅ | ✅ | | -| Get-PSProvider | ✅ | ✅ | ✅ | ✅ | | -| Get-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-TimeZone | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-Transaction | ✅ | | | | Windows only | -| Get-WmiObject | ✅ | | | | Windows only | -| Invoke-Item | ✅ | ✅ | ✅ | ✅ | | -| Invoke-WmiMethod | ✅ | | | | Windows only | -| Join-Path | ✅ | ✅ | ✅ | ✅ | | -| Limit-EventLog | ✅ | | | | Windows only | -| Move-Item | ✅ | ✅ | ✅ | ✅ | | -| Move-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| New-EventLog | ✅ | | | | Windows only | -| New-Item | ✅ | ✅ | ✅ | ✅ | | -| New-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| New-PSDrive | ✅ | ✅ | ✅ | ✅ | | -| New-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-WebServiceProxy | ✅ | | | | Windows only | -| Pop-Location | ✅ | ✅ | ✅ | ✅ | | -| Push-Location | ✅ | ✅ | ✅ | ✅ | | -| Register-WmiEvent | ✅ | | | | Windows only | -| Remove-Computer | ✅ | | | | Windows only | -| Remove-EventLog | ✅ | | | | Windows only | -| Remove-Item | ✅ | ✅ | ✅ | ✅ | | -| Remove-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Remove-PSDrive | ✅ | ✅ | ✅ | ✅ | | -| Remove-Service | | ✅ | ✅ | ✅ | Windows only | -| Remove-WmiObject | ✅ | | | | Windows only | -| Rename-Computer | ✅ | ✅ | ✅ | ✅ | Windows only | -| Rename-Item | ✅ | ✅ | ✅ | ✅ | | -| Rename-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Reset-ComputerMachinePassword | ✅ | | | | Windows only | -| Resolve-Path | ✅ | ✅ | ✅ | ✅ | | -| Restart-Computer | ✅ | ✅ | ✅ | ✅ | Added Linux/macOS support in 7.1 | -| Restart-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Restore-Computer | ✅ | | | | Windows only | -| Resume-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-Clipboard | ✅ | ✅ | ✅ | ✅ | | -| Set-Content | ✅ | ✅ | ✅ | ✅ | | -| Set-Item | ✅ | ✅ | ✅ | ✅ | | -| Set-ItemProperty | ✅ | ✅ | ✅ | ✅ | | -| Set-Location | ✅ | ✅ | ✅ | ✅ | | -| Set-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-TimeZone | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-WmiInstance | ✅ | | | | Windows only | -| Show-ControlPanelItem | ✅ | | | | Windows only | -| Show-EventLog | ✅ | | | | Windows only | -| Split-Path | ✅ | ✅ | ✅ | ✅ | | -| Start-Process | ✅ | ✅ | ✅ | ✅ | | -| Start-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Start-Transaction | ✅ | | | | Windows only | -| Stop-Computer | ✅ | ✅ | ✅ | ✅ | Added Linux/macOS support in 7.1 | -| Stop-Process | ✅ | ✅ | ✅ | ✅ | | -| Stop-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Suspend-Service | ✅ | ✅ | ✅ | ✅ | Windows only | -| Test-ComputerSecureChannel | ✅ | | | | Windows only | -| Test-Connection | ✅ | ✅ | ✅ | ✅ | | -| Test-Path | ✅ | ✅ | ✅ | ✅ | | -| Undo-Transaction | ✅ | | | | Windows only | -| Use-Transaction | ✅ | | | | Windows only | -| Wait-Process | ✅ | ✅ | ✅ | ✅ | Does not work on Linux/macOS | -| Write-EventLog | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------------------- | -------- | -------- | -------- | -------- | -------- | -------------------------------- | +| Add-Computer | ✅ | | | | | Windows only | +| Add-Content | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Checkpoint-Computer | ✅ | | | | | Windows only | +| Clear-Content | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Clear-EventLog | ✅ | | | | | Windows only | +| Clear-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Clear-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Clear-RecycleBin | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Complete-Transaction | ✅ | | | | | Windows only | +| Convert-Path | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Copy-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Copy-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Debug-Process | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Disable-ComputerRestore | ✅ | | | | | Windows only | +| Enable-ComputerRestore | ✅ | | | | | Windows only | +| Get-ChildItem | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Clipboard | ✅ | ✅ | ✅ | ✅ | ✅ | NotsupportedonmacOS | +| Get-ComputerInfo | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-ComputerRestorePoint | ✅ | | | | | Windows only | +| Get-Content | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-ControlPanelItem | ✅ | | | | | Windows only | +| Get-EventLog | ✅ | | | | | Windows only | +| Get-HotFix | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-ItemPropertyValue | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Location | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Process | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSDrive | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSProvider | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-TimeZone | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-Transaction | ✅ | | | | | Windows only | +| Get-WmiObject | ✅ | | | | | Windows only | +| Invoke-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-WmiMethod | ✅ | | | | | Windows only | +| Join-Path | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Limit-EventLog | ✅ | | | | | Windows only | +| Move-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Move-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-EventLog | ✅ | | | | | Windows only | +| New-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-PSDrive | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-WebServiceProxy | ✅ | | | | | Windows only | +| Pop-Location | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Push-Location | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Register-WmiEvent | ✅ | | | | | Windows only | +| Remove-Computer | ✅ | | | | | Windows only | +| Remove-EventLog | ✅ | | | | | Windows only | +| Remove-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-PSDrive | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-Service | | ✅ | ✅ | ✅ | ✅ | Windows only | +| Remove-WmiObject | ✅ | | | | | Windows only | +| Rename-Computer | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Rename-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Rename-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Reset-ComputerMachinePassword | ✅ | | | | | Windows only | +| Resolve-Path | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Restart-Computer | ✅ | ✅ | ✅ | ✅ | ✅ | Added Linux/macOS support in 7.1 | +| Restart-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Restore-Computer | ✅ | | | | | Windows only | +| Resume-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-Clipboard | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Content | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Item | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-ItemProperty | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Location | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-TimeZone | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-WmiInstance | ✅ | | | | | Windows only | +| Show-ControlPanelItem | ✅ | | | | | Windows only | +| Show-EventLog | ✅ | | | | | Windows only | +| Split-Path | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Start-Process | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Start-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Start-Transaction | ✅ | | | | | Windows only | +| Stop-Computer | ✅ | ✅ | ✅ | ✅ | ✅ | Added Linux/macOS support in 7.1 | +| Stop-Process | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Stop-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Suspend-Service | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Test-ComputerSecureChannel | ✅ | | | | | Windows only | +| Test-Connection | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Test-Path | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Undo-Transaction | ✅ | | | | | Windows only | +| Use-Transaction | ✅ | | | | | Windows only | +| Wait-Process | ✅ | ✅ | ✅ | ✅ | ✅ | Does not work on Linux/macOS | +| Write-EventLog | ✅ | | | | | Windows only | ### Microsoft.PowerShell.ODataUtils -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ------------------------- | :------: | :---: | :---: | :---: | ------------ | -| Export-ODataEndpointProxy | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ------------------------- | -------- | --- | --- | --- | --- | ------------ | +| Export-ODataEndpointProxy | ✅ | | | | | Windows only | ### Microsoft.PowerShell.Operation.Validation -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| -------------------------- | :------: | :---: | :---: | :---: | ------------ | -| Get-OperationValidation | ✅ | | | | Windows only | -| Invoke-OperationValidation | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| -------------------------- | -------- | --- | --- | --- | --- | ------------ | +| Get-OperationValidation | ✅ | | | | | Windows only | +| Invoke-OperationValidation | ✅ | | | | | Windows only | ### Microsoft.PowerShell.Security -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ------------------------- | :------: | :------: | :------: | :------: | --------------------------------------- | -| ConvertFrom-SecureString | ✅ | ✅ | ✅ | ✅ | | -| ConvertTo-SecureString | ✅ | ✅ | ✅ | ✅ | | -| Get-Acl | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-AuthenticodeSignature | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-CmsMessage | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | -| Get-Credential | ✅ | ✅ | ✅ | ✅ | | -| Get-ExecutionPolicy | ✅ | ✅ | ✅ | ✅ | Returns **Unrestricted** on Linux/macOS | -| Get-PfxCertificate | ✅ | ✅ | ✅ | ✅ | | -| New-FileCatalog | ✅ | ✅ | ✅ | ✅ | Windows only | -| Protect-CmsMessage | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | -| Set-Acl | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-AuthenticodeSignature | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-ExecutionPolicy | ✅ | ✅ | ✅ | ✅ | Does nothing on Linux/macOS | -| Test-FileCatalog | ✅ | ✅ | ✅ | ✅ | Windows only | -| Unprotect-CmsMessage | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ------------------------- | -------- | -------- | -------- | -------- | -------- | --------------------------------------- | +| ConvertFrom-SecureString | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertTo-SecureString | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Acl | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-AuthenticodeSignature | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-CmsMessage | ✅ | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | +| Get-Credential | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-ExecutionPolicy | ✅ | ✅ | ✅ | ✅ | ✅ | Returns **Unrestricted** on Linux/macOS | +| Get-PfxCertificate | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-FileCatalog | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Protect-CmsMessage | ✅ | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | +| Set-Acl | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-AuthenticodeSignature | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-ExecutionPolicy | ✅ | ✅ | ✅ | ✅ | ✅ | Does nothing on Linux/macOS | +| Test-FileCatalog | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Unprotect-CmsMessage | ✅ | ✅ | ✅ | ✅ | ✅ | Support for Linux/macOS added in 7.1 | ### Microsoft.PowerShell.Utility -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ------------------------- | :------: | :------: | :------: | :------: | ----------------------------------------- | -| Add-Member | ✅ | ✅ | ✅ | ✅ | | -| Add-Type | ✅ | ✅ | ✅ | ✅ | | -| Clear-Variable | ✅ | ✅ | ✅ | ✅ | | -| Compare-Object | ✅ | ✅ | ✅ | ✅ | | -| ConvertFrom-Csv | ✅ | ✅ | ✅ | ✅ | | -| ConvertFrom-Json | ✅ | ✅ | ✅ | ✅ | | -| ConvertFrom-Markdown | | ✅ | ✅ | ✅ | Added in 6.1 | -| ConvertFrom-SddlString | ✅ | ✅ | ✅ | ✅ | Windows only | -| ConvertFrom-String | ✅ | | | | | -| ConvertFrom-StringData | ✅ | ✅ | ✅ | ✅ | | -| Convert-String | ✅ | | | | | -| ConvertTo-Csv | ✅ | ✅ | ✅ | ✅ | | -| ConvertTo-Html | ✅ | ✅ | ✅ | ✅ | | -| ConvertTo-Json | ✅ | ✅ | ✅ | ✅ | | -| ConvertTo-Xml | ✅ | ✅ | ✅ | ✅ | | -| Debug-Runspace | ✅ | ✅ | ✅ | ✅ | | -| Disable-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | | -| Disable-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | | -| Enable-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | | -| Enable-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | | -| Export-Alias | ✅ | ✅ | ✅ | ✅ | | -| Export-Clixml | ✅ | ✅ | ✅ | ✅ | | -| Export-Csv | ✅ | ✅ | ✅ | ✅ | | -| Export-FormatData | ✅ | ✅ | ✅ | ✅ | | -| Export-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Format-Custom | ✅ | ✅ | ✅ | ✅ | | -| Format-Hex | ✅ | ✅ | ✅ | ✅ | | -| Format-List | ✅ | ✅ | ✅ | ✅ | | -| Format-Table | ✅ | ✅ | ✅ | ✅ | | -| Format-Wide | ✅ | ✅ | ✅ | ✅ | | -| Get-Alias | ✅ | ✅ | ✅ | ✅ | | -| Get-Culture | ✅ | ✅ | ✅ | ✅ | | -| Get-Date | ✅ | ✅ | ✅ | ✅ | | -| Get-Error | | ✅ | ✅ | ✅ | | -| Get-Event | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | -| Get-EventSubscriber | ✅ | ✅ | ✅ | ✅ | | -| Get-FileHash | ✅ | ✅ | ✅ | ✅ | | -| Get-FormatData | ✅ | ✅ | ✅ | ✅ | | -| Get-Host | ✅ | ✅ | ✅ | ✅ | | -| Get-MarkdownOption | | ✅ | ✅ | ✅ | Added in 6.1 | -| Get-Member | ✅ | ✅ | ✅ | ✅ | | -| Get-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | | -| Get-PSCallStack | ✅ | ✅ | ✅ | ✅ | | -| Get-Random | ✅ | ✅ | ✅ | ✅ | | -| Get-Runspace | ✅ | ✅ | ✅ | ✅ | | -| Get-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | | -| Get-TraceSource | ✅ | ✅ | ✅ | ✅ | | -| Get-TypeData | ✅ | ✅ | ✅ | ✅ | | -| Get-UICulture | ✅ | ✅ | ✅ | ✅ | | -| Get-Unique | ✅ | ✅ | ✅ | ✅ | | -| Get-Uptime | | ✅ | ✅ | ✅ | | -| Get-Variable | ✅ | ✅ | ✅ | ✅ | | -| Get-Verb | | ✅ | ✅ | ✅ | Moved from Microsoft.PowerShelll.Core | -| Group-Object | ✅ | ✅ | ✅ | ✅ | | -| Import-Alias | ✅ | ✅ | ✅ | ✅ | | -| Import-Clixml | ✅ | ✅ | ✅ | ✅ | | -| Import-Csv | ✅ | ✅ | ✅ | ✅ | | -| Import-LocalizedData | ✅ | ✅ | ✅ | ✅ | | -| Import-PowerShellDataFile | ✅ | ✅ | ✅ | ✅ | | -| Import-PSSession | ✅ | ✅ | ✅ | ✅ | | -| Invoke-Expression | ✅ | ✅ | ✅ | ✅ | | -| Invoke-RestMethod | ✅ | ✅ | ✅ | ✅ | | -| Invoke-WebRequest | ✅ | ✅ | ✅ | ✅ | | -| Join-String | | ✅ | ✅ | ✅ | | -| Measure-Command | ✅ | ✅ | ✅ | ✅ | | -| Measure-Object | ✅ | ✅ | ✅ | ✅ | | -| New-Alias | ✅ | ✅ | ✅ | ✅ | | -| New-Event | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | -| New-Guid | ✅ | ✅ | ✅ | ✅ | | -| New-Object | ✅ | ✅ | ✅ | ✅ | | -| New-TemporaryFile | ✅ | ✅ | ✅ | ✅ | | -| New-TimeSpan | ✅ | ✅ | ✅ | ✅ | | -| New-Variable | ✅ | ✅ | ✅ | ✅ | | -| Out-File | ✅ | ✅ | ✅ | ✅ | | -| Out-GridView | ✅ | ✅ | ✅ | ✅ | Windows only | -| Out-Printer | ✅ | ✅ | ✅ | ✅ | Windows only | -| Out-String | ✅ | ✅ | ✅ | ✅ | | -| Read-Host | ✅ | ✅ | ✅ | ✅ | | -| Register-EngineEvent | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | -| Register-ObjectEvent | ✅ | ✅ | ✅ | ✅ | | -| Remove-Alias | | ✅ | ✅ | ✅ | | -| Remove-Event | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | -| Remove-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | | -| Remove-TypeData | ✅ | ✅ | ✅ | ✅ | | -| Remove-Variable | ✅ | ✅ | ✅ | ✅ | | -| Select-Object | ✅ | ✅ | ✅ | ✅ | | -| Select-String | ✅ | ✅ | ✅ | ✅ | | -| Select-Xml | ✅ | ✅ | ✅ | ✅ | | -| Send-MailMessage | ✅ | ✅ | ✅ | ✅ | | -| Set-Alias | ✅ | ✅ | ✅ | ✅ | | -| Set-Date | ✅ | ✅ | ✅ | ✅ | | -| Set-MarkdownOption | | ✅ | ✅ | ✅ | Added in 6.1 | -| Set-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | | -| Set-TraceSource | ✅ | ✅ | ✅ | ✅ | | -| Set-Variable | ✅ | ✅ | ✅ | ✅ | | -| Show-Command | ✅ | ✅ | ✅ | ✅ | Windows only | -| Show-Markdown | | ✅ | ✅ | ✅ | Added in 6.1 | -| Sort-Object | ✅ | ✅ | ✅ | ✅ | | -| Start-Sleep | ✅ | ✅ | ✅ | ✅ | | -| Tee-Object | ✅ | ✅ | ✅ | ✅ | | -| Test-Json | | ✅ | ✅ | ✅ | | -| Trace-Command | ✅ | ✅ | ✅ | ✅ | | -| Unblock-File | ✅ | ✅ | ✅ | ✅ | Added support for macOS in 7.0 | -| Unregister-Event | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | -| Update-FormatData | ✅ | ✅ | ✅ | ✅ | | -| Update-List | ✅ | ✅ | ✅ | ✅ | | -| Update-TypeData | ✅ | ✅ | ✅ | ✅ | | -| Wait-Debugger | ✅ | ✅ | ✅ | ✅ | | -| Wait-Event | ✅ | ✅ | ✅ | ✅ | | -| Write-Debug | ✅ | ✅ | ✅ | ✅ | | -| Write-Error | ✅ | ✅ | ✅ | ✅ | | -| Write-Host | ✅ | ✅ | ✅ | ✅ | | -| Write-Information | ✅ | ✅ | ✅ | ✅ | | -| Write-Output | ✅ | ✅ | ✅ | ✅ | | -| Write-Progress | ✅ | ✅ | ✅ | ✅ | | -| Write-Verbose | ✅ | ✅ | ✅ | ✅ | | -| Write-Warning | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ------------------------- | -------- | -------- | -------- | -------- | -------- | ----------------------------------------- | +| Add-Member | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Add-Type | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Clear-Variable | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Compare-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertFrom-Csv | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertFrom-Json | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertFrom-Markdown | | ✅ | ✅ | ✅ | ✅ | Added in 6.1 | +| ConvertFrom-SddlString | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| ConvertFrom-String | ✅ | | | | | | +| ConvertFrom-StringData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Convert-String | ✅ | | | | | | +| ConvertTo-Csv | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertTo-Html | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertTo-Json | ✅ | ✅ | ✅ | ✅ | ✅ | | +| ConvertTo-Xml | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Debug-Runspace | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Disable-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Disable-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Enable-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Enable-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-Alias | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-Clixml | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-Csv | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-FormatData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Export-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Format-Custom | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Format-Hex | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Format-List | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Format-Table | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Format-Wide | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Alias | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Culture | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Date | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Error | | ✅ | ✅ | ✅ | ✅ | | +| Get-Event | ✅ | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | +| Get-EventSubscriber | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-FileHash | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-FormatData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-MarkdownOption | | ✅ | ✅ | ✅ | ✅ | Added in 6.1 | +| Get-Member | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSCallStack | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Random | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Runspace | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-RunspaceDebug | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-TraceSource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-TypeData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-UICulture | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Unique | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Uptime | | ✅ | ✅ | ✅ | ✅ | | +| Get-Variable | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Verb | | ✅ | ✅ | ✅ | ✅ | Moved from Microsoft.PowerShell.Core | +| Group-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-Alias | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-Clixml | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-Csv | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-LocalizedData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-PowerShellDataFile | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-PSSession | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-Expression | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-RestMethod | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Invoke-WebRequest | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Join-String | | ✅ | ✅ | ✅ | ✅ | | +| Measure-Command | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Measure-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Alias | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Event | ✅ | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | +| New-Guid | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-TemporaryFile | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-TimeSpan | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-Variable | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Out-File | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Out-GridView | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Out-Printer | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Out-String | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Read-Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Register-EngineEvent | ✅ | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | +| Register-ObjectEvent | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-Alias | | ✅ | ✅ | ✅ | ✅ | | +| Remove-Event | ✅ | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | +| Remove-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-TypeData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-Variable | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Select-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Select-String | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Select-Xml | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Send-MailMessage | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Alias | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Date | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-MarkdownOption | | ✅ | ✅ | ✅ | ✅ | Added in 6.1 | +| Set-PSBreakpoint | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-TraceSource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-Variable | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Show-Command | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Show-Markdown | | ✅ | ✅ | ✅ | ✅ | Added in 6.1 | +| Sort-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Start-Sleep | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Tee-Object | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Test-Json | | ✅ | ✅ | ✅ | ✅ | | +| Trace-Command | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Unblock-File | ✅ | ✅ | ✅ | ✅ | ✅ | Added support for macOS in 7.0 | +| Unregister-Event | ✅ | ✅ | ✅ | ✅ | ✅ | No event sources available on Linux/macOS | +| Update-FormatData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-List | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-TypeData | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Wait-Debugger | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Wait-Event | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Debug | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Error | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Host | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Information | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Output | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Progress | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Verbose | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Write-Warning | ✅ | ✅ | ✅ | ✅ | ✅ | | ### Microsoft.WsMan.Management -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ---------------------- | :------: | :------: | :------: | :------: | ------------ | -| Connect-WSMan | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disable-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disconnect-WSMan | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-WSManInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Invoke-WSManAction | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-WSManInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| New-WSManSessionOption | ✅ | ✅ | ✅ | ✅ | Windows only | -| Remove-WSManInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-WSManInstance | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-WSManQuickConfig | ✅ | ✅ | ✅ | ✅ | Windows only | -| Test-WSMan | ✅ | ✅ | ✅ | ✅ | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ---------------------- | -------- | -------- | -------- | -------- | -------- | ------------ | +| Connect-WSMan | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disable-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disconnect-WSMan | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-WSManCredSSP | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-WSManInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Invoke-WSManAction | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-WSManInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| New-WSManSessionOption | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Remove-WSManInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-WSManInstance | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-WSManQuickConfig | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Test-WSMan | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | ### PackageManagement -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ------------------------ | :------: | :------: | :------: | :------: | ---- | -| Find-Package | ✅ | ✅ | ✅ | ✅ | | -| Find-PackageProvider | ✅ | ✅ | ✅ | ✅ | | -| Get-Package | ✅ | ✅ | ✅ | ✅ | | -| Get-PackageProvider | ✅ | ✅ | ✅ | ✅ | | -| Get-PackageSource | ✅ | ✅ | ✅ | ✅ | | -| Import-PackageProvider | ✅ | ✅ | ✅ | ✅ | | -| Install-Package | ✅ | ✅ | ✅ | ✅ | | -| Install-PackageProvider | ✅ | ✅ | ✅ | ✅ | | -| Register-PackageSource | ✅ | ✅ | ✅ | ✅ | | -| Save-Package | ✅ | ✅ | ✅ | ✅ | | -| Set-PackageSource | ✅ | ✅ | ✅ | ✅ | | -| Uninstall-Package | ✅ | ✅ | ✅ | ✅ | | -| Unregister-PackageSource | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ------------------------ | -------- | -------- | -------- | -------- | -------- | ---- | +| Find-Package | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Find-PackageProvider | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-Package | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PackageProvider | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PackageSource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Import-PackageProvider | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Install-Package | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Install-PackageProvider | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Register-PackageSource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Save-Package | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PackageSource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Uninstall-Package | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Unregister-PackageSource | ✅ | ✅ | ✅ | ✅ | ✅ | | ### PowershellGet 2.x -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ------------------------------- | :------: | :------: | :------: | :------: | ---- | -| Find-Command | ✅ | ✅ | ✅ | ✅ | | -| Find-DscResource | ✅ | ✅ | ✅ | ✅ | | -| Find-Module | ✅ | ✅ | ✅ | ✅ | | -| Find-RoleCapability | ✅ | ✅ | ✅ | ✅ | | -| Find-Script | ✅ | ✅ | ✅ | ✅ | | -| Get-CredsFromCredentialProvider | | ✅ | ✅ | ✅ | | -| Get-InstalledModule | ✅ | ✅ | ✅ | ✅ | | -| Get-InstalledScript | ✅ | ✅ | ✅ | ✅ | | -| Get-PSRepository | ✅ | ✅ | ✅ | ✅ | | -| Install-Module | ✅ | ✅ | ✅ | ✅ | | -| Install-Script | ✅ | ✅ | ✅ | ✅ | | -| New-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | | -| Publish-Module | ✅ | ✅ | ✅ | ✅ | | -| Publish-Script | ✅ | ✅ | ✅ | ✅ | | -| Register-PSRepository | ✅ | ✅ | ✅ | ✅ | | -| Save-Module | ✅ | ✅ | ✅ | ✅ | | -| Save-Script | ✅ | ✅ | ✅ | ✅ | | -| Set-PSRepository | ✅ | ✅ | ✅ | ✅ | | -| Test-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | | -| Uninstall-Module | ✅ | ✅ | ✅ | ✅ | | -| Uninstall-Script | ✅ | ✅ | ✅ | ✅ | | -| Unregister-PSRepository | ✅ | ✅ | ✅ | ✅ | | -| Update-Module | ✅ | ✅ | ✅ | ✅ | | -| Update-ModuleManifest | ✅ | ✅ | ✅ | ✅ | | -| Update-Script | ✅ | ✅ | ✅ | ✅ | | -| Update-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ------------------------------- | -------- | -------- | -------- | -------- | -------- | ---- | +| Find-Command | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Find-DscResource | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Find-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Find-RoleCapability | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Find-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-CredsFromCredentialProvider | | ✅ | ✅ | ✅ | ✅ | | +| Get-InstalledModule | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-InstalledScript | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSRepository | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Install-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Install-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| New-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Publish-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Publish-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Register-PSRepository | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Save-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Save-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PSRepository | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Test-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Uninstall-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Uninstall-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Unregister-PSRepository | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-Module | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-ModuleManifest | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-Script | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Update-ScriptFileInfo | ✅ | ✅ | ✅ | ✅ | ✅ | | ### PowershellGet 3.x - Preview @@ -522,27 +525,27 @@ This is a work in progress. Please help us keep this information fresh. ### PSDesiredStateConfiguration v2.x -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| -------------------------------- | :------: | :------: | :------: | :---: | ------------ | -| Configuration | ✅ | ✅ | ✅ | | | -| Disable-DscDebug | ✅ | | | | Windows only | -| Enable-DscDebug | ✅ | | | | Windows only | -| Get-DscConfiguration | ✅ | | | | Windows only | -| Get-DscConfigurationStatus | ✅ | | | | Windows only | -| Get-DscLocalConfigurationManager | ✅ | | | | Windows only | -| Get-DscResource | ✅ | ✅ | ✅ | | | -| Invoke-DscResource | ✅ | ✅ | ✅ | | Experimental | -| New-DSCCheckSum | ✅ | ✅ | ✅ | | | -| Publish-DscConfiguration | ✅ | | | | Windows only | -| Remove-DscConfigurationDocument | ✅ | | | | Windows only | -| Restore-DscConfiguration | ✅ | | | | Windows only | -| Set-DscLocalConfigurationManager | ✅ | | | | Windows only | -| Start-DscConfiguration | ✅ | | | | Windows only | -| Stop-DscConfiguration | ✅ | | | | Windows only | -| Test-DscConfiguration | ✅ | | | | Windows only | -| Update-DscConfiguration | ✅ | | | | Windows only | - -## PSDesiredStateConfiguration v3.x - Preview +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| -------------------------------- | -------- | -------- | -------- | --- | --- | ------------ | +| Configuration | ✅ | ✅ | ✅ | | | | +| Disable-DscDebug | ✅ | | | | | Windows only | +| Enable-DscDebug | ✅ | | | | | Windows only | +| Get-DscConfiguration | ✅ | | | | | Windows only | +| Get-DscConfigurationStatus | ✅ | | | | | Windows only | +| Get-DscLocalConfigurationManager | ✅ | | | | | Windows only | +| Get-DscResource | ✅ | ✅ | ✅ | | | | +| Invoke-DscResource | ✅ | ✅ | ✅ | | | Experimental | +| New-DSCCheckSum | ✅ | ✅ | ✅ | | | | +| Publish-DscConfiguration | ✅ | | | | | Windows only | +| Remove-DscConfigurationDocument | ✅ | | | | | Windows only | +| Restore-DscConfiguration | ✅ | | | | | Windows only | +| Set-DscLocalConfigurationManager | ✅ | | | | | Windows only | +| Start-DscConfiguration | ✅ | | | | | Windows only | +| Stop-DscConfiguration | ✅ | | | | | Windows only | +| Test-DscConfiguration | ✅ | | | | | Windows only | +| Update-DscConfiguration | ✅ | | | | | Windows only | + +### PSDesiredStateConfiguration v3.x - Preview | Cmdlet name | Note | | ----------------------- | ------------ | @@ -554,61 +557,61 @@ This is a work in progress. Please help us keep this information fresh. ### PSDiagnostics -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ---------------------------- | :------: | :------: | :------: | :------: | ------------ | -| Disable-PSTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disable-PSWSManCombinedTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Disable-WSManTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-PSTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-PSWSManCombinedTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Enable-WSManTrace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Get-LogProperties | ✅ | ✅ | ✅ | ✅ | Windows only | -| Set-LogProperties | ✅ | ✅ | ✅ | ✅ | Windows only | -| Start-Trace | ✅ | ✅ | ✅ | ✅ | Windows only | -| Stop-Trace | ✅ | ✅ | ✅ | ✅ | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +|------------------------------|----------|----------|----------|----------|----------|--------------| +| Disable-PSTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disable-PSWSManCombinedTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Disable-WSManTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-PSTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-PSWSManCombinedTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Enable-WSManTrace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Get-LogProperties | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Set-LogProperties | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Start-Trace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | +| Stop-Trace | ✅ | ✅ | ✅ | ✅ | ✅ | Windows only | ### PSReadLine -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| --------------------------- | :------: | :------: | :------: | :------: | ---- | -| Get-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | | -| Get-PSReadLineOption | ✅ | ✅ | ✅ | ✅ | | -| PSConsoleHostReadLine | ✅ | ✅ | ✅ | ✅ | | -| Remove-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | | -| Set-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | | -| Set-PSReadLineOption | ✅ | ✅ | ✅ | ✅ | | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| --------------------------- | -------- | -------- | -------- | -------- | -------- | ---- | +| Get-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Get-PSReadLineOption | ✅ | ✅ | ✅ | ✅ | ✅ | | +| PSConsoleHostReadLine | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Remove-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PSReadLineKeyHandler | ✅ | ✅ | ✅ | ✅ | ✅ | | +| Set-PSReadLineOption | ✅ | ✅ | ✅ | ✅ | ✅ | | ### PSScheduledJob -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------------- | :------: | :---: | :---: | :---: | ------------ | -| Add-JobTrigger | ✅ | | | | Windows only | -| Disable-JobTrigger | ✅ | | | | Windows only | -| Disable-ScheduledJob | ✅ | | | | Windows only | -| Enable-JobTrigger | ✅ | | | | Windows only | -| Enable-ScheduledJob | ✅ | | | | Windows only | -| Get-JobTrigger | ✅ | | | | Windows only | -| Get-ScheduledJob | ✅ | | | | Windows only | -| Get-ScheduledJobOption | ✅ | | | | Windows only | -| New-JobTrigger | ✅ | | | | Windows only | -| New-ScheduledJobOption | ✅ | | | | Windows only | -| Register-ScheduledJob | ✅ | | | | Windows only | -| Remove-JobTrigger | ✅ | | | | Windows only | -| Set-JobTrigger | ✅ | | | | Windows only | -| Set-ScheduledJob | ✅ | | | | Windows only | -| Set-ScheduledJobOption | ✅ | | | | Windows only | -| Unregister-ScheduledJob | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------------- | -------- | --- | --- | --- | --- | ------------ | +| Add-JobTrigger | ✅ | | | | | Windows only | +| Disable-JobTrigger | ✅ | | | | | Windows only | +| Disable-ScheduledJob | ✅ | | | | | Windows only | +| Enable-JobTrigger | ✅ | | | | | Windows only | +| Enable-ScheduledJob | ✅ | | | | | Windows only | +| Get-JobTrigger | ✅ | | | | | Windows only | +| Get-ScheduledJob | ✅ | | | | | Windows only | +| Get-ScheduledJobOption | ✅ | | | | | Windows only | +| New-JobTrigger | ✅ | | | | | Windows only | +| New-ScheduledJobOption | ✅ | | | | | Windows only | +| Register-ScheduledJob | ✅ | | | | | Windows only | +| Remove-JobTrigger | ✅ | | | | | Windows only | +| Set-JobTrigger | ✅ | | | | | Windows only | +| Set-ScheduledJob | ✅ | | | | | Windows only | +| Set-ScheduledJobOption | ✅ | | | | | Windows only | +| Unregister-ScheduledJob | ✅ | | | | | Windows only | ### PSWorkflow & PSWorkflowUtility -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| ----------------------------- | :------: | :---: | :---: | :---: | ------------ | -| New-PSWorkflowExecutionOption | ✅ | | | | Windows only | -| New-PSWorkflowSession | ✅ | | | | Windows only | -| Invoke-AsWorkflow | ✅ | | | | Windows only | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| ----------------------------- | -------- | --- | --- | --- | --- | ------------ | +| New-PSWorkflowExecutionOption | ✅ | | | | | Windows only | +| New-PSWorkflowSession | ✅ | | | | | Windows only | +| Invoke-AsWorkflow | ✅ | | | | | Windows only | ### ThreadJob -| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | Note | -| --------------- | :---: | :------: | :------: | :------: | ---------------------------------- | -| Start-ThreadJob | | ✅ | ✅ | ✅ | Can be installed in PowerShell 5.1 | +| Cmdlet name | 5.1 | 7.0 | 7.1 | 7.2 | 7.3 | Note | +| --------------- | --- | -------- | -------- | -------- | -------- | ---------------------------------- | +| Start-ThreadJob | | ✅ | ✅ | ✅ | ✅ | Can be installed in PowerShell 5.1 | From 8654a12c2cafb6e070e327d0b5e2cb115d82cdf6 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Tue, 26 Apr 2022 12:01:16 -0500 Subject: [PATCH 4/9] Merge latest changes to live (#8766) * Improve consistency and readability of about_Quoting_Rules (#8764) * Update quicklink for Az PowerShell Co-authored-by: HRXN --- .../Microsoft.PowerShell.Core/About/about_Quoting_Rules.md | 6 +++--- .../Microsoft.PowerShell.Core/About/about_Quoting_Rules.md | 6 +++--- .../Microsoft.PowerShell.Core/About/about_Quoting_Rules.md | 6 +++--- .../Microsoft.PowerShell.Core/About/about_Quoting_Rules.md | 6 +++--- .../Microsoft.PowerShell.Core/About/about_Quoting_Rules.md | 6 +++--- reference/module/index.md | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/reference/5.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md b/reference/5.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md index f870fa47555f..b7214a3ea5a7 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md +++ b/reference/5.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md @@ -1,7 +1,7 @@ --- description: Describes rules for using single and double quotation marks in PowerShell. Locale: en-US -ms.date: 12/09/2021 +ms.date: 04/26/2022 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Quoting Rules @@ -98,7 +98,7 @@ The value of $i is 5. ## Single-quoted strings -A string enclosed in single-quotation marks is a _verbatim_ string. The string +A string enclosed in single quotation marks is a _verbatim_ string. The string is passed to the command exactly as you type it. No substitution is performed. For example: @@ -114,7 +114,7 @@ The value $i is $i. ``` Similarly, expressions in single-quoted strings are not evaluated. They are -interpreted as literals. For example: +interpreted as string literals. For example: ```powershell 'The value of $(2+3) is 5.' diff --git a/reference/7.0/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md b/reference/7.0/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md index 59bc9c15045e..401e1e4e4ffc 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md +++ b/reference/7.0/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md @@ -1,7 +1,7 @@ --- description: Describes rules for using single and double quotation marks in PowerShell. Locale: en-US -ms.date: 12/09/2021 +ms.date: 04/26/2022 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Quoting Rules @@ -98,7 +98,7 @@ The value of $i is 5. ## Single-quoted strings -A string enclosed in single-quotation marks is a _verbatim_ string. The string +A string enclosed in single quotation marks is a _verbatim_ string. The string is passed to the command exactly as you type it. No substitution is performed. For example: @@ -114,7 +114,7 @@ The value $i is $i. ``` Similarly, expressions in single-quoted strings are not evaluated. They are -interpreted as literals. For example: +interpreted as string literals. For example: ```powershell 'The value of $(2+3) is 5.' diff --git a/reference/7.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md b/reference/7.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md index 62db451ce025..6e28b8921dca 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md +++ b/reference/7.1/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md @@ -1,7 +1,7 @@ --- description: Describes rules for using single and double quotation marks in PowerShell. Locale: en-US -ms.date: 12/09/2021 +ms.date: 04/26/2022 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Quoting Rules @@ -98,7 +98,7 @@ The value of $i is 5. ## Single-quoted strings -A string enclosed in single-quotation marks is a _verbatim_ string. The string +A string enclosed in single quotation marks is a _verbatim_ string. The string is passed to the command exactly as you type it. No substitution is performed. For example: @@ -114,7 +114,7 @@ The value $i is $i. ``` Similarly, expressions in single-quoted strings are not evaluated. They are -interpreted as literals. For example: +interpreted as string literals. For example: ```powershell 'The value of $(2+3) is 5.' diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md index 55850be565c3..bbcd750a0f36 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md @@ -1,7 +1,7 @@ --- description: Describes rules for using single and double quotation marks in PowerShell. Locale: en-US -ms.date: 12/09/2021 +ms.date: 04/26/2022 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Quoting Rules @@ -98,7 +98,7 @@ The value of $i is 5. ## Single-quoted strings -A string enclosed in single-quotation marks is a _verbatim_ string. The string +A string enclosed in single quotation marks is a _verbatim_ string. The string is passed to the command exactly as you type it. No substitution is performed. For example: @@ -114,7 +114,7 @@ The value $i is $i. ``` Similarly, expressions in single-quoted strings are not evaluated. They are -interpreted as literals. For example: +interpreted as string literals. For example: ```powershell 'The value of $(2+3) is 5.' diff --git a/reference/7.3/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md b/reference/7.3/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md index 44a728c7a13f..7e569ee4212d 100644 --- a/reference/7.3/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md +++ b/reference/7.3/Microsoft.PowerShell.Core/About/about_Quoting_Rules.md @@ -1,7 +1,7 @@ --- description: Describes rules for using single and double quotation marks in PowerShell. Locale: en-US -ms.date: 12/09/2021 +ms.date: 04/26/2022 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell-7.3&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Quoting Rules @@ -98,7 +98,7 @@ The value of $i is 5. ## Single-quoted strings -A string enclosed in single-quotation marks is a _verbatim_ string. The string +A string enclosed in single quotation marks is a _verbatim_ string. The string is passed to the command exactly as you type it. No substitution is performed. For example: @@ -114,7 +114,7 @@ The value $i is $i. ``` Similarly, expressions in single-quoted strings are not evaluated. They are -interpreted as literals. For example: +interpreted as string literals. For example: ```powershell 'The value of $(2+3) is 5.' diff --git a/reference/module/index.md b/reference/module/index.md index 5a2b3dfb4794..40f6c814bac8 100644 --- a/reference/module/index.md +++ b/reference/module/index.md @@ -12,7 +12,7 @@ ms.manager: sewhee ms.product: powershell ms.topic: landing-page quickFilterColumn1: powershell-7.1,windowsserver2019-ps -quickFilterColumn2: azps-7.4.0,win-mdop2-ps +quickFilterColumn2: azps-7.5.0,win-mdop2-ps quickFilterColumn3: sqlserver-ps,systemcenter-ps-2019 title: PowerShell Module Browser --- From 145cda564331c1497ca19fd95f7d6d8deb9f9143 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Thu, 5 May 2022 13:19:51 -0500 Subject: [PATCH 5/9] Publish to live (#8792) * Change staging branch references to main (#8790) * Add no-loc metadata (#8791) --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .openpublishing.publish.config.json | 2 +- README.md | 10 +++++----- ci.yml | 4 ++-- daily.yml | 4 ++-- .../Microsoft.PowerShell.Core/Import-Module.md | 3 ++- .../Microsoft.PowerShell.Core/Import-Module.md | 3 ++- .../Microsoft.PowerShell.Core/Import-Module.md | 3 ++- .../Microsoft.PowerShell.Core/Import-Module.md | 3 ++- .../Microsoft.PowerShell.Core/Import-Module.md | 3 ++- .../docs-conceptual/community/2020-updates.md | 4 ++-- .../contributing/get-started-writing.md | 10 ++++------ .../contributing/managing-pull-requests.md | 18 +++++++++--------- .../community/contributing/pull-requests.md | 16 ++++++++-------- .../docs-conceptual/community/digital-art.md | 4 ++-- 15 files changed, 46 insertions(+), 43 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4bb773a926e8..59f88cb61ef7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -35,7 +35,7 @@ relevant versions. Check the boxes below to indicate the versions affected by th - [ ] I have read the [contributors guide][contrib] and followed the style and process guidelines - [ ] PR has a meaningful title -- [ ] PR is targeted at the _staging_ branch +- [ ] PR is targeted at the _main_ branch - [ ] All relevant versions updated - [ ] Includes content related to issues and PRs - see [Closing issues using keywords][key]. - [ ] This PR is ready to merge and is not **Work in Progress**. If the PR is work in progress, diff --git a/.openpublishing.publish.config.json b/.openpublishing.publish.config.json index fabbfcc2aa87..79103602af18 100644 --- a/.openpublishing.publish.config.json +++ b/.openpublishing.publish.config.json @@ -66,7 +66,7 @@ ] } ], - "git_repository_branch_open_to_public_contributors": "staging", + "git_repository_branch_open_to_public_contributors": "main", "git_repository_url_open_to_public_contributors": "https://github.com/MicrosoftDocs/PowerShell-Docs", "need_generate_pdf_url_template": false, "need_preview_pull_request": true, diff --git a/README.md b/README.md index 491aeda39a96..38f4669ca71a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Microsoft Open Source Code of Conduct -> Updated: 09/06/2021 +> Updated: 05/05/2022 This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more @@ -9,13 +9,13 @@ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additio comments. [live-badge]: https://powershell.visualstudio.com/PowerShell-Docs/_apis/build/status/PowerShell-Docs-CI?branchName=live -[staging-badge]: https://powershell.visualstudio.com/PowerShell-Docs/_apis/build/status/PowerShell-Docs-CI?branchName=staging +[main-badge]: https://powershell.visualstudio.com/PowerShell-Docs/_apis/build/status/PowerShell-Docs-CI?branchName=main ## Build Status -| Live Branch | Staging Branch | +| live branch | main branch | | :---------------------------- | :---------------------------------- | -| [![live-badge][]][live-badge] | [![staging-badge][]][staging-badge] | +| [![live-badge][]][live-badge] | [![main-badge][]][main-badge] | ## PowerShell Documentation @@ -54,7 +54,7 @@ The following list describes the main folders in this repository. ## Contributing -We welcome public contributions into this repository via pull requests into the _staging_ branch. +We welcome public contributions into this repository via pull requests into the _main_ branch. Please note that before we can accept your pull request you must sign our [Contribution License Agreement](https://cla.microsoft.com/). This is a one-time requirement. diff --git a/ci.yml b/ci.yml index 3208f4217dda..e074109d95f8 100644 --- a/ci.yml +++ b/ci.yml @@ -3,7 +3,7 @@ trigger: branches: include: - live - - staging + - main paths: include: - '*' @@ -16,7 +16,7 @@ trigger: pr: branches: include: - - staging + - main - live paths: include: diff --git a/daily.yml b/daily.yml index baed621fbcff..eee732c60581 100644 --- a/daily.yml +++ b/daily.yml @@ -3,7 +3,7 @@ trigger: branches: include: - live - - staging + - main paths: include: - '*' @@ -16,7 +16,7 @@ trigger: pr: branches: include: - - staging + - main - live paths: include: diff --git a/reference/5.1/Microsoft.PowerShell.Core/Import-Module.md b/reference/5.1/Microsoft.PowerShell.Core/Import-Module.md index 446adaf88a1e..92f6648b2359 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/Import-Module.md +++ b/reference/5.1/Microsoft.PowerShell.Core/Import-Module.md @@ -2,7 +2,8 @@ external help file: System.Management.Automation.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Core -ms.date: 10/22/2021 +ms.date: 05/05/2022 +no-loc: [-Scope] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/import-module?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: Import-Module diff --git a/reference/7.0/Microsoft.PowerShell.Core/Import-Module.md b/reference/7.0/Microsoft.PowerShell.Core/Import-Module.md index 93570507348f..05f96638b40b 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/Import-Module.md +++ b/reference/7.0/Microsoft.PowerShell.Core/Import-Module.md @@ -2,7 +2,8 @@ external help file: System.Management.Automation.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Core -ms.date: 10/22/2021 +ms.date: 05/05/2022 +no-loc: [-Scope] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/import-module?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: Import-Module diff --git a/reference/7.1/Microsoft.PowerShell.Core/Import-Module.md b/reference/7.1/Microsoft.PowerShell.Core/Import-Module.md index bd7d3a18e195..1e7543508835 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/Import-Module.md +++ b/reference/7.1/Microsoft.PowerShell.Core/Import-Module.md @@ -2,7 +2,8 @@ external help file: System.Management.Automation.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Core -ms.date: 10/22/2021 +ms.date: 05/05/2022 +no-loc: [-Scope] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: Import-Module diff --git a/reference/7.2/Microsoft.PowerShell.Core/Import-Module.md b/reference/7.2/Microsoft.PowerShell.Core/Import-Module.md index b6eb0f16fd3c..b01b7e1ea6af 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/Import-Module.md +++ b/reference/7.2/Microsoft.PowerShell.Core/Import-Module.md @@ -2,7 +2,8 @@ external help file: System.Management.Automation.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Core -ms.date: 10/22/2021 +ms.date: 05/05/2022 +no-loc: [-Scope] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: Import-Module diff --git a/reference/7.3/Microsoft.PowerShell.Core/Import-Module.md b/reference/7.3/Microsoft.PowerShell.Core/Import-Module.md index 00628820f54d..592ad150299b 100644 --- a/reference/7.3/Microsoft.PowerShell.Core/Import-Module.md +++ b/reference/7.3/Microsoft.PowerShell.Core/Import-Module.md @@ -2,7 +2,8 @@ external help file: System.Management.Automation.dll-Help.xml Locale: en-US Module Name: Microsoft.PowerShell.Core -ms.date: 10/22/2021 +ms.date: 05/05/2022 +no-loc: [-Scope] online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/import-module?view=powershell-7.3&WT.mc_id=ps-gethelp schema: 2.0.0 title: Import-Module diff --git a/reference/docs-conceptual/community/2020-updates.md b/reference/docs-conceptual/community/2020-updates.md index 7b05e455a6cc..44a7999fa46d 100644 --- a/reference/docs-conceptual/community/2020-updates.md +++ b/reference/docs-conceptual/community/2020-updates.md @@ -1,6 +1,6 @@ --- description: List of changes to the PowerShell documentation for 2020 -ms.date: 01/05/2021 +ms.date: 05/05/2022 title: What's New in PowerShell Docs for 2020 --- @@ -384,7 +384,7 @@ issues. Thank you! - The PowerShell Docs community pages - [Community resources](/powershell/scripting/community/community-support) page - [What's new in PowerShell Docs](#2020-march) page (this page) - - [PowerShell Infographic](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/assets/PowerShell_7_Infographic.pdf) + - [PowerShell Infographic](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/main/assets/PowerShell_7_Infographic.pdf) added to the Digital Art page - [PowerShell-Doc contributor guide](/powershell/scripting/community/contributing/overview) - New PowerShell content diff --git a/reference/docs-conceptual/community/contributing/get-started-writing.md b/reference/docs-conceptual/community/contributing/get-started-writing.md index f78d77323d43..4738ef72cbdb 100644 --- a/reference/docs-conceptual/community/contributing/get-started-writing.md +++ b/reference/docs-conceptual/community/contributing/get-started-writing.md @@ -1,6 +1,6 @@ --- description: This article is an overview of how to get started as a contributor to the PowerShell documentation. -ms.date: 12/09/2020 +ms.date: 05/05/2022 ms.topic: conceptual title: Get started contributing to PowerShell documentation --- @@ -31,9 +31,7 @@ The conceptual documentation includes the following content: - SDK documentation The [conceptual documentation][conceptual] is not organized by version. All articles are displayed -for every version of PowerShell. We're working to create version-specific articles. When that -feature is available in our documentation, this guide will be update with the appropriate -information. +for every version of PowerShell. We're working to create version-specific articles. > [!NOTE] > Anytime a conceptual article is added, removed, or renamed, the TOC must be updated and included @@ -106,9 +104,9 @@ Both methods end with the creation of a Pull Request (PR). See [Submitting a pull request](pull-requests.md) for more information and best practices. -[conceptual]: https://github.com/MicrosoftDocs/PowerShell-Docs/tree/staging/reference/docs-conceptual +[conceptual]: https://github.com/MicrosoftDocs/PowerShell-Docs/tree/main/reference/docs-conceptual [fork]: /contribute/get-started-setup-local#fork-the-repository [making-changes]: /contribute/how-to-write-workflows-major#making-your-changes [psdocs]: https://github.com/MicrosoftDocs/PowerShell-Docs -[ref]: https://github.com/MicrosoftDocs/PowerShell-Docs/tree/staging/reference +[ref]: https://github.com/MicrosoftDocs/PowerShell-Docs/tree/main/reference [rfc]: https://github.com/PowerShell/powershell-rfc/blob/master/RFC0000-RFC-Process.md diff --git a/reference/docs-conceptual/community/contributing/managing-pull-requests.md b/reference/docs-conceptual/community/contributing/managing-pull-requests.md index b6e63de02664..98fd2a6dd9e6 100644 --- a/reference/docs-conceptual/community/contributing/managing-pull-requests.md +++ b/reference/docs-conceptual/community/contributing/managing-pull-requests.md @@ -1,6 +1,6 @@ --- description: This article explains how the PowerShell-Docs team manages pull requests. -ms.date: 12/09/2020 +ms.date: 05/05/2022 ms.topic: conceptual title: How we manage pull requests --- @@ -60,14 +60,14 @@ See the [editorial checklist](editorial-checklist.md) for a more comprehensive l ## Branch Merge Process -The `staging` branch is the only branch that is merged into `live`. Merges from short-lived +The `main` branch is the only branch that is merged into `live`. Merges from short-lived (working) branches should be squashed. -| *Merge from/to* | *release-branch* | *staging* | *live* | -| ---------------- |:----------------:|:----------------:|:-----------:| +| *Merge from/to* | *release-branch* | *main* | *live* | +| ---------------- | :--------------: | :--------------: | :---------: | | *working-branch* | squash and merge | squash and merge | Not allowed | -| *release-branch* | — | merge | Not allowed | -| *staging* | rebase | — | merge | +| *release-branch* | — | merge | Not allowed | +| *main* | rebase | — | merge | ### PR Merger checklist @@ -102,11 +102,11 @@ unresolved conflicts that need to be fixed. ## Publishing to Live -Periodically, the changes accumulated in the `staging` branch need to be published to the live +Periodically, the changes accumulated in the `main` branch need to be published to the live website. -- The `staging` branch is merged to `live` each weekday at 3pm PST. -- The `staging` branch should be merged to `live` after any significant change. +- The `main` branch is merged to `live` each weekday at 3pm PST. +- The `main` branch should be merged to `live` after any significant change. - Changes to 50 or more files - After merging a release branch - Changes to repo or docset configurations (docfx.json, OPS configs, build scripts, etc.) diff --git a/reference/docs-conceptual/community/contributing/pull-requests.md b/reference/docs-conceptual/community/contributing/pull-requests.md index a1d322fc2c08..20f0d46f5f7d 100644 --- a/reference/docs-conceptual/community/contributing/pull-requests.md +++ b/reference/docs-conceptual/community/contributing/pull-requests.md @@ -1,6 +1,6 @@ --- description: This article explains how to submit pull requests to the PowerShell-Docs repository. -ms.date: 12/09/2020 +ms.date: 05/05/2022 ms.topic: conceptual title: How to submit pull requests --- @@ -12,18 +12,18 @@ reviewed before it can be merged. For best results, review the ## Using git branches -The default branch for PowerShell-Docs is the `staging` branch. Changes made in working branches are -merged into the `staging` branch before then being published. The `staging` branch is merged into -the `live` branch every weekday at 3:00 PM (Pacific Time). The `live` branch contains the content -that is published to docs.microsoft.com. +The default branch for PowerShell-Docs is the `main` branch. Changes made in working branches are +merged into the `main` branch before then being published. The `main` branch is merged into the +`live` branch every weekday at 3:00 PM (Pacific Time). The `live` branch contains the content that +is published to docs.microsoft.com. Before starting any changes, create a working branch in your local copy of the PowerShell-Docs repository. When working locally, be sure to synchronize your local repository before creating your -working branch. The working branch should be created from an update-to-date copy of the `staging` +working branch. The working branch should be created from an update-to-date copy of the `main` branch. -All pull requests should target the `staging` branch. Don't submit change to the `live` branch. -Changes made in the `staging` branch get merged into `live`, overwriting any changes made to `live`. +All pull requests should target the `main` branch. Don't submit change to the `live` branch. Changes +made in the `main` branch get merged into `live`, overwriting any changes made to `live`. ## Make the pull request process work better for everyone diff --git a/reference/docs-conceptual/community/digital-art.md b/reference/docs-conceptual/community/digital-art.md index 259f09dac1ac..492de6c80474 100644 --- a/reference/docs-conceptual/community/digital-art.md +++ b/reference/docs-conceptual/community/digital-art.md @@ -2,7 +2,7 @@ author: sdwheeler description: Download PowerShell related artwork and posters ms.author: sewhee -ms.date: 02/14/2020 +ms.date: 05/05/2022 title: PowerShell Digital Art --- # PowerShell Digital Art @@ -14,7 +14,7 @@ entrusted with the Scrolls of Monad!* ## PowerShell Infographic -- [PowerShell Infographic](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/assets/PowerShell_7_Infographic.pdf) +- [PowerShell Infographic](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/main/assets/PowerShell_7_Infographic.pdf) ## Comic From d5836fce66d855fcbc6a870b7beb6e1b86fcd484 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Thu, 11 Aug 2022 08:32:20 -0500 Subject: [PATCH 6/9] Remove link references (#9109) (#9110) --- .../Invoke-RestMethod.md | 77 ++++++++---------- .../Invoke-WebRequest.md | 64 +++++++-------- .../Invoke-RestMethod.md | 77 ++++++++---------- .../Invoke-WebRequest.md | 61 ++++++-------- .../Invoke-RestMethod.md | 79 ++++++++----------- .../Invoke-WebRequest.md | 57 ++++++------- 6 files changed, 181 insertions(+), 234 deletions(-) diff --git a/reference/7.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md b/reference/7.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md index 45cd2c8474ff..b66243b07f6c 100644 --- a/reference/7.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md +++ b/reference/7.0/Microsoft.PowerShell.Utility/Invoke-RestMethod.md @@ -98,7 +98,7 @@ deserializes, the content into `[PSCustomObject]` objects. This cmdlet is introduced in Windows PowerShell 3.0. Beginning in PowerShell 7.0, `Invoke-RestMethod` supports proxy configuration defined by environment -variables. See the [Notes][1] section of this article. +variables. See the [Notes](#notes) section of this article. ## EXAMPLES @@ -158,9 +158,10 @@ for the resulting CSV output file. ### Example 3: Follow relation links -Some REST APIs support pagination via Relation Links per [RFC5988][2]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. This example returns the -first two pages of issues from the PowerShell GitHub repository. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. This example returns the first two pages +of issues from the PowerShell GitHub repository. ```powershell $url = 'https://api.github.com/repos/powershell/powershell/issues' @@ -266,13 +267,15 @@ headers : @{Host=httpbin.org; If-Match=12345; User-Agent=Mozilla/5.0 (Windows NT 10.0.19044; en-US) PowerShell/7.2.5; X-Amzn-Trace-Id=Root=1-62f150a6-27754fd4226f31b43a3d2874} ``` -[httpbin.org][3] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][4] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-RestMethod` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -458,11 +461,12 @@ options. When used alone, it will only supply credentials to the remote server i sends an authentication challenge request. When used with **Authentication** options, the credentials will be explicitly sent. -Credentials are stored in a [PSCredential][5] object and the password is stored as a -[SecureString][6]. +Credentials are stored in a [PSCredential](/dotnet/api/system.management.automation.pscredential) +object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][7]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -524,9 +528,10 @@ Accept wildcard characters: False Indicates the cmdlet should follow relation links. -Some REST APIs support pagination via Relation Links per [RFC5988][8]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. To set how many times to -follow relation links, use the **MaximumFollowRelLink** parameter. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. To set how many times to follow relation +links, use the **MaximumFollowRelLink** parameter. When using this switch, the cmdlet returns a collection of pages of results. Each page of results may contain multiple result items. @@ -766,7 +771,8 @@ is to have the results written to the file and to the pipeline. > [!NOTE] > When you use the **PassThru** parameter, the output is written to the pipeline but the file is not -> created. For more information, see [PowerShell Issue #15409][9]. +> created. For more information, see +> [PowerShell Issue #15409](https://github.com/PowerShell/PowerShell/issues/15409). ```yaml Type: System.Management.Automation.SwitchParameter @@ -1229,8 +1235,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that is used by most internet browsers, use -the properties of the [PSUserAgent][10] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +the properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, +such as Chrome, FireFox, InternetExplorer, Opera, and Safari. ```yaml Type: System.String @@ -1281,7 +1287,8 @@ 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][11]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1305,7 +1312,8 @@ strings. Some features may not be available on all platforms. Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][12] property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +property to determine the proxy configuration. The value of this property is different rules depending on your platform: @@ -1327,25 +1335,8 @@ are: ## RELATED LINKS -[ConvertTo-Json][13] - -[ConvertFrom-Json][14] - -[Invoke-WebRequest][15] - - -[1]: #notes -[2]: https://tools.ietf.org/html/rfc5988#page-6 -[3]: https://httpbin.org/ -[4]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[5]: /dotnet/api/system.management.automation.pscredential -[6]: /dotnet/api/system.security.securestring -[7]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[8]: https://tools.ietf.org/html/rfc5988#page-6 -[9]: https://github.com/PowerShell/PowerShell/issues/15409 -[10]: /dotnet/api/microsoft.powershell.commands.psuseragent -[11]: https://go.microsoft.com/fwlink/?LinkID=113216 -[12]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[13]: ConvertTo-Json.md -[14]: ConvertFrom-Json.md -[15]: Invoke-WebRequest.md \ No newline at end of file +[ConvertTo-Json](ConvertTo-Json.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[Invoke-WebRequest](Invoke-WebRequest.md) diff --git a/reference/7.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md b/reference/7.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md index b6b33a874375..6bd54ec29cf1 100644 --- a/reference/7.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md +++ b/reference/7.0/Microsoft.PowerShell.Utility/Invoke-WebRequest.md @@ -350,13 +350,15 @@ RawContentLength : 249 RelationLink : {} ``` -[httpbin.org][2] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][3] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-WebRequest` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -538,11 +540,12 @@ options. When used alone, it only supplies credentials to the remote server if t sends an authentication challenge request. When used with **Authentication** options, the credentials are explicitly sent. -Credentials are stored in a [PSCredential][4] object and the password is stored as a -[SecureString][5]. +Credentials are stored in a [PSCredential](/dotnet/api/system.management.automation.pscredential) +object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][6]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -771,8 +774,9 @@ Accept wildcard characters: False ### -OutFile -Specifies the output file for which this cmdlet saves the response body. Enter a path and file name. -If you omit the path, the default is the current location. +Specifies the output file for which this cmdlet saves the response body. Enter a path and filename. +If you omit the path, the default is the current location. The name is treated as a literal path. +Names that contain brackets (`[]`) must be enclosed in single quotes (`'`). By default, `Invoke-WebRequest` returns the results to the pipeline. To send the results to a file and to the pipeline, use the **Passthru** parameter. @@ -1210,8 +1214,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that's used by most internet browsers, use the -properties of the [PSUserAgent][7] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, such +as Chrome, FireFox, InternetExplorer, Opera, and Safari. For example, the following command uses the user agent string for Internet Explorer: `Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)` @@ -1265,7 +1269,8 @@ 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][8]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1281,10 +1286,12 @@ You can pipe the body of a web request to `Invoke-WebRequest`. Beginning with PowerShell 6.0.0 `Invoke-WebRequest` supports basic parsing only. -For more information, see [BasicHtmlWebResponseObject][9]. +For more information, see +[BasicHtmlWebResponseObject](/dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject). Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][10] Property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +Property to determine the proxy configuration. The value of this property is determined by your platform: @@ -1306,23 +1313,8 @@ are: ## RELATED LINKS -[Invoke-RestMethod][11] - -[ConvertFrom-Json][12] - -[ConvertTo-Json][13] - - -[1]: #notes -[2]: https://httpbin.org/ -[3]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[4]: /dotnet/api/system.management.automation.pscredential -[5]: /dotnet/api/system.security.securestring -[6]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[7]: /dotnet/api/microsoft.powershell.commands.psuseragent -[8]: https://go.microsoft.com/fwlink/?LinkID=113216 -[9]: /dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject -[10]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[11]: Invoke-RestMethod.md -[12]: ConvertFrom-Json.md -[13]: ConvertTo-Json.md +[Invoke-RestMethod](Invoke-RestMethod.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[ConvertTo-Json](ConvertTo-Json.md) diff --git a/reference/7.2/Microsoft.PowerShell.Utility/Invoke-RestMethod.md b/reference/7.2/Microsoft.PowerShell.Utility/Invoke-RestMethod.md index 53b243d61f02..791a67a7ce94 100644 --- a/reference/7.2/Microsoft.PowerShell.Utility/Invoke-RestMethod.md +++ b/reference/7.2/Microsoft.PowerShell.Utility/Invoke-RestMethod.md @@ -98,7 +98,7 @@ deserializes, the content into `[PSCustomObject]` objects. This cmdlet is introduced in Windows PowerShell 3.0. Beginning in PowerShell 7.0, `Invoke-RestMethod` supports proxy configuration defined by environment -variables. See the [Notes][1] section of this article. +variables. See the [Notes](#notes) section of this article. ## EXAMPLES @@ -158,9 +158,10 @@ for the resulting CSV output file. ### Example 3: Follow relation links -Some REST APIs support pagination via Relation Links per [RFC5988][2]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. This example returns the -first two pages of issues from the PowerShell GitHub repository. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. This example returns the first two pages +of issues from the PowerShell GitHub repository. ```powershell $url = 'https://api.github.com/repos/powershell/powershell/issues' @@ -266,13 +267,15 @@ headers : @{Host=httpbin.org; If-Match=12345; User-Agent=Mozilla/5.0 (Windows NT 10.0.19044; en-US) PowerShell/7.2.5; X-Amzn-Trace-Id=Root=1-62f150a6-27754fd4226f31b43a3d2874} ``` -[httpbin.org][3] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][4] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-RestMethod` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -458,11 +461,12 @@ options. When used alone, it will only supply credentials to the remote server i sends an authentication challenge request. When used with **Authentication** options, the credentials will be explicitly sent. -Credentials are stored in a [PSCredential][5] object and the password is stored as a -[SecureString][6]. +Credentials are stored in a [PSCredential](/dotnet/api/system.management.automation.pscredential) +object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][7]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -524,9 +528,10 @@ Accept wildcard characters: False Indicates the cmdlet should follow relation links. -Some REST APIs support pagination via Relation Links per [RFC5988][8]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. To set how many times to -follow relation links, use the **MaximumFollowRelLink** parameter. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. To set how many times to follow relation +links, use the **MaximumFollowRelLink** parameter. When using this switch, the cmdlet returns a collection of pages of results. Each page of results may contain multiple result items. @@ -767,7 +772,8 @@ is to have the results written to the file and to the pipeline. > [!NOTE] > When you use the **PassThru** parameter, the output is written to the pipeline but the file is not -> created. For more information, see [PowerShell Issue #15409][9]. +> created. For more information, see +> [PowerShell Issue #15409](https://github.com/PowerShell/PowerShell/issues/15409). ```yaml Type: System.Management.Automation.SwitchParameter @@ -1234,8 +1240,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that is used by most internet browsers, use -the properties of the [PSUserAgent][10] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +the properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, +such as Chrome, FireFox, InternetExplorer, Opera, and Safari. ```yaml Type: System.String @@ -1286,7 +1292,8 @@ 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][11]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1310,7 +1317,8 @@ strings. Some features may not be available on all platforms. Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][12] property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +property to determine the proxy configuration. The value of this property is different rules depending on your platform: @@ -1332,25 +1340,8 @@ are: ## RELATED LINKS -[ConvertTo-Json][13] - -[ConvertFrom-Json][14] - -[Invoke-WebRequest][15] - - -[1]: #notes -[2]: https://tools.ietf.org/html/rfc5988#page-6 -[3]: https://httpbin.org/ -[4]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[5]: /dotnet/api/system.management.automation.pscredential -[6]: /dotnet/api/system.security.securestring -[7]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[8]: https://tools.ietf.org/html/rfc5988#page-6 -[9]: https://github.com/PowerShell/PowerShell/issues/15409 -[10]: /dotnet/api/microsoft.powershell.commands.psuseragent -[11]: https://go.microsoft.com/fwlink/?LinkID=113216 -[12]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[13]: ConvertTo-Json.md -[14]: ConvertFrom-Json.md -[15]: Invoke-WebRequest.md \ No newline at end of file +[ConvertTo-Json](ConvertTo-Json.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[Invoke-WebRequest](Invoke-WebRequest.md) diff --git a/reference/7.2/Microsoft.PowerShell.Utility/Invoke-WebRequest.md b/reference/7.2/Microsoft.PowerShell.Utility/Invoke-WebRequest.md index dec689934642..41fe6838587c 100644 --- a/reference/7.2/Microsoft.PowerShell.Utility/Invoke-WebRequest.md +++ b/reference/7.2/Microsoft.PowerShell.Utility/Invoke-WebRequest.md @@ -85,7 +85,7 @@ the response and returns collections of links, images, and other significant HTM This cmdlet was introduced in PowerShell 3.0. Beginning in PowerShell 7.0, `Invoke-WebRequest` supports proxy configuration defined by environment -variables. See the [Notes][1] section of this article. +variables. See the [Notes](#notes) section of this article. > [!IMPORTANT] > The examples in this article reference hosts in the `contoso.com` domain. This is a fictitious @@ -350,13 +350,15 @@ RawContentLength : 249 RelationLink : {} ``` -[httpbin.org][2] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][3] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-WebRequest` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -538,11 +540,12 @@ options. When used alone, it only supplies credentials to the remote server if t sends an authentication challenge request. When used with **Authentication** options, the credentials are explicitly sent. -Credentials are stored in a [PSCredential][4] object and the password is stored as a -[SecureString][5]. +Credentials are stored in a [PSCredential](/dotnet/api/system.management.automation.pscredential) +object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][6]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -1213,8 +1216,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that's used by most internet browsers, use the -properties of the [PSUserAgent][7] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, such +as Chrome, FireFox, InternetExplorer, Opera, and Safari. For example, the following command uses the user agent string for Internet Explorer: `Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)` @@ -1268,7 +1271,8 @@ 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][8]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1284,10 +1288,12 @@ You can pipe the body of a web request to `Invoke-WebRequest`. Beginning with PowerShell 6.0.0 `Invoke-WebRequest` supports basic parsing only. -For more information, see [BasicHtmlWebResponseObject][9]. +For more information, see +[BasicHtmlWebResponseObject](/dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject). Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][10] Property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +Property to determine the proxy configuration. The value of this property is determined by your platform: @@ -1309,23 +1315,8 @@ are: ## RELATED LINKS -[Invoke-RestMethod][11] - -[ConvertFrom-Json][12] - -[ConvertTo-Json][13] - - -[1]: #notes -[2]: https://httpbin.org/ -[3]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[4]: /dotnet/api/system.management.automation.pscredential -[5]: /dotnet/api/system.security.securestring -[6]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[7]: /dotnet/api/microsoft.powershell.commands.psuseragent -[8]: https://go.microsoft.com/fwlink/?LinkID=113216 -[9]: /dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject -[10]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[11]: Invoke-RestMethod.md -[12]: ConvertFrom-Json.md -[13]: ConvertTo-Json.md +[Invoke-RestMethod](Invoke-RestMethod.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[ConvertTo-Json](ConvertTo-Json.md) diff --git a/reference/7.3/Microsoft.PowerShell.Utility/Invoke-RestMethod.md b/reference/7.3/Microsoft.PowerShell.Utility/Invoke-RestMethod.md index b127250dd582..6472aa326a50 100644 --- a/reference/7.3/Microsoft.PowerShell.Utility/Invoke-RestMethod.md +++ b/reference/7.3/Microsoft.PowerShell.Utility/Invoke-RestMethod.md @@ -102,7 +102,7 @@ deserializes, the content into `[PSCustomObject]` objects. This cmdlet is introduced in Windows PowerShell 3.0. Beginning in PowerShell 7.0, `Invoke-RestMethod` supports proxy configuration defined by environment -variables. See the [Notes][1] section of this article. +variables. See the [Notes](#notes) section of this article. ## EXAMPLES @@ -162,9 +162,10 @@ for the resulting CSV output file. ### Example 3: Follow relation links -Some REST APIs support pagination via Relation Links per [RFC5988][2]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. This example returns the -first two pages of issues from the PowerShell GitHub repository. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. This example returns the first two pages +of issues from the PowerShell GitHub repository. ```powershell $url = 'https://api.github.com/repos/powershell/powershell/issues' @@ -270,13 +271,15 @@ headers : @{Host=httpbin.org; If-Match=12345; User-Agent=Mozilla/5.0 (Windows NT 10.0.19044; en-US) PowerShell/7.2.5; X-Amzn-Trace-Id=Root=1-62f150a6-27754fd4226f31b43a3d2874} ``` -[httpbin.org][3] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][4] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-RestMethod` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -471,11 +474,12 @@ options. When used alone, it will only supply credentials to the remote server i sends an authentication challenge request. When used with **Authentication** options, the credentials will be explicitly sent. -Credentials are stored in a [PSCredential][5] object and the password is stored as a -[SecureString][6]. +Credentials are stored in a [PSCredential](/dotnet/api/system.management.automation.pscredential) +object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][7]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -505,7 +509,7 @@ This feature was added in PowerShell 6.0.0. ```yaml Type: System.String -Parameter Sets: CustomMethod, CustomMethodNoProxy +Parameter Sets: CustomMethodNoProxy, CustomMethod Aliases: CM Required: True @@ -537,9 +541,10 @@ Accept wildcard characters: False Indicates the cmdlet should follow relation links. -Some REST APIs support pagination via Relation Links per [RFC5988][8]. Instead of parsing the header -to get the URL for the next page, you can have the cmdlet do this for you. To set how many times to -follow relation links, use the **MaximumFollowRelLink** parameter. +Some REST APIs support pagination via Relation Links per +[RFC5988](https://tools.ietf.org/html/rfc5988#page-6). Instead of parsing the header to get the URL +for the next page, you can have the cmdlet do this for you. To set how many times to follow relation +links, use the **MaximumFollowRelLink** parameter. When using this switch, the cmdlet returns a collection of pages of results. Each page of results may contain multiple result items. @@ -803,7 +808,8 @@ is to have the results written to the file and to the pipeline. > [!NOTE] > When you use the **PassThru** parameter, the output is written to the pipeline but the file is not -> created. For more information, see [PowerShell Issue #15409][9]. +> created. For more information, see +> [PowerShell Issue #15409](https://github.com/PowerShell/PowerShell/issues/15409). ```yaml Type: System.Management.Automation.SwitchParameter @@ -1270,8 +1276,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that is used by most internet browsers, use -the properties of the [PSUserAgent][10] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +the properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, +such as Chrome, FireFox, InternetExplorer, Opera, and Safari. ```yaml Type: System.String @@ -1322,7 +1328,8 @@ 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][11]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1346,7 +1353,8 @@ strings. Some features may not be available on all platforms. Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][12] property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +property to determine the proxy configuration. The value of this property is different rules depending on your platform: @@ -1368,25 +1376,8 @@ are: ## RELATED LINKS -[ConvertTo-Json][13] - -[ConvertFrom-Json][14] - -[Invoke-WebRequest][15] - - -[1]: #notes -[2]: https://tools.ietf.org/html/rfc5988#page-6 -[3]: https://httpbin.org/ -[4]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[5]: /dotnet/api/system.management.automation.pscredential -[6]: /dotnet/api/system.security.securestring -[7]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[8]: https://tools.ietf.org/html/rfc5988#page-6 -[9]: https://github.com/PowerShell/PowerShell/issues/15409 -[10]: /dotnet/api/microsoft.powershell.commands.psuseragent -[11]: https://go.microsoft.com/fwlink/?LinkID=113216 -[12]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[13]: ConvertTo-Json.md -[14]: ConvertFrom-Json.md -[15]: Invoke-WebRequest.md \ No newline at end of file +[ConvertTo-Json](ConvertTo-Json.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[Invoke-WebRequest](Invoke-WebRequest.md) diff --git a/reference/7.3/Microsoft.PowerShell.Utility/Invoke-WebRequest.md b/reference/7.3/Microsoft.PowerShell.Utility/Invoke-WebRequest.md index 5b10d7353285..2b2357c67299 100644 --- a/reference/7.3/Microsoft.PowerShell.Utility/Invoke-WebRequest.md +++ b/reference/7.3/Microsoft.PowerShell.Utility/Invoke-WebRequest.md @@ -83,7 +83,7 @@ the response and returns collections of links, images, and other significant HTM This cmdlet was introduced in PowerShell 3.0. Beginning in PowerShell 7.0, `Invoke-WebRequest` supports proxy configuration defined by environment -variables. See the [Notes][1] section of this article. +variables. See the [Notes](#notes) section of this article. > [!IMPORTANT] > The examples in this article reference hosts in the `contoso.com` domain. This is a fictitious @@ -348,13 +348,15 @@ RawContentLength : 249 RelationLink : {} ``` -[httpbin.org][2] is a service that returns information about web requests and responses for -troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the service, which -returns a request's headers as the content in its response. +[httpbin.org](https://httpbin.org/) is a service that returns information about web requests and +responses for troubleshooting. The `$Uri` variable is assigned to the `/headers` endpoint of the +service, which returns a request's headers as the content in its response. -The `If-Match` request header is defined in [RFC-7232 section 3.1][3] and requires the value for -that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is assigned a hash -table where the value of `If-Match` is invalid because it's defined as `12345` instead of `"12345"`. +The `If-Match` request header is defined in +[RFC-7232 section 3.1](https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1) and requires the +value for that header to be defined with surrounding quotes. The `$InvalidHeaders` variable is +assigned a hash table where the value of `If-Match` is invalid because it's defined as `12345` +instead of `"12345"`. Calling `Invoke-WebRequest` with the invalid headers returns an error reporting that the formatted value is invalid. The request is not sent to the endpoint. @@ -551,7 +553,8 @@ Credentials are stored in a [PSCredential](/dotnet/api/system.management.automat object and the password is stored as a [SecureString](/dotnet/api/system.security.securestring). > [!NOTE] -> For more information about **SecureString** data protection, see [How secure is SecureString?][6]. +> For more information about **SecureString** data protection, see +> [How secure is SecureString?](/dotnet/api/system.security.securestring#how-secure-is-securestring). ```yaml Type: System.Management.Automation.PSCredential @@ -1245,8 +1248,8 @@ The default user agent is similar to variations for each operating system and platform. To test a website with the standard user agent string that's used by most internet browsers, use the -properties of the [PSUserAgent][7] class, such as Chrome, FireFox, InternetExplorer, Opera, and -Safari. +properties of the [PSUserAgent](/dotnet/api/microsoft.powershell.commands.psuseragent) class, such +as Chrome, FireFox, InternetExplorer, Opera, and Safari. For example, the following command uses the user agent string for Internet Explorer: `Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)` @@ -1300,7 +1303,8 @@ 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][8]. +-WarningAction, and -WarningVariable. For more information, see +[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS @@ -1316,10 +1320,12 @@ You can pipe the body of a web request to `Invoke-WebRequest`. Beginning with PowerShell 6.0.0 `Invoke-WebRequest` supports basic parsing only. -For more information, see [BasicHtmlWebResponseObject][9]. +For more information, see +[BasicHtmlWebResponseObject](/dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject). Because of changes in .NET Core 3.1, PowerShell 7.0 and higher use the -[HttpClient.DefaultProxy][10] Property to determine the proxy configuration. +[HttpClient.DefaultProxy](/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1) +Property to determine the proxy configuration. The value of this property is determined by your platform: @@ -1341,23 +1347,8 @@ are: ## RELATED LINKS -[Invoke-RestMethod][11] - -[ConvertFrom-Json][12] - -[ConvertTo-Json][13] - - -[1]: #notes -[2]: https://httpbin.org/ -[3]: https://www.rfc-editor.org/rfc/rfc7232.html#section-3.1 -[4]: /dotnet/api/system.management.automation.pscredential -[5]: /dotnet/api/system.security.securestring -[6]: /dotnet/api/system.security.securestring#how-secure-is-securestring -[7]: /dotnet/api/microsoft.powershell.commands.psuseragent -[8]: https://go.microsoft.com/fwlink/?LinkID=113216 -[9]: /dotnet/api/microsoft.powershell.commands.basichtmlwebresponseobject -[10]: /dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.1 -[11]: Invoke-RestMethod.md -[12]: ConvertFrom-Json.md -[13]: ConvertTo-Json.md +[Invoke-RestMethod](Invoke-RestMethod.md) + +[ConvertFrom-Json](ConvertFrom-Json.md) + +[ConvertTo-Json](ConvertTo-Json.md) From f560bee24a336378068d4160408380a4886eb7cc Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Wed, 12 Oct 2022 18:53:29 -0500 Subject: [PATCH 7/9] Update quicklink for AzPS 9.0.0 (#9304) (#9305) --- reference/module/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/module/index.md b/reference/module/index.md index 99ed36680d57..dc25478b15b5 100644 --- a/reference/module/index.md +++ b/reference/module/index.md @@ -6,13 +6,13 @@ description: Search all PowerShell modules and cmdlets from Microsoft layout: ApiBrowserPage manager: sewhee ms.author: sewhee -ms.date: 07/05/2022 +ms.date: 10/12/2022 ms.devlang: powershell ms.manager: sewhee ms.product: powershell ms.topic: landing-page quickFilterColumn1: powershell-7.2,windowsserver2022-ps -quickFilterColumn2: azps-8.3.0,win-mdop2-ps +quickFilterColumn2: azps-9.0.0,win-mdop2-ps quickFilterColumn3: sqlserver-ps,systemcenter-ps-2022 title: PowerShell Module Browser --- From 45b88dc5355c5bd2b1758e35c26ba80aeeba5371 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Thu, 21 Sep 2023 12:41:06 -0500 Subject: [PATCH 8/9] Publish to live (#10442) * Update docs changes (#10441) * Update TOC (#10443) --- .../docs-conceptual/community/2023-updates.md | 16 ++++++++++------ reference/docs-conceptual/toc.yml | 2 -- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/reference/docs-conceptual/community/2023-updates.md b/reference/docs-conceptual/community/2023-updates.md index 5977fecd8bb0..747273731e69 100644 --- a/reference/docs-conceptual/community/2023-updates.md +++ b/reference/docs-conceptual/community/2023-updates.md @@ -1,6 +1,6 @@ --- description: List of changes to the PowerShell documentation for 2023 -ms.date: 09/08/2023 +ms.date: 09/21/2023 title: What's New in PowerShell-Docs for 2023 --- # What's new in PowerShell Docs for 2023 @@ -31,6 +31,9 @@ Updated Content - [What's New in PowerShell 7.4 (preview)](../whats-new/what-s-new-in-powershell-74.md) - New features for 10 cmdlets +- Updated support status and installation notes for Raspberry Pi + - [Community support for PowerShell on Linux - PowerShell](/powershell/scripting/install/community-support#raspberry-pi-os) + ### Top Community Contributors GitHub stats @@ -42,11 +45,12 @@ GitHub stats The following people contributed to PowerShell docs this month by submitting pull requests or filing issues. Thank you! -| GitHub Id | PRs merged | Issues opened | -| --------- | :--------: | :-----------: | -| ehmiiz | 1 | 1 | -| deadlydog | 1 | | -| crisman | 1 | | +| GitHub Id | PRs merged | Issues opened | +| --------------- | :--------: | :-----------: | +| ehmiiz | 1 | 1 | +| crisman | 1 | | +| deadlydog | 1 | | +| JamesDBartlett3 | 1 | | ## 2023-Jul diff --git a/reference/docs-conceptual/toc.yml b/reference/docs-conceptual/toc.yml index 8dc0d815cae9..676567696956 100644 --- a/reference/docs-conceptual/toc.yml +++ b/reference/docs-conceptual/toc.yml @@ -24,8 +24,6 @@ items: href: install/install-alpine.md - name: Installing on Debian href: install/install-debian.md - - name: Installing on Raspberry Pi OS - href: install/install-raspbian.md - name: Installing on RHEL href: install/install-rhel.md - name: Installing on Ubuntu From 4f76fb23df55b9fd2942e853174c4ca1d59dfc0a Mon Sep 17 00:00:00 2001 From: Joshua Taylor Keays <128968711+berlintay@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:55:18 -0400 Subject: [PATCH 9/9] Update Installing-PowerShell-on-Linux.md docs: enhance PowerShell installation instructions for all Linux distributions (tested on WSL2) --- .../install/Installing-PowerShell-on-Linux.md | 208 ++++++++++++++++++ 1 file changed, 208 insertions(+) diff --git a/reference/docs-conceptual/install/Installing-PowerShell-on-Linux.md b/reference/docs-conceptual/install/Installing-PowerShell-on-Linux.md index 68f006d2308c..be0d70fc9131 100644 --- a/reference/docs-conceptual/install/Installing-PowerShell-on-Linux.md +++ b/reference/docs-conceptual/install/Installing-PowerShell-on-Linux.md @@ -49,6 +49,214 @@ Ubuntu uses APT (Advanced Package Tool) as a package manager. For more information, see [Install PowerShell on Ubuntu][18]. +## Automated Installation Script +The following script automatically detects your Linux distribution, architecture, and installs the latest stable version of PowerShell. It includes: +- Automatic OS and architecture detection +- Latest stable PowerShell version detection +- Interactive prompts for version confirmation +- Comprehensive error handling and logging +- Support for Ubuntu, Debian, RHEL, CentOS, and Fedora +- Support for AMD64 and ARM64 architectures + +>[!NOTE] +>Save this script as `linux_autodetect_install.sh` and enable execution with `chmod +x linux_autodetect_install.sh` + +[Download linux_autodetect_install.sh](linux_autodetect_install.sh) + +
+Click to view installation script + +```bash +#!/bin/bash + +# PowerShell Installation Script for Linux +# Description: Automatically detects system type and installs the latest stable PowerShell release +# Features: +# - OS and architecture detection +# - Latest stable version detection +# - Interactive installation +# - Comprehensive error handling +# - Support for major Linux distributions +# Author: Microsoft Corporation +# License: MIT + +set -e + +# Constants +TEMP_DIR="/tmp" +LOG_PREFIX="[PowerShell Install]" + +# Logging function with standardized format +log() { + local level="$1" + local message="$2" + echo "[$(date +'%Y-%m-%d %H:%M:%S')] ${LOG_PREFIX} ${level}: ${message}" +} + +# Error handling function +handle_error() { + local exit_code=$? + log "ERROR" "An error occurred on line $1" + exit "$exit_code" +} + +# Set up error handling +trap 'handle_error $LINENO' ERR + +# System detection functions +get_os_info() { + if [ -f /etc/os-release ]; then + # Load OS information + . /etc/os-release + OS_NAME="${ID}" + OS_VERSION="${VERSION_ID}" + OS_PRETTY_NAME="${PRETTY_NAME}" + else + log "ERROR" "Cannot detect OS information" + exit 1 + } +} + +get_architecture() { + local arch + arch=$(uname -m) + case $arch in + x86_64) + ARCH="amd64" + ;; + aarch64) + ARCH="arm64" + ;; + *) + log "ERROR" "Unsupported architecture: $arch" + exit 1 + ;; + esac +} + +setup_package_manager() { + case $OS_NAME in + ubuntu|debian) + PKG_MGR="apt" + PKG_FORMAT="deb" + INSTALL_CMD="sudo dpkg -i" + DEP_CMD="sudo apt-get install -f -y" + ;; + rhel|centos|fedora) + PKG_MGR="dnf" + PKG_FORMAT="rpm" + INSTALL_CMD="sudo rpm -i" + DEP_CMD="sudo dnf install -y" + ;; + *) + log "ERROR" "Unsupported distribution: $OS_NAME" + exit 1 + ;; + esac +} + +get_download_url() { + local ps_version_url + local pattern + + case $OS_NAME in + ubuntu|debian) + pattern="powershell_.*${ARCH}.deb$" + ;; + rhel|centos|fedora) + pattern="powershell-.*${ARCH}.rpm$" + ;; + esac + + ps_version_url=$(curl -s https://api.github.com/repos/PowerShell/PowerShell/releases | + jq -r --arg pattern "$pattern" ' + [.[] | select(.prerelease == false)] | + sort_by(.published_at) | + reverse | + .[0].assets[] | + select(.name | test($pattern)) | + .browser_download_url' | + head -n 1) + + if [ -z "$ps_version_url" ] || [[ "$ps_version_url" == *"hashes.sha256"* ]]; then + log "ERROR" "Failed to find PowerShell package for $OS_NAME ($ARCH)" + log "DEBUG" "Pattern used: $pattern" + exit 1 + fi + + echo "$ps_version_url" +} + +# Main installation logic +main() { + log "INFO" "Starting PowerShell installation" + + # Detect system information + log "INFO" "Detecting system information" + get_os_info + get_architecture + setup_package_manager + + log "INFO" "Detected: $OS_PRETTY_NAME ($ARCH)" + + # Check for sudo privileges + if ! sudo -v; then + log "ERROR" "This script requires sudo privileges" + exit 1 + fi + + # Update and install dependencies + log "INFO" "Installing prerequisites" + case $PKG_MGR in + apt) + sudo apt-get update + sudo apt-get install -y curl jq wget + ;; + dnf) + sudo dnf check-update + sudo dnf install -y curl jq wget + ;; + esac + + # Check existing installation + if command -v pwsh &>/dev/null; then + log "INFO" "PowerShell is already installed:" + pwsh --version + read -p "Continue with new installation? (y/n) " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + log "INFO" "Installation cancelled by user" + exit 0 + fi + fi + + # Get appropriate download URL + PS_VERSION_URL=$(get_download_url) + if [[ "$PS_VERSION_URL" == "" ]]; then + log "ERROR" "Could not determine download URL" + exit 1 + fi + + VERSION=$(echo "$PS_VERSION_URL" | grep -Po '(?<=v)[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown") + + # Display version information + log "INFO" "Found PowerShell version: $VERSION" + printf "\n%-50s %-15s\n" "URL" "VERSION" + printf "%-50s %-15s\n" "$PS_VERSION_URL" "$VERSION" + + # Confirm installation + read -p "Continue with this version? (y/n) " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + log "INFO" "Installation cancelled by user" + exit 0 + fi + + # Download and install + local temp_pkg="${TEMP_DIR}/powershell_${VERSION}_${ARCH}.${PKG_FORMAT}" + log "INFO" "Downloading PowerShell package" +``` + ## Community supported distributions PowerShell can be installed on many distributions of Linux that aren't supported by Microsoft. In