DscResources/SecurityCompliance/SecurityCompliance.schema.psm1
# (2024-11-14 01:27:49) Generated using Microsoft365DSC v1.24.1113.1 Configuration 'SecurityCompliance' { param ( [Parameter(Mandatory = $true)] [System.String] $ApplicationId, [Parameter(Mandatory = $true)] [System.String] $TenantId, [Parameter(Mandatory = $true)] [System.String] $CertificateThumbprint ) Import-DscResource -ModuleName Microsoft365DSC foreach ($AuditConfigurationPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.AuditConfigurationPolicies) { $resourceTitle = 'SCAuditConfigurationPolicy-{0}' -f $AuditConfigurationPolicy.Workload $parameters = $AuditConfigurationPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCAuditConfigurationPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($AutoSensitivityLabelPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.AutoSensitivityLabelPolicies) { $resourceTitle = 'SCAutoSensitivityLabelPolicy-{0}' -f $AutoSensitivityLabelPolicy.Name $parameters = $AutoSensitivityLabelPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.SensitivityLabels.Name | ForEach-Object { "[SCSensitivityLabel]SCSensitivityLabel-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCAutoSensitivityLabelPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($AutoSensitivityLabelRule in $ConfigurationData.NonNodeData.SecurityCompliance.AutoSensitivityLabelRules) { $resourceTitle = 'SCAutoSensitivityLabelRule-{0}-{1}' -f $AutoSensitivityLabelRule.Name,$AutoSensitivityLabelRule.Workload $parameters = $AutoSensitivityLabelRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('ContentContainsSensitiveInformation')) { $parameters.ContentContainsSensitiveInformation = $parameters.ContentContainsSensitiveInformation | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Groups')) { $_.Groups = $_.Groups | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Labels')) { $_.Labels = $_.Labels | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPLabel' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformationGroup' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('ExceptIfContentContainsSensitiveInformation')) { $parameters.ExceptIfContentContainsSensitiveInformation = $parameters.ExceptIfContentContainsSensitiveInformation | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Groups')) { $_.Groups = $_.Groups | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Labels')) { $_.Labels = $_.Labels | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPLabel' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformationGroup' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('HeaderMatchesPatterns')) { $parameters.HeaderMatchesPatterns = $parameters.HeaderMatchesPatterns | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCHeaderPattern' -Properties $_ -NoInvoke).Invoke($_) } } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.AutoSensitivityLabelPolicies.Name | ForEach-Object { "[SCAutoSensitivityLabelPolicy]SCAutoSensitivityLabelPolicy-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCAutoSensitivityLabelRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($CaseHoldPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.CaseHoldPolicies) { $resourceTitle = 'SCCaseHoldPolicy-{0}-{1}' -f $CaseHoldPolicy.Name,$CaseHoldPolicy.Case $parameters = $CaseHoldPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.ComplianceCases.Name | ForEach-Object { "[SCComplianceCase]SCComplianceCase-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCCaseHoldPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($CaseHoldRule in $ConfigurationData.NonNodeData.SecurityCompliance.CaseHoldRules) { $resourceTitle = 'SCCaseHoldRule-{0}-{1}' -f $CaseHoldRule.Name,$CaseHoldRule.Policy $parameters = $CaseHoldRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.CaseHoldPolicies | ForEach-Object { "[SCCaseHoldPolicy]SCCaseHoldPolicy-{0}-{1}" -f $_.Name,$_.Case } (Get-DscSplattedResource -ResourceName 'SCCaseHoldRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($ComplianceCase in $ConfigurationData.NonNodeData.SecurityCompliance.ComplianceCases) { $resourceTitle = 'SCComplianceCase-{0}' -f $ComplianceCase.Name $parameters = $ComplianceCase $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCComplianceCase' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($ComplianceSearch in $ConfigurationData.NonNodeData.SecurityCompliance.ComplianceSearchs) { $resourceTitle = 'SCComplianceSearch-{0}' -f $ComplianceSearch.Name $parameters = $ComplianceSearch $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCComplianceSearch' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($ComplianceSearchAction in $ConfigurationData.NonNodeData.SecurityCompliance.ComplianceSearchActions) { $resourceTitle = 'SCComplianceSearchAction-{0}-{1}' -f $ComplianceSearchAction.Action,$ComplianceSearchAction.SearchName $parameters = $ComplianceSearchAction $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCComplianceSearchAction' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($ComplianceTag in $ConfigurationData.NonNodeData.SecurityCompliance.ComplianceTags) { $resourceTitle = 'SCComplianceTag-{0}' -f $ComplianceTag.Name $parameters = $ComplianceTag $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('FilePlanProperty')) { $parameters.FilePlanProperty = $parameters.FilePlanProperty | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCFilePlanProperty' -Properties $_ -NoInvoke).Invoke($_) } } (Get-DscSplattedResource -ResourceName 'SCComplianceTag' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DeviceConditionalAccessPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.DeviceConditionalAccessPolicies) { $resourceTitle = 'SCDeviceConditionalAccessPolicy-{0}' -f $DeviceConditionalAccessPolicy.Name $parameters = $DeviceConditionalAccessPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCDeviceConditionalAccessPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DeviceConditionalAccessRule in $ConfigurationData.NonNodeData.SecurityCompliance.DeviceConditionalAccessRules) { $resourceTitle = 'SCDeviceConditionalAccessRule-{0}' -f $DeviceConditionalAccessRule.Name $parameters = $DeviceConditionalAccessRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCDeviceConditionalAccessRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DeviceConfigurationPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.DeviceConfigurationPolicies) { $resourceTitle = 'SCDeviceConfigurationPolicy-{0}' -f $DeviceConfigurationPolicy.Name $parameters = $DeviceConfigurationPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCDeviceConfigurationPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DeviceConfigurationRule in $ConfigurationData.NonNodeData.SecurityCompliance.DeviceConfigurationRules) { $resourceTitle = 'SCDeviceConfigurationRule-{0}' -f $DeviceConfigurationRule.Name $parameters = $DeviceConfigurationRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCDeviceConfigurationRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DLPCompliancePolicy in $ConfigurationData.NonNodeData.SecurityCompliance.DLPCompliancePolicies) { $resourceTitle = 'SCDLPCompliancePolicy-{0}' -f $DLPCompliancePolicy.Name $parameters = $DLPCompliancePolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCDLPCompliancePolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($DLPComplianceRule in $ConfigurationData.NonNodeData.SecurityCompliance.DLPComplianceRules) { $resourceTitle = 'SCDLPComplianceRule-{0}' -f $DLPComplianceRule.Name $parameters = $DLPComplianceRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('ContentContainsSensitiveInformation')) { $parameters.ContentContainsSensitiveInformation = $parameters.ContentContainsSensitiveInformation | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Groups')) { $_.Groups = $_.Groups | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Labels')) { $_.Labels = $_.Labels | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPLabel' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformationGroup' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('ExceptIfContentContainsSensitiveInformation')) { $parameters.ExceptIfContentContainsSensitiveInformation = $parameters.ExceptIfContentContainsSensitiveInformation | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Groups')) { $_.Groups = $_.Groups | ForEach-Object { if ($_.ContainsKey('SensitiveInformation')) { $_.SensitiveInformation = $_.SensitiveInformation | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('Labels')) { $_.Labels = $_.Labels | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPLabel' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformationGroup' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCDLPContainsSensitiveInformation' -Properties $_ -NoInvoke).Invoke($_) } } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.DLPCompliancePolicies.Name | ForEach-Object { "[SCDLPCompliancePolicy]SCDLPCompliancePolicy-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCDLPComplianceRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertyAuthority in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyAuthorities) { $resourceTitle = 'SCFilePlanPropertyAuthority-{0}' -f $FilePlanPropertyAuthority.Name $parameters = $FilePlanPropertyAuthority $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertyAuthority' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertyCategory in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyCategories) { $resourceTitle = 'SCFilePlanPropertyCategory-{0}' -f $FilePlanPropertyCategory.Name $parameters = $FilePlanPropertyCategory $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertyCategory' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertyCitation in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyCitations) { $resourceTitle = 'SCFilePlanPropertyCitation-{0}' -f $FilePlanPropertyCitation.Name $parameters = $FilePlanPropertyCitation $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertyCitation' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertyDepartment in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyDepartments) { $resourceTitle = 'SCFilePlanPropertyDepartment-{0}' -f $FilePlanPropertyDepartment.Name $parameters = $FilePlanPropertyDepartment $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertyDepartment' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertyReferenceId in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyReferenceIds) { $resourceTitle = 'SCFilePlanPropertyReferenceId-{0}' -f $FilePlanPropertyReferenceId.Name $parameters = $FilePlanPropertyReferenceId $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertyReferenceId' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($FilePlanPropertySubCategory in $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertySubCategories) { $resourceTitle = 'SCFilePlanPropertySubCategory-{0}' -f $FilePlanPropertySubCategory.Name $parameters = $FilePlanPropertySubCategory $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.FilePlanPropertyCategories.Name | ForEach-Object { "[SCFilePlanPropertyCategory]SCFilePlanPropertyCategory-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCFilePlanPropertySubCategory' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($InsiderRiskEntityList in $ConfigurationData.NonNodeData.SecurityCompliance.InsiderRiskEntityLists) { $resourceTitle = 'SCInsiderRiskEntityList-{0}' -f $InsiderRiskEntityList.Name $parameters = $InsiderRiskEntityList $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('Domains')) { $parameters.Domains = $parameters.Domains | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCInsiderRiskEntityListDomain' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('Sites')) { $parameters.Sites = $parameters.Sites | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCInsiderRiskEntityListSite' -Properties $_ -NoInvoke).Invoke($_) } } (Get-DscSplattedResource -ResourceName 'SCInsiderRiskEntityList' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($InsiderRiskPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.InsiderRiskPolicies) { $resourceTitle = 'SCInsiderRiskPolicy-{0}-{1}' -f $InsiderRiskPolicy.Name,$InsiderRiskPolicy.InsiderRiskScenario $parameters = $InsiderRiskPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCInsiderRiskPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($LabelPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.LabelPolicies) { $resourceTitle = 'SCLabelPolicy-{0}' -f $LabelPolicy.Name $parameters = $LabelPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('AdvancedSettings')) { $parameters.AdvancedSettings = $parameters.AdvancedSettings | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCLabelSetting' -Properties $_ -NoInvoke).Invoke($_) } } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.SensitivityLabels.Name | ForEach-Object { "[SCSensitivityLabel]SCSensitivityLabel-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCLabelPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } if ($ConfigurationData.NonNodeData.SecurityCompliance.ContainsKey('PolicyConfig')) { $resourceTitle = 'PolicyConfigDefaults' $parameters = $ConfigurationData.NonNodeData.SecurityCompliance.PolicyConfig $parameters.IsSingleInstance = 'Yes' $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('BusinessJustificationList')) { $parameters.BusinessJustificationList = $parameters.BusinessJustificationList | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigBusinessJustificationList' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('DLPAppGroups')) { $parameters.DLPAppGroups = $parameters.DLPAppGroups | ForEach-Object { if ($_.ContainsKey('Apps')) { $_.Apps = $_.Apps | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPApp' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPAppGroups' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('DLPNetworkShareGroups')) { $parameters.DLPNetworkShareGroups = $parameters.DLPNetworkShareGroups | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPNetworkShareGroups' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('DLPPrinterGroups')) { $parameters.DLPPrinterGroups = $parameters.DLPPrinterGroups | ForEach-Object { if ($_.ContainsKey('printers')) { $_.printers = $_.printers | ForEach-Object { if ($_.ContainsKey('ipRange')) { $_.ipRange = $_.ipRange | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigIPRange' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigPrinter' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPPrinterGroups' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('DLPRemovableMediaGroups')) { $parameters.DLPRemovableMediaGroups = $parameters.DLPRemovableMediaGroups | ForEach-Object { if ($_.ContainsKey('removableMedia')) { $_.removableMedia = $_.removableMedia | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigRemovableMedia' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPRemovableMediaGroups' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('EvidenceStoreSettings')) { $parameters.EvidenceStoreSettings = $parameters.EvidenceStoreSettings | ForEach-Object { if ($_.ContainsKey('StorageAccounts')) { $_.StorageAccounts = $_.StorageAccounts | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigStorageAccount' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigEvidenceStoreSettings' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('SiteGroups')) { $parameters.SiteGroups = $parameters.SiteGroups | ForEach-Object { if ($_.ContainsKey('addresses')) { $_.addresses = $_.addresses | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigSiteGroupAddress' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigDLPSiteGroups' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('UnallowedApp')) { $parameters.UnallowedApp = $parameters.UnallowedApp | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigApp' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('UnallowedCloudSyncApp')) { $parameters.UnallowedCloudSyncApp = $parameters.UnallowedCloudSyncApp | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigApp' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('UnallowedBluetoothApp')) { $parameters.UnallowedBluetoothApp = $parameters.UnallowedBluetoothApp | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigApp' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('UnallowedBrowser')) { $parameters.UnallowedBrowser = $parameters.UnallowedBrowser | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigApp' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('QuarantineParameters')) { $parameters.QuarantineParameters = $parameters.QuarantineParameters | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_PolicyConfigQuarantineParameters' -Properties $_ -NoInvoke).Invoke($_) } } (Get-DscSplattedResource -ResourceName 'SCPolicyConfig' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($ProtectionAlert in $ConfigurationData.NonNodeData.SecurityCompliance.ProtectionAlerts) { $resourceTitle = 'SCProtectionAlert-{0}' -f $ProtectionAlert.Name $parameters = $ProtectionAlert $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCProtectionAlert' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } if ($ConfigurationData.NonNodeData.SecurityCompliance.ContainsKey('RecordReviewNotificationTemplateConfig')) { $resourceTitle = 'RecordReviewNotificationTemplateConfigDefaults' $parameters = $ConfigurationData.NonNodeData.SecurityCompliance.RecordReviewNotificationTemplateConfig $parameters.IsSingleInstance = 'Yes' $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCRecordReviewNotificationTemplateConfig' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($RetentionCompliancePolicy in $ConfigurationData.NonNodeData.SecurityCompliance.RetentionCompliancePolicies) { $resourceTitle = 'SCRetentionCompliancePolicy-{0}' -f $RetentionCompliancePolicy.Name $parameters = $RetentionCompliancePolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCRetentionCompliancePolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($RetentionComplianceRule in $ConfigurationData.NonNodeData.SecurityCompliance.RetentionComplianceRules) { $resourceTitle = 'SCRetentionComplianceRule-{0}' -f $RetentionComplianceRule.Name $parameters = $RetentionComplianceRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.RetentionCompliancePolicies.Name | ForEach-Object { "[SCRetentionCompliancePolicy]SCRetentionCompliancePolicy-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCRetentionComplianceRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($RetentionEventType in $ConfigurationData.NonNodeData.SecurityCompliance.RetentionEventTypes) { $resourceTitle = 'SCRetentionEventType-{0}' -f $RetentionEventType.Name $parameters = $RetentionEventType $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCRetentionEventType' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($RoleGroup in $ConfigurationData.NonNodeData.SecurityCompliance.RoleGroups) { $resourceTitle = 'SCRoleGroup-{0}' -f $RoleGroup.Name $parameters = $RoleGroup $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCRoleGroup' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($RoleGroupMember in $ConfigurationData.NonNodeData.SecurityCompliance.RoleGroupMembers) { $resourceTitle = 'SCRoleGroupMember-{0}' -f $RoleGroupMember.Name $parameters = $RoleGroupMember $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCRoleGroupMember' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($SecurityFilter in $ConfigurationData.NonNodeData.SecurityCompliance.SecurityFilters) { $resourceTitle = 'SCSecurityFilter-{0}' -f $SecurityFilter.FilterName $parameters = $SecurityFilter $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCSecurityFilter' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($SensitivityLabel in $ConfigurationData.NonNodeData.SecurityCompliance.SensitivityLabels) { $resourceTitle = 'SCSensitivityLabel-{0}' -f $SensitivityLabel.Name $parameters = $SensitivityLabel $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } if ($parameters.ContainsKey('AdvancedSettings')) { $parameters.AdvancedSettings = $parameters.AdvancedSettings | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCLabelSetting' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('LocaleSettings')) { $parameters.LocaleSettings = $parameters.LocaleSettings | ForEach-Object { if ($_.ContainsKey('LabelSettings')) { $_.LabelSettings = $_.LabelSettings | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCLabelSetting' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCLabelLocaleSettings' -Properties $_ -NoInvoke).Invoke($_) } } if ($parameters.ContainsKey('AutoLabelingSettings')) { $parameters.AutoLabelingSettings = $parameters.AutoLabelingSettings | ForEach-Object { if ($_.ContainsKey('Groups')) { $_.Groups = $_.Groups | ForEach-Object { if ($_.ContainsKey('SensitiveInformationType')) { $_.SensitiveInformationType = $_.SensitiveInformationType | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCSLSensitiveInformationType' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('TrainableClassifier')) { $_.TrainableClassifier = $_.TrainableClassifier | ForEach-Object { if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCSLTrainableClassifiers' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCSLSensitiveInformationGroup' -Properties $_ -NoInvoke).Invoke($_) } } if ($_.ContainsKey('UniqueId')) { $_.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'MSFT_SCSLAutoLabelingSettings' -Properties $_ -NoInvoke).Invoke($_) } } (Get-DscSplattedResource -ResourceName 'SCSensitivityLabel' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($SupervisoryReviewPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.SupervisoryReviewPolicies) { $resourceTitle = 'SCSupervisoryReviewPolicy-{0}' -f $SupervisoryReviewPolicy.Name $parameters = $SupervisoryReviewPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCSupervisoryReviewPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($SupervisoryReviewRule in $ConfigurationData.NonNodeData.SecurityCompliance.SupervisoryReviewRules) { $resourceTitle = 'SCSupervisoryReviewRule-{0}-{1}' -f $SupervisoryReviewRule.Name,$SupervisoryReviewRule.Policy $parameters = $SupervisoryReviewRule $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } $parameters.DependsOn = $ConfigurationData.NonNodeData.SecurityCompliance.SupervisoryReviewPolicies.Name | ForEach-Object { "[SCSupervisoryReviewPolicy]SCSupervisoryReviewPolicy-{0}" -f $_ } (Get-DscSplattedResource -ResourceName 'SCSupervisoryReviewRule' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } foreach ($UnifiedAuditLogRetentionPolicy in $ConfigurationData.NonNodeData.SecurityCompliance.UnifiedAuditLogRetentionPolicies) { $resourceTitle = 'SCUnifiedAuditLogRetentionPolicy-{0}' -f $UnifiedAuditLogRetentionPolicy.Name $parameters = $UnifiedAuditLogRetentionPolicy $parameters.ApplicationId = $ApplicationId $parameters.TenantId = $TenantId $parameters.CertificateThumbprint = $CertificateThumbprint if ($parameters.ContainsKey('UniqueId')) { $parameters.Remove('UniqueId') } (Get-DscSplattedResource -ResourceName 'SCUnifiedAuditLogRetentionPolicy' -ExecutionName $resourceTitle -Properties $parameters -NoInvoke).Invoke($parameters) } } |