@@ -114,7 +114,7 @@ protected IEnumerable<PolicyStatusDetailed> GetPolicyStatusesDetailed(string res
114
114
foreach ( var gcPolicySetDefinition in gcPolicySetDefinitions )
115
115
{
116
116
var gcAssignmentReports = GetPolicyStatusesDetailedByInitiativeId ( resourceGroupName , vmName , gcPolicySetDefinition . Id , gcrpAssignments ) ;
117
- if ( gcAssignmentReports != null || gcAssignmentReports . Count ( ) > 0 )
117
+ if ( gcAssignmentReports != null && gcAssignmentReports . Count ( ) > 0 )
118
118
{
119
119
gcPolicyAssignmentReportList . AddRange ( gcAssignmentReports ) ;
120
120
}
@@ -183,34 +183,37 @@ protected IEnumerable<PolicyStatusDetailed> GetPolicyStatusesDetailedByInitiativ
183
183
var gcPolicyAssignments = GetPolicyStatuses ( resourceGroupName , vmName , gcrpAssignments , initiativeName ) ;
184
184
var gcPolicyAssignmentReportList = new List < PolicyStatusDetailed > ( ) ;
185
185
186
- var gcPolicyAssignmentsArray = gcPolicyAssignments . ToArray ( ) ;
187
-
188
- // Sort assignments by policy display name
189
- Array . Sort ( gcPolicyAssignmentsArray , ( first , second ) =>
186
+ if ( gcPolicyAssignments . Count ( ) > 0 )
190
187
{
191
- return string . Compare ( first . PolicyDisplayName , second . PolicyDisplayName , true ) ;
192
- } ) ;
188
+ var gcPolicyAssignmentsArray = gcPolicyAssignments . ToArray ( ) ;
193
189
194
- foreach ( var gcPolicyAssignment in gcPolicyAssignmentsArray )
195
- {
196
- var reportGuid = CommonHelpers . GetReportGUIDFromID ( gcPolicyAssignment . LatestReportId ) ;
197
- GuestConfigurationAssignmentReport gcrpReport = null ;
198
- if ( gcPolicyAssignment . LatestReportId != null )
190
+ // Sort assignments by policy display name
191
+ Array . Sort ( gcPolicyAssignmentsArray , ( first , second ) =>
199
192
{
200
- gcrpReport = GuestConfigurationClient . GuestConfigurationAssignmentReports . Get ( resourceGroupName , gcPolicyAssignment . Configuration . Name , reportGuid , vmName ) ;
201
- }
193
+ return string . Compare ( first . PolicyDisplayName , second . PolicyDisplayName , true ) ;
194
+ } ) ;
202
195
203
- PolicyStatusDetailed policyDetailed = new PolicyStatusDetailed ( gcrpReport , gcPolicyAssignment ) ;
204
- QueryOptions queryOptions = new QueryOptions ( ) ;
205
- queryOptions . Filter = string . Format ( "resourceGroup eq '{0}' and policyDefinitionAction eq 'deployifnotexists' and contains(ResourceId,'{1}')" , resourceGroupName , vmName ) ;
206
- queryOptions . OrderBy = "Timestamp desc" ;
207
- queryOptions . Top = 1 ;
208
- PolicyStatesQueryResults policyDbResults = PolicyInsightsClient . PolicyStates . ListQueryResultsForPolicySetDefinition ( "latest" , DefaultContext . Subscription . Id , gcPolicyAssignment . PolicySetDefinitionName , queryOptions ) ;
209
- if ( policyDbResults . Odatacount > 0 && policyDbResults . Value [ 0 ] . ComplianceState == "NonCompliant" )
196
+ foreach ( var gcPolicyAssignment in gcPolicyAssignmentsArray )
210
197
{
211
- policyDetailed . ComplianceStatus = policyDbResults . Value [ 0 ] . ComplianceState ;
198
+ var reportGuid = CommonHelpers . GetReportGUIDFromID ( gcPolicyAssignment . LatestReportId ) ;
199
+ GuestConfigurationAssignmentReport gcrpReport = null ;
200
+ if ( gcPolicyAssignment . LatestReportId != null )
201
+ {
202
+ gcrpReport = GuestConfigurationClient . GuestConfigurationAssignmentReports . Get ( resourceGroupName , gcPolicyAssignment . Configuration . Name , reportGuid , vmName ) ;
203
+ }
204
+
205
+ PolicyStatusDetailed policyDetailed = new PolicyStatusDetailed ( gcrpReport , gcPolicyAssignment ) ;
206
+ QueryOptions queryOptions = new QueryOptions ( ) ;
207
+ queryOptions . Filter = string . Format ( "resourceGroup eq '{0}' and policyDefinitionAction eq 'deployifnotexists' and contains(ResourceId,'{1}')" , resourceGroupName , vmName ) ;
208
+ queryOptions . OrderBy = "Timestamp desc" ;
209
+ queryOptions . Top = 1 ;
210
+ PolicyStatesQueryResults policyDbResults = PolicyInsightsClient . PolicyStates . ListQueryResultsForPolicySetDefinition ( "latest" , DefaultContext . Subscription . Id , gcPolicyAssignment . PolicySetDefinitionName , queryOptions ) ;
211
+ if ( policyDbResults . Odatacount > 0 && policyDbResults . Value [ 0 ] . ComplianceState == "NonCompliant" )
212
+ {
213
+ policyDetailed . ComplianceStatus = policyDbResults . Value [ 0 ] . ComplianceState ;
214
+ }
215
+ gcPolicyAssignmentReportList . Add ( policyDetailed ) ;
212
216
}
213
- gcPolicyAssignmentReportList . Add ( policyDetailed ) ;
214
217
}
215
218
216
219
return gcPolicyAssignmentReportList ;
0 commit comments