From d9bf864c3db5bb03b3d852e98af41a274c13d61b Mon Sep 17 00:00:00 2001 From: Evan Zheng Date: Mon, 24 Feb 2020 12:01:13 -0800 Subject: [PATCH] Fix AAD setup script issue --- .../scripts/aad-setup/workbenchAADSetup.ps1 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/blockchain-workbench/scripts/aad-setup/workbenchAADSetup.ps1 b/blockchain-workbench/scripts/aad-setup/workbenchAADSetup.ps1 index 14f4fb787..1cfb73a08 100755 --- a/blockchain-workbench/scripts/aad-setup/workbenchAADSetup.ps1 +++ b/blockchain-workbench/scripts/aad-setup/workbenchAADSetup.ps1 @@ -109,13 +109,26 @@ function Log-Error { if (Get-Module -ListAvailable -Name "AzureAD.Standard.Preview") { Log-Debug "Importing module AzureAD.Standard.Preview" Import-Module "AzureAD.Standard.Preview" + + # Issue: https://github.com/Azure-Samples/blockchain/issues/222 + # Azure cloud shell deliberately hided Connect-AzureAD cmdlet in a 2020 Feb update and used a wrapper with identical + # name Connect-AzureAD. This change pollutes cmdlet names in this script. The following line fixes the issue: + + # Create an alias for Connect-AzureAD cmdlet depending on the version of AAD module + # so that the cmdlet could be used easier later + Set-Alias -Name Connect-AzureADAlias -Value "AzureAD.Standard.Preview\Connect-AzureAD" + # For Windows PowerShell } elseif (Get-Module -ListAvailable -Name "AzureADPreview") { Log-Debug "Importing module AzureADPreview" Import-Module "AzureADPreview" + Set-Alias -Name Connect-AzureADAlias -Value "AzureADPreview\Connect-AzureAD" + } elseif (Get-Module -ListAvailable -Name "AzureAD") { Log-Debug "Importing module AzureAD" Import-Module "AzureAD" + Set-Alias -Name Connect-AzureADAlias -Value "AzureAD\Connect-AzureAD" + } else { Log-Error "This script is not compatible with your computer, Please use Azure CloudShell https://shell.azure.com/powershell" -Exit } @@ -181,7 +194,7 @@ Do { try { if ($TenantName) { Log-Debug "Trying to login to $TenantName" - $currentUser = Connect-AzureAD -TenantId $TenantName -ErrorAction SilentlyContinue + $currentUser = Connect-AzureADAlias -TenantId $TenantName -ErrorAction SilentlyContinue } else { continue; }