Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update doc around supportability #15075

Merged
merged 8 commits into from
May 24, 2021
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
## 6.0.0 - May 2021
Az 6.0.0 (Az.Accounts 2.3.0) is only supported on Windows PowerShell 5.1 and PowerShell 7.0.6 or greater, open https://aka.ms/install-powershell to learn how to upgrade. For further information, go to http://aka.ms/azpslifecyle.
dcaro marked this conversation as resolved.
Show resolved Hide resolved

#### Az.Accounts
* Upgraded Azure.Identity to 1.4 and MSAL to 4.30.1
* Removed obsolete parameters 'ManagedServiceHostName', 'ManagedServicePort' and 'ManagedServiceSecret' of cmdlet 'Connect-AzAccount', environment variables 'MSI_ENDPOINT' and 'MSI_SECRET' could be used instead
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Run the following command in an elevated PowerShell session to install the rollu
Install-Module -Name Az
```

This module runs on Windows PowerShell with [.NET Framework 4.7.2][DotNetFramework] or greater, or [PowerShell Core][PowerShellCore]. The `Az` module replaces `AzureRM`. You should not install `Az` side-by-side with `AzureRM`.
This module runs on Windows PowerShell with [.NET Framework 4.7.2][DotNetFramework] or greater, or [the latest version of PowerShell 7][PowerShellCore]. The `Az` module replaces `AzureRM`. You should not install `Az` side-by-side with `AzureRM`.

If you have an earlier version of the Azure PowerShell modules installed from the PowerShell Gallery and would like to update to the latest version, run the following commands in an elevated PowerShell session:

Expand Down
17 changes: 8 additions & 9 deletions documentation/announcing-az-module.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Announcing New Module 'Az'
In August 2018 we released a new module, 'Az' which combines the functionality of the AzureRM and AzureRM.Netcore modules. Az will go to version 1.0 on 12/18/2018. Az runs on both Windows PowerShell 5.1 and PowerShell Core. 'Az' ensures that the Windows PowerShell and PowerShell Core cmdlets for managing Azure resources will always be in sync and up to date. In addition, Az will simplify and regularize the naming of Azure cmdlets, and the organization of Azure modules. Az is intended as a replacement for the AzureRM.Netcore and AzureRM modules.
In August 2018 we released a new module, 'Az' which combines the functionality of the AzureRM and AzureRM.Netcore modules. Az goes to version 1.0 on 12/18/2018. Az runs on both Windows PowerShell 5.1 and PowerShell 7. 'Az' ensures that the Windows PowerShell and PowerShell 7 cmdlets for managing Azure resources will always be in sync and up to date. In addition, Az will simplify and regularize the naming of Azure cmdlets, and the organization of Azure modules. Az is intended as a replacement for the AzureRM.Netcore and AzureRM modules.

Az currently ships in Cloud Shell, and can be found on the PowerShell Gallery [here](https://www.powershellgallery.com/packages/Az/)

Az is a new module, and reorganizing and simplifying cmdlet names involves breaking changes, so we have [added features to Az to make it easier to transition to the simplified, normalized names in your existing scripts](#migrating-from-azurerm).

## New Features
- Windows PowerShell 5.1 and PowerShell Core support in the same module
- PowerShell Core and Windows PowerShell cmdlets are always in sync and up to date with latest Azure capabilities
- Windows PowerShell 5.1 and PowerShell 7 support in the same module
- PowerShell 7 and Windows PowerShell cmdlets are always in sync and up to date with latest Azure capabilities
- Shortened and normalized cmdlet names - all cmdlets use the noun prefix 'Az'
- Simplified and normalized module organization - data plane and management plane cmdlets in the same module for each service
- Enhanced authentication for Netcore
Expand All @@ -17,8 +17,7 @@ Az is a new module, and reorganizing and simplifying cmdlet names involves break

## Supported Platforms
- PowerShell 5.1 with .Net Framework 4.7.2 or later [Windows only]
- PowerShell Core 6.0 - Windows, Linux, macOS
- PowerShell Core 6.1 - Windows, Linux, macOS
- PowerShell 7 - Windows, Linux, macOS

## Timeline

Expand Down Expand Up @@ -170,12 +169,12 @@ For scripts that import modules directly, or use ```#Requires``` statements to s
### Installing Az and AzureRM Side-by-Side

Az and AzureRM cannot be imported side-by-side into the same PowerShell session. If you do not want to migrate your scripts from AzureRM to Az right away, there are two main options:
- Install Az in PowerShell Core, and leave AzureRM in Windows PowerShell
- Install Az in PowerShell 7, and leave AzureRM in Windows PowerShell
- Install Az and AzureRM side-by-side in Windows PowerShell and ensure scripts do not mix the modules

#### Install Az in PowerShell Core
You can follow the instructions in [Installing PowerShell Core on Windows](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-6
) to install PowerShell Core, then use ```Install-Module Az``` in PowerShell Core to acquire the Az module. Since Windows PowerShell and PowerShell Core can exist side-by-side and do not share module directories, this will effectively isolate the two modules.
#### Install Az in PowerShell 7
You can follow the instructions in [Installing PowerShell 7 on Windows](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-windows
) to install PowerShell 7, then use ```Install-Module Az``` in PowerShell 7 to acquire the Az module. Since Windows PowerShell and PowerShell 7 can exist side-by-side and do not share module directories, this will effectively isolate the two modules.

#### Install Az and AzureRM Side-by-Side
If you need to have both modules installed:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The following prerequisites should be completed before contributing to the Azure
- Install the latest version of [Git](https://git-scm.com/downloads)
- Install the [`platyPS` module](help-generation.md#Installing-platyPS)
- Install the latest [**.NET Core SDK** and **.NET Framework Dev Pack 4.7.2**](https://dotnet.microsoft.com/download) or greater
- Install [PowerShell Core](https://github.com/PowerShell/PowerShell/releases/latest)
- Install [PowerShell 7](https://github.com/PowerShell/PowerShell/releases/latest)
- Set the PowerShell [execution policy](https://technet.microsoft.com/en-us/library/ee176961.aspx) to **Unrestricted** for the following versions of PowerShell:
- `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`
- `C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`
Expand Down Expand Up @@ -92,7 +92,7 @@ After cloning the repository to your local machine, you want to ensure that you
msbuild build.proj
```

Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell Core), navigate to the root of the repository, and run:
Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell 7), navigate to the root of the repository, and run:

```powershell
PS C:\azure-powershell> dotnet msbuild build.proj
Expand Down Expand Up @@ -124,7 +124,7 @@ Launch `VS Developer Command Prompt` and run the following command (from the roo
msbuild build.proj /t:Test
```

Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell Core), navigate to the root of the repository, and run:
Alternatively, you can open any command prompt (Command Prompt, Windows PowerShell, or PowerShell 7), navigate to the root of the repository, and run:

```powershell
PS C:\azure-powershell> dotnet msbuild build.proj /t:Test
Expand Down
2 changes: 1 addition & 1 deletion documentation/migration-guides/Az.1.0.0-migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ RequiredModules = @(@{ModuleName="Az.Accounts"; ModuleVersion="1.0.0"})
The tooling for these services are no longer actively supported. Customers are encouraged to move to alternative services as soon as it is convenient.

### Windows PowerShell 5.1 and .NET Framework 4.7.2
- Using Az with Windows PowerShell 5.1 requires the installation of .NET Framework 4.7.2. However, using Az with PowerShell Core does not require .NET Framework 4.7.2.
- Using Az with Windows PowerShell 5.1 requires the installation of .NET Framework 4.7.2. However, using Az with PowerShell 7 does not require .NET Framework 4.7.2.

### Temporary removal of User login using PSCredential
- Due to changes in the authentication flow for .NET Standard, we are temporarily removing user login via PSCredential. This capability will be re-introduced in the 1/15/2019 release for Windows PowerShell 5.1. This is discussed in detail in [this issue.](https://github.com/Azure/azure-powershell/issues/7430)
Expand Down
8 changes: 4 additions & 4 deletions documentation/troubleshoot-module-load.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ At line:1 char:1

If you are receiving type loading errors when trying to import/run Az modules in Windows PowerShell, you'll need to install [.NET Framework 4.7.2](https://dotnet.microsoft.com/download) or greater. This is required as Windows PowerShell does not natively support .NET Standard.

You can also avoid this issue by using [PowerShell Core](https://github.com/PowerShell/PowerShell/releases/latest). PowerShell Core natively supports .NET Standard assemblies. PowerShell Core also works cross platform, so Linux and Mac can use Az modules in PowerShell Core.
You can also avoid this issue by using [PowerShell 7](https://github.com/PowerShell/PowerShell/releases/latest). PowerShell 7 natively supports .NET Standard assemblies. PowerShell 7 also works cross platform, so Linux and Mac can use Az modules in PowerShell 7.

## Symptom: Prompt for Login When a Cmdlet is Executed After a Previous Login

Expand Down Expand Up @@ -162,6 +162,6 @@ This underlying problem is solved in Az by requiring all authentication types us

The library `Newtonsoft.Json` is used throughout our cmdlets to handle JSON information. However, we do not have control of the version of this library that is loaded in PowerShell. To troubleshoot serialization issues, here is a table of the versions of `Newtonsoft.Json` that are loaded by the various editions of PowerShell.

| | Windows PowerShell 5.1 | PowerShell Core 6.0 | PowerShell Core 6.1 | PowerShell Core 6.2
| - | - | - | - | - |
| **Newtonsoft.Json** | 6.0.8 | 10.0.3 | 11.0.2 | 12.0.1
| | Windows PowerShell 5.1 | PowerShell 7.0 | PowerShell 7.1
| - | - | - | - |
| **Newtonsoft.Json** | 6.0.8 | 12.0.0 | 12.0.0