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