@@ -51,42 +51,42 @@ public class ConnectAzureRmAccountCommand : AzureContextModificationCmdlet, IMod
51
51
[ ValidateNotNullOrEmpty ]
52
52
public string Environment { get ; set ; }
53
53
54
-
55
- [ Parameter ( ParameterSetName = UserParameterSet ,
54
+
55
+ [ Parameter ( ParameterSetName = UserParameterSet ,
56
56
Mandatory = false , HelpMessage = "Optional credential" , Position = 0 ) ]
57
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
57
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
58
58
Mandatory = true , HelpMessage = "Credential" ) ]
59
59
public PSCredential Credential { get ; set ; }
60
60
61
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
61
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
62
62
Mandatory = true , HelpMessage = "Certificate Hash (Thumbprint)" ) ]
63
63
public string CertificateThumbprint { get ; set ; }
64
-
65
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
64
+
65
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
66
66
Mandatory = true , HelpMessage = "SPN" ) ]
67
67
public string ApplicationId { get ; set ; }
68
68
69
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
69
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
70
70
Mandatory = true ) ]
71
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
71
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
72
72
Mandatory = true ) ]
73
73
public SwitchParameter ServicePrincipal { get ; set ; }
74
-
75
- [ Parameter ( ParameterSetName = UserParameterSet ,
74
+
75
+ [ Parameter ( ParameterSetName = UserParameterSet ,
76
76
Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
77
- [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
77
+ [ Parameter ( ParameterSetName = ServicePrincipalParameterSet ,
78
78
Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
79
- [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
79
+ [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
80
80
Mandatory = false , HelpMessage = "Tenant name or ID" ) ]
81
- [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
81
+ [ Parameter ( ParameterSetName = ServicePrincipalCertificateParameterSet ,
82
82
Mandatory = true , HelpMessage = "Tenant name or ID" ) ]
83
83
[ Parameter ( ParameterSetName = ManagedServiceParameterSet ,
84
84
Mandatory = false , HelpMessage = "Optional tenant name or ID" ) ]
85
85
[ Alias ( "Domain" ) ]
86
86
[ ValidateNotNullOrEmpty ]
87
87
public string TenantId { get ; set ; }
88
-
89
- [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
88
+
89
+ [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
90
90
Mandatory = true , HelpMessage = "AccessToken for Azure Resource Manager" ) ]
91
91
[ ValidateNotNullOrEmpty ]
92
92
public string AccessToken { get ; set ; }
@@ -100,8 +100,8 @@ public class ConnectAzureRmAccountCommand : AzureContextModificationCmdlet, IMod
100
100
Mandatory = false , HelpMessage = "AccessToken for KeyVault Service" ) ]
101
101
[ ValidateNotNullOrEmpty ]
102
102
public string KeyVaultAccessToken { get ; set ; }
103
-
104
- [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
103
+
104
+ [ Parameter ( ParameterSetName = AccessTokenParameterSet ,
105
105
Mandatory = true , HelpMessage = "Account Id for access token" ) ]
106
106
[ Parameter ( ParameterSetName = ManagedServiceParameterSet ,
107
107
Mandatory = false , HelpMessage = "Account Id for managed service. Can be a managed service resource Id, or the associated client id. To use the SyatemAssigned identity, leave this field blank." ) ]
@@ -147,6 +147,9 @@ public class ConnectAzureRmAccountCommand : AzureContextModificationCmdlet, IMod
147
147
Mandatory = false , HelpMessage = "Skip validation for access token" ) ]
148
148
public SwitchParameter SkipValidation { get ; set ; }
149
149
150
+ [ Parameter ( Mandatory = false , HelpMessage = "Skips context population if no contexts are found." ) ]
151
+ public SwitchParameter SkipContextPopulation { get ; set ; }
152
+
150
153
[ Parameter ( Mandatory = false , HelpMessage = "Overwrite the existing context with the same name, if any." ) ]
151
154
public SwitchParameter Force { get ; set ; }
152
155
@@ -213,8 +216,8 @@ public override void ExecuteCmdlet()
213
216
builder . Port = ManagedServicePort ;
214
217
builder . Path = "/oauth2/token" ;
215
218
216
- string msiSecret = this . IsBound ( nameof ( ManagedServiceSecret ) )
217
- ? ManagedServiceSecret . ConvertToString ( )
219
+ string msiSecret = this . IsBound ( nameof ( ManagedServiceSecret ) )
220
+ ? ManagedServiceSecret . ConvertToString ( )
218
221
: System . Environment . GetEnvironmentVariable ( MSISecretVariable ) ;
219
222
220
223
string suppliedUri = this . IsBound ( nameof ( ManagedServiceHostName ) )
@@ -225,7 +228,7 @@ public override void ExecuteCmdlet()
225
228
{
226
229
azureAccount . SetProperty ( AzureAccount . Property . MSILoginSecret , msiSecret ) ;
227
230
}
228
-
231
+
229
232
if ( ! string . IsNullOrWhiteSpace ( suppliedUri ) )
230
233
{
231
234
azureAccount . SetProperty ( AzureAccount . Property . MSILoginUri , suppliedUri ) ;
@@ -254,7 +257,7 @@ public override void ExecuteCmdlet()
254
257
{
255
258
azureAccount . Id = ApplicationId ;
256
259
}
257
-
260
+
258
261
if ( ! string . IsNullOrWhiteSpace ( CertificateThumbprint ) )
259
262
{
260
263
azureAccount . SetThumbprint ( CertificateThumbprint ) ;
@@ -283,7 +286,8 @@ public override void ExecuteCmdlet()
283
286
password ,
284
287
SkipValidation ,
285
288
( s ) => WriteWarning ( s ) ,
286
- name ) ) ;
289
+ name ,
290
+ ! this . SkipContextPopulation . IsPresent ) ) ;
287
291
} ) ;
288
292
}
289
293
}
@@ -329,7 +333,7 @@ public void OnImport()
329
333
#if DEBUG
330
334
}
331
335
#endif
332
-
336
+
333
337
bool autoSaveEnabled = AzureSession . Instance . ARMContextSaveMode == ContextSaveMode . CurrentUser ;
334
338
var autosaveVariable = System . Environment . GetEnvironmentVariable ( AzureProfileConstants . AzureAutosaveVariable ) ;
335
339
bool localAutosave ;
0 commit comments