Skip to content

Commit 552215d

Browse files
authored
Merge pull request #7684 from cormacpayne/fix-disconnect
Fix issue where Disconnect-AzureRmAccount would throw if not connected
2 parents ca62db5 + 720a83f commit 552215d

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

src/ResourceManager/Profile/Commands.Profile/Account/DisconnectAzureRmAccount.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public class DisconnectAzureRmAccountCommand : AzureContextModificationCmdlet
3838
private const string ContextNameParameterSet = "ContextName";
3939

4040

41-
42-
[Parameter(ParameterSetName = UserIdParameterSet,
41+
42+
[Parameter(ParameterSetName = UserIdParameterSet,
4343
Mandatory = true, HelpMessage = "User name of the form [email protected]", Position = 0)]
4444
[ValidateNotNullOrEmpty]
4545
[Alias("Id", "UserId")]
@@ -56,24 +56,32 @@ public class DisconnectAzureRmAccountCommand : AzureContextModificationCmdlet
5656
[ValidateNotNullOrEmpty]
5757
public string TenantId { get; set; }
5858

59-
[Parameter(ParameterSetName = InputObjectParametrSet,
59+
[Parameter(ParameterSetName = InputObjectParametrSet,
6060
Mandatory = true, ValueFromPipeline=true, Position = 0, HelpMessage = "Account")]
6161
[ValidateNotNull]
6262
public PSAzureRmAccount InputObject { get; set; }
63-
64-
[Parameter(ParameterSetName = ContextParameterSet,
63+
64+
[Parameter(ParameterSetName = ContextParameterSet,
6565
Mandatory = true, HelpMessage = "Context", ValueFromPipeline =true, Position = 0)]
6666
[ValidateNotNull]
6767
public PSAzureContext AzureContext { get; set; }
6868

69-
70-
[Parameter(ParameterSetName = ContextNameParameterSet,
69+
70+
[Parameter(ParameterSetName = ContextNameParameterSet,
7171
Mandatory = false, HelpMessage = "Name of the context to log out of")]
7272
[ValidateNotNullOrEmpty]
7373
public string ContextName { get; set; }
7474

7575
public override void ExecuteCmdlet()
7676
{
77+
if (DefaultProfile != null && DefaultProfile.DefaultContext == null)
78+
{
79+
WriteVerbose(string.Format("No accounts were found to disconnect from. Ending call to Disconnect-{0}Account.",
80+
ResourceManager.Common.AzureRMConstants.AzureRMPrefix));
81+
WriteObject(null);
82+
return;
83+
}
84+
7785
IAzureAccount azureAccount = null;
7886
switch(ParameterSetName)
7987
{

src/ResourceManager/Profile/Commands.Profile/ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
- https://github.com/Azure/azure-powershell/issues/7453
2828
* Fix issue with DataLake endpoints when using MSI
2929
- https://github.com/Azure/azure-powershell/issues/7462
30+
* Fix issue where `Disconnect-AzureRmAccount` would throw if not connected
31+
- https://github.com/Azure/azure-powershell/issues/7167
3032

3133
## Version 5.7.0
3234
* Fix issue with Get-AzureRmSubscription in CloudShell

0 commit comments

Comments
 (0)