Skip to content

Commit f0e8083

Browse files
committed
Fix issue where Disconnect-AzureRmAccount would throw if not connected
1 parent 2106713 commit f0e8083

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-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
{

0 commit comments

Comments
 (0)