@@ -18,6 +18,14 @@ function Push-CIPPDBCacheData {
1818 try {
1919 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message ' Starting database cache collection for tenant' - sev Info
2020
21+ # Check tenant capabilities for license-specific features
22+ $IntuneCapable = Test-CIPPStandardLicense - StandardName ' IntuneLicenseCheck' - TenantFilter $TenantFilter - RequiredCapabilities @ (' INTUNE_A' , ' MDM_Services' , ' EMS' , ' SCCM' , ' MICROSOFTINTUNEPLAN1' ) - SkipLog
23+ $ConditionalAccessCapable = Test-CIPPStandardLicense - StandardName ' ConditionalAccessLicenseCheck' - TenantFilter $TenantFilter - RequiredCapabilities @ (' AAD_PREMIUM' , ' AAD_PREMIUM_P2' ) - SkipLog
24+ $AzureADPremiumP2Capable = Test-CIPPStandardLicense - StandardName ' AzureADPremiumP2LicenseCheck' - TenantFilter $TenantFilter - RequiredCapabilities @ (' AAD_PREMIUM_P2' ) - SkipLog
25+
26+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " License capabilities - Intune: $IntuneCapable , Conditional Access: $ConditionalAccessCapable , Azure AD Premium P2: $AzureADPremiumP2Capable " - sev Info
27+
28+ # region All Licenses - Basic tenant data collection
2129 Write-Host ' Getting cache for Users'
2230 try { Set-CIPPDBCacheUsers - TenantFilter $TenantFilter } catch {
2331 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " Users collection failed: $ ( $_.Exception.Message ) " - sev Error
@@ -48,11 +56,6 @@ function Push-CIPPDBCacheData {
4856 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " Devices collection failed: $ ( $_.Exception.Message ) " - sev Error
4957 }
5058
51- Write-Host ' Getting cache for ManagedDevices'
52- try { Set-CIPPDBCacheManagedDevices - TenantFilter $TenantFilter } catch {
53- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ManagedDevices collection failed: $ ( $_.Exception.Message ) " - sev Error
54- }
55-
5659 Write-Host ' Getting cache for Organization'
5760 try { Set-CIPPDBCacheOrganization - TenantFilter $TenantFilter } catch {
5861 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " Organization collection failed: $ ( $_.Exception.Message ) " - sev Error
@@ -108,16 +111,6 @@ function Push-CIPPDBCacheData {
108111 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " SecureScore collection failed: $ ( $_.Exception.Message ) " - sev Error
109112 }
110113
111- Write-Host ' Getting cache for IntunePolicies'
112- try { Set-CIPPDBCacheIntunePolicies - TenantFilter $TenantFilter } catch {
113- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " IntunePolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
114- }
115-
116- Write-Host ' Getting cache for ConditionalAccessPolicies'
117- try { Set-CIPPDBCacheConditionalAccessPolicies - TenantFilter $TenantFilter } catch {
118- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ConditionalAccessPolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
119- }
120-
121114 Write-Host ' Getting cache for PIMSettings'
122115 try { Set-CIPPDBCachePIMSettings - TenantFilter $TenantFilter } catch {
123116 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " PIMSettings collection failed: $ ( $_.Exception.Message ) " - sev Error
@@ -153,26 +146,6 @@ function Push-CIPPDBCacheData {
153146 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " AuthenticationFlowsPolicy collection failed: $ ( $_.Exception.Message ) " - sev Error
154147 }
155148
156- Write-Host ' Getting cache for RiskyUsers'
157- try { Set-CIPPDBCacheRiskyUsers - TenantFilter $TenantFilter } catch {
158- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskyUsers collection failed: $ ( $_.Exception.Message ) " - sev Error
159- }
160-
161- Write-Host ' Getting cache for RiskyServicePrincipals'
162- try { Set-CIPPDBCacheRiskyServicePrincipals - TenantFilter $TenantFilter } catch {
163- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskyServicePrincipals collection failed: $ ( $_.Exception.Message ) " - sev Error
164- }
165-
166- Write-Host ' Getting cache for ServicePrincipalRiskDetections'
167- try { Set-CIPPDBCacheServicePrincipalRiskDetections - TenantFilter $TenantFilter } catch {
168- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ServicePrincipalRiskDetections collection failed: $ ( $_.Exception.Message ) " - sev Error
169- }
170-
171- Write-Host ' Getting cache for RiskDetections'
172- try { Set-CIPPDBCacheRiskDetections - TenantFilter $TenantFilter } catch {
173- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskDetections collection failed: $ ( $_.Exception.Message ) " - sev Error
174- }
175-
176149 Write-Host ' Getting cache for DeviceRegistrationPolicy'
177150 try { Set-CIPPDBCacheDeviceRegistrationPolicy - TenantFilter $TenantFilter } catch {
178151 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " DeviceRegistrationPolicy collection failed: $ ( $_.Exception.Message ) " - sev Error
@@ -188,11 +161,6 @@ function Push-CIPPDBCacheData {
188161 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " UserRegistrationDetails collection failed: $ ( $_.Exception.Message ) " - sev Error
189162 }
190163
191- Write-Host ' Getting cache for ManagedDeviceEncryptionStates'
192- try { Set-CIPPDBCacheManagedDeviceEncryptionStates - TenantFilter $TenantFilter } catch {
193- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ManagedDeviceEncryptionStates collection failed: $ ( $_.Exception.Message ) " - sev Error
194- }
195-
196164 Write-Host ' Getting cache for OAuth2PermissionGrants'
197165 try { Set-CIPPDBCacheOAuth2PermissionGrants - TenantFilter $TenantFilter } catch {
198166 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " OAuth2PermissionGrants collection failed: $ ( $_.Exception.Message ) " - sev Error
@@ -242,11 +210,70 @@ function Push-CIPPDBCacheData {
242210 try { Set-CIPPDBCacheExoAcceptedDomains - TenantFilter $TenantFilter } catch {
243211 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ExoAcceptedDomains collection failed: $ ( $_.Exception.Message ) " - sev Error
244212 }
245-
246- Write-Host ' Getting cache for IntuneAppProtectionPolicies'
247- try { Set-CIPPDBCacheIntuneAppProtectionPolicies - TenantFilter $TenantFilter } catch {
248- Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " IntuneAppProtectionPolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
249- }
213+ # endregion All Licenses
214+
215+ # region Conditional Access Licensed - Azure AD Premium features
216+ if ($ConditionalAccessCapable ) {
217+ Write-Host ' Getting cache for ConditionalAccessPolicies'
218+ try { Set-CIPPDBCacheConditionalAccessPolicies - TenantFilter $TenantFilter } catch {
219+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ConditionalAccessPolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
220+ }
221+ } else {
222+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message ' Skipping Conditional Access data collection - tenant does not have required license' - sev Info
223+ }
224+ # endregion Conditional Access Licensed
225+
226+ # region Azure AD Premium P2 - Identity Protection features
227+ if ($AzureADPremiumP2Capable ) {
228+ Write-Host ' Getting cache for RiskyUsers'
229+ try { Set-CIPPDBCacheRiskyUsers - TenantFilter $TenantFilter } catch {
230+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskyUsers collection failed: $ ( $_.Exception.Message ) " - sev Error
231+ }
232+
233+ Write-Host ' Getting cache for RiskyServicePrincipals'
234+ try { Set-CIPPDBCacheRiskyServicePrincipals - TenantFilter $TenantFilter } catch {
235+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskyServicePrincipals collection failed: $ ( $_.Exception.Message ) " - sev Error
236+ }
237+
238+ Write-Host ' Getting cache for ServicePrincipalRiskDetections'
239+ try { Set-CIPPDBCacheServicePrincipalRiskDetections - TenantFilter $TenantFilter } catch {
240+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ServicePrincipalRiskDetections collection failed: $ ( $_.Exception.Message ) " - sev Error
241+ }
242+
243+ Write-Host ' Getting cache for RiskDetections'
244+ try { Set-CIPPDBCacheRiskDetections - TenantFilter $TenantFilter } catch {
245+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " RiskDetections collection failed: $ ( $_.Exception.Message ) " - sev Error
246+ }
247+ } else {
248+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message ' Skipping Azure AD Premium P2 Identity Protection data collection - tenant does not have required license' - sev Info
249+ }
250+ # endregion Azure AD Premium P2
251+
252+ # region Intune Licensed - Intune management features
253+ if ($IntuneCapable ) {
254+ Write-Host ' Getting cache for ManagedDevices'
255+ try { Set-CIPPDBCacheManagedDevices - TenantFilter $TenantFilter } catch {
256+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ManagedDevices collection failed: $ ( $_.Exception.Message ) " - sev Error
257+ }
258+
259+ Write-Host ' Getting cache for IntunePolicies'
260+ try { Set-CIPPDBCacheIntunePolicies - TenantFilter $TenantFilter } catch {
261+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " IntunePolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
262+ }
263+
264+ Write-Host ' Getting cache for ManagedDeviceEncryptionStates'
265+ try { Set-CIPPDBCacheManagedDeviceEncryptionStates - TenantFilter $TenantFilter } catch {
266+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " ManagedDeviceEncryptionStates collection failed: $ ( $_.Exception.Message ) " - sev Error
267+ }
268+
269+ Write-Host ' Getting cache for IntuneAppProtectionPolicies'
270+ try { Set-CIPPDBCacheIntuneAppProtectionPolicies - TenantFilter $TenantFilter } catch {
271+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message " IntuneAppProtectionPolicies collection failed: $ ( $_.Exception.Message ) " - sev Error
272+ }
273+ } else {
274+ Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message ' Skipping Intune data collection - tenant does not have required license' - sev Info
275+ }
276+ # endregion Intune Licensed
250277
251278 Write-LogMessage - API ' CIPPDBCache' - tenant $TenantFilter - message ' Completed database cache collection for tenant' - sev Info
252279
0 commit comments