diff --git a/CHANGELOG.md b/CHANGELOG.md index ecec49722f..ac9945c302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change log for Microsoft365DSC +# UNRELEASED + +* IntuneAntivirusPolicyWindows10SettingCatalog + * Update properties to be upper-case. + Fixes [#5373](https://github.com/microsoft/Microsoft365DSC/issues/5373) +* M365DSCDRGUtil + * Restrict CIM instance access to properties that appear multiple times. + # 1.24.1106.3 * AzureBillingAccountScheduledAction diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.psm1 index 79cd8949f8..b4835676ce 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.psm1 @@ -19,151 +19,156 @@ function Get-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowarchivescanning, + $AllowArchiveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowbehaviormonitoring, + $AllowBehaviorMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowcloudprotection, + $AllowCloudProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowdatagramprocessingonwinserver, + $AllowDatagramProcessingOnWinServer, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowemailscanning, + $AllowEmailScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanonmappednetworkdrives, + $AllowFullScanOnMappedNetworkDrives, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanremovabledrivescanning, + $AllowFullScanRemovableDriveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowintrusionpreventionsystem, + $AllowIntrusionPreventionSystem, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowioavprotection, + $AllowIOAVProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allownetworkprotectiondownlevel, + $AllowNetworkProtectionDownLevel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowrealtimemonitoring, + $AllowOnAccessProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscanningnetworkfiles, + $AllowRealtimeMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscriptscanning, + $AllowScanningNetworkFiles, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowuseruiaccess, + $AllowScriptScanning, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowUserUIAccess, [Parameter()] [System.int32] - $avgcpuloadfactor, + $AvgCPULoadFactor, [Parameter()] [System.Int32] - $archivemaxdepth, + $ArchiveMaxDepth, [Parameter()] [System.Int32] - $archivemaxsize, + $ArchiveMaxSize, [Parameter()] [ValidateSet('0', '1')] [System.String] - $checkforsignaturesbeforerunningscan, + $CheckForSignaturesBeforeRunningScan, [Parameter()] [ValidateSet('0', '2', '4', '6')] [System.String] - $cloudblocklevel, + $CloudBlockLevel, [Parameter()] [System.Int32] - $cloudextendedtimeout, + $CloudExtendedTimeout, [Parameter()] [System.String] - $companyname, + $CompanyName, [Parameter()] [System.Int32] - $daystoretaincleanedmalware, + $DaysToRetainCleanedMalware, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableaccountprotectionui, + $DisableAccountProtectionUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableappbrowserui, + $DisableAppBrowserUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecleartpmbutton, + $DisableClearTpmButton, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabledevicesecurityui, + $DisableDeviceSecurityUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablednsovertcpparsing, + $DisableDnsOverTcpParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableenhancednotifications, + $DisableEnhancedNotifications, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablefamilyui, + $DisableFamilyUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehealthui, + $DisableHealthUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehttpparsing, + $DisableHttpParsing, [Parameter()] [ValidateSet('1', '0')] @@ -173,203 +178,208 @@ function Get-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablenetworkui, + $DisableNetworkUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletpmfirmwareupdatewarning, + $DisableTpmFirmwareUpdateWarning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablevirusui, + $DisableVirusUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupfullscan, + $DisableCatchupFullScan, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupquickscan, + $DisableCatchupQuickScan, [Parameter()] + [ValidateSet('0', '1')] [System.String] - $email, + $DisableCoreServiceECSIntegration, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablecustomizedtoasts, + $DisableCoreServiceTelemetry, + + [Parameter()] + [System.String] + $Email, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enableinappcustomization, + $EnableCustomizedToasts, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablelowcpupriority, + $EnableInAppCustomization, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $EnableLowCPUPriority, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $enablenetworkprotection, + $EnableNetworkProtection, [Parameter()] [System.String[]] - $excludedextensions, + $ExcludedExtensions, [Parameter()] [System.String[]] - $excludedpaths, + $ExcludedPaths, [Parameter()] [System.String[]] - $excludedprocesses, + $ExcludedProcesses, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hideransomwaredatarecovery, + $HideRansomwareDataRecovery, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hidewindowssecuritynotificationareacontrol, + $HideWindowsSecurityNotificationAreaControl, [Parameter()] [System.String] - $phone, + $Phone, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $puaprotection, + $PUAProtection, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $engineupdateschannel, + $EngineUpdatesChannel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $meteredconnectionupdates, + $MeteredConnectionUpdates, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $platformupdateschannel, + $PlatformUpdatesChannel, [Parameter()] [ValidateSet('0', '4', '5')] [System.String] - $securityintelligenceupdateschannel, + $SecurityIntelligenceUpdatesChannel, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $realtimescandirection, + $RealTimeScanDirection, [Parameter()] [ValidateSet('1', '2')] [System.String] - $scanparameter, + $ScanParameter, [Parameter()] [System.Int32] - $schedulequickscantime, + $ScheduleQuickScanTime, [Parameter()] [ValidateSet('0', '1', '2', '3', '4', '5', '6', '7', '8')] [System.String] - $schedulescanday, + $ScheduleScanDay, [Parameter()] [ValidateRange(0, 1380)] [System.Int32] - $schedulescantime, + $ScheduleScanTime, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletlsparsing, + $DisableTlsParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $randomizescheduletasktimes, + $RandomizeScheduleTaskTimes, [Parameter()] [ValidateRange(1,23)] [System.Int32] - $schedulerrandomizationtime, + $SchedulerRandomizationTime, [Parameter()] [System.String[]] - $signatureupdatefallbackorder, + $SignatureUpdateFallbackOrder, [Parameter()] [System.String[]] - $signatureupdatefilesharessources, + $SignatureUpdateFileSharesSources, [Parameter()] [ValidateRange(0, 24)] [System.Int32] - $signatureupdateinterval, + $SignatureUpdateInterval, [Parameter()] [ValidateSet('0', '1', '2', '3')] [System.String] - $submitsamplesconsent, + $SubmitSamplesConsent, [Parameter()] [ValidateSet('0', '1')] [System.String] - $tamperprotection, - - [Parameter()] - [System.String] - $url, + $TamperProtection, [Parameter()] - [ValidateSet('0', '1')] [System.String] - $disablelocaladminmerge, + $URL, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowonaccessprotection, + $DisableLocalAdminMerge, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $lowseveritythreats, + $LowSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $moderateseveritythreats, + $ModerateSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $severethreats, + $SevereThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $highseveritythreats, + $HighSeverityThreats, [Parameter()] [ValidateSet('d948ff9b-99cb-4ee0-8012-1fbc09685377_1', 'e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1', '45fea5e9-280d-4da1-9792-fb5736da0ca9_1', '804339ad-1553-4478-a742-138fb5807418_1')] [System.String] - $templateId, + $TemplateId, [Parameter()] [Microsoft.Management.Infrastructure.CimInstance[]] @@ -473,7 +483,28 @@ function Get-TargetResource $returnHashtable.Add('Identity', $Identity) $returnHashtable.Add('DisplayName', $policy.name) $returnHashtable.Add('Description', $policy.description) - $returnHashtable.Add('templateId', $policy.templateReference.templateId) + $returnHashtable.Add('TemplateId', $policy.templateReference.TemplateId) + + if ($null -ne $policySettings.SevereThreatDefaultAction) + { + $returnHashtable.Add('SevereThreats', $policySettings.SevereThreatDefaultAction) + $policySettings.Remove('SevereThreatDefaultAction') + } + if ($null -ne $policySettings.HighSeverityThreatDefaultAction) + { + $returnHashtable.Add('HighSeverityThreats', $policySettings.HighSeverityThreatDefaultAction) + $policySettings.Remove('HighSeverityThreatDefaultAction') + } + if ($null -ne $policySettings.ModerateSeverityThreatDefaultAction) + { + $returnHashtable.Add('ModerateSeverityThreats', $policySettings.ModerateSeverityThreatDefaultAction) + $policySettings.Remove('ModerateSeverityThreatDefaultAction') + } + if ($null -ne $policySettings.LowSeverityThreatDefaultAction) + { + $returnHashtable.Add('LowSeverityThreats', $policySettings.LowSeverityThreatDefaultAction) + $policySettings.Remove('LowSeverityThreatDefaultAction') + } $returnHashtable += $policySettings $returnAssignments = @() @@ -530,151 +561,156 @@ function Set-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowarchivescanning, + $AllowArchiveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowbehaviormonitoring, + $AllowBehaviorMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowcloudprotection, + $AllowCloudProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowdatagramprocessingonwinserver, + $AllowDatagramProcessingOnWinServer, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowemailscanning, + $AllowEmailScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanonmappednetworkdrives, + $AllowFullScanOnMappedNetworkDrives, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanremovabledrivescanning, + $AllowFullScanRemovableDriveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowintrusionpreventionsystem, + $AllowIntrusionPreventionSystem, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowioavprotection, + $AllowIOAVProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allownetworkprotectiondownlevel, + $AllowNetworkProtectionDownLevel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowrealtimemonitoring, + $AllowOnAccessProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscanningnetworkfiles, + $AllowRealtimeMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscriptscanning, + $AllowScanningNetworkFiles, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowuseruiaccess, + $AllowScriptScanning, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowUserUIAccess, [Parameter()] [System.int32] - $avgcpuloadfactor, + $AvgCPULoadFactor, [Parameter()] [System.Int32] - $archivemaxdepth, + $ArchiveMaxDepth, [Parameter()] [System.Int32] - $archivemaxsize, + $ArchiveMaxSize, [Parameter()] [ValidateSet('0', '1')] [System.String] - $checkforsignaturesbeforerunningscan, + $CheckForSignaturesBeforeRunningScan, [Parameter()] [ValidateSet('0', '2', '4', '6')] [System.String] - $cloudblocklevel, + $CloudBlockLevel, [Parameter()] [System.Int32] - $cloudextendedtimeout, + $CloudExtendedTimeout, [Parameter()] [System.String] - $companyname, + $CompanyName, [Parameter()] [System.Int32] - $daystoretaincleanedmalware, + $DaysToRetainCleanedMalware, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableaccountprotectionui, + $DisableAccountProtectionUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableappbrowserui, + $DisableAppBrowserUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecleartpmbutton, + $DisableClearTpmButton, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabledevicesecurityui, + $DisableDeviceSecurityUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablednsovertcpparsing, + $DisableDnsOverTcpParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableenhancednotifications, + $DisableEnhancedNotifications, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablefamilyui, + $DisableFamilyUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehealthui, + $DisableHealthUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehttpparsing, + $DisableHttpParsing, [Parameter()] [ValidateSet('1', '0')] @@ -684,203 +720,208 @@ function Set-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablenetworkui, + $DisableNetworkUI, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisableTpmFirmwareUpdateWarning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletpmfirmwareupdatewarning, + $DisableVirusUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablevirusui, + $DisableCatchupFullScan, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupfullscan, + $DisableCatchupQuickScan, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupquickscan, + $DisableCoreServiceECSIntegration, [Parameter()] + [ValidateSet('0', '1')] [System.String] - $email, + $DisableCoreServiceTelemetry, + + [Parameter()] + [System.String] + $Email, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablecustomizedtoasts, + $EnableCustomizedToasts, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enableinappcustomization, + $EnableInAppCustomization, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablelowcpupriority, + $EnableLowCPUPriority, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $enablenetworkprotection, + $EnableNetworkProtection, [Parameter()] [System.String[]] - $excludedextensions, + $ExcludedExtensions, [Parameter()] [System.String[]] - $excludedpaths, + $ExcludedPaths, [Parameter()] [System.String[]] - $excludedprocesses, + $ExcludedProcesses, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hideransomwaredatarecovery, + $HideRansomwareDataRecovery, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hidewindowssecuritynotificationareacontrol, + $HideWindowsSecurityNotificationAreaControl, [Parameter()] [System.String] - $phone, + $Phone, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $puaprotection, + $PUAProtection, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $engineupdateschannel, + $EngineUpdatesChannel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $meteredconnectionupdates, + $MeteredConnectionUpdates, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $platformupdateschannel, + $PlatformUpdatesChannel, [Parameter()] [ValidateSet('0', '4', '5')] [System.String] - $securityintelligenceupdateschannel, + $SecurityIntelligenceUpdatesChannel, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $realtimescandirection, + $RealTimeScanDirection, [Parameter()] [ValidateSet('1', '2')] [System.String] - $scanparameter, + $ScanParameter, [Parameter()] [System.Int32] - $schedulequickscantime, + $ScheduleQuickScanTime, [Parameter()] [ValidateSet('0', '1', '2', '3', '4', '5', '6', '7', '8')] [System.String] - $schedulescanday, + $ScheduleScanDay, [Parameter()] [ValidateRange(0, 1380)] [System.Int32] - $schedulescantime, + $ScheduleScanTime, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletlsparsing, + $DisableTlsParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $randomizescheduletasktimes, + $RandomizeScheduleTaskTimes, [Parameter()] [ValidateRange(1,23)] [System.Int32] - $schedulerrandomizationtime, + $SchedulerRandomizationTime, [Parameter()] [System.String[]] - $signatureupdatefallbackorder, + $SignatureUpdateFallbackOrder, [Parameter()] [System.String[]] - $signatureupdatefilesharessources, + $SignatureUpdateFileSharesSources, [Parameter()] [ValidateRange(0, 24)] [System.Int32] - $signatureupdateinterval, + $SignatureUpdateInterval, [Parameter()] [ValidateSet('0', '1', '2', '3')] [System.String] - $submitsamplesconsent, + $SubmitSamplesConsent, [Parameter()] [ValidateSet('0', '1')] [System.String] - $tamperprotection, + $TamperProtection, [Parameter()] [System.String] - $url, + $URL, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablelocaladminmerge, - - [Parameter()] - [ValidateSet('0', '1')] - [System.String] - $allowonaccessprotection, + $DisableLocalAdminMerge, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $lowseveritythreats, + $LowSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $moderateseveritythreats, + $ModerateSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $severethreats, + $SevereThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $highseveritythreats, + $HighSeverityThreats, [Parameter()] [ValidateSet('d948ff9b-99cb-4ee0-8012-1fbc09685377_1', 'e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1', '45fea5e9-280d-4da1-9792-fb5736da0ca9_1', '804339ad-1553-4478-a742-138fb5807418_1')] [System.String] - $templateId, + $TemplateId, [Parameter()] [Microsoft.Management.Infrastructure.CimInstance[]] @@ -938,7 +979,28 @@ function Set-TargetResource $currentPolicy = Get-TargetResource @PSBoundParameters $BoundParameters = Remove-M365DSCAuthenticationParameter -BoundParameters $PSBoundParameters - $templateReferenceId = $templateId + if ($BoundParameters.ContainsKey('SevereThreats')) + { + $BoundParameters.Add('SevereThreatDefaultAction', $BoundParameters['SevereThreats']) + $BoundParameters.Remove('SevereThreats') + } + if ($BoundParameters.ContainsKey('HighSeverityThreats')) + { + $BoundParameters.Add('HighSeverityThreatDefaultAction', $BoundParameters['HighSeverityThreats']) + $BoundParameters.Remove('HighSeverityThreats') + } + if ($BoundParameters.ContainsKey('ModerateSeverityThreats')) + { + $BoundParameters.Add('ModerateSeverityThreatDefaultAction', $BoundParameters['ModerateSeverityThreats']) + $BoundParameters.Remove('ModerateSeverityThreats') + } + if ($BoundParameters.ContainsKey('LowSeverityThreats')) + { + $BoundParameters.Add('LowSeverityThreatDefaultAction', $BoundParameters['LowSeverityThreats']) + $BoundParameters.Remove('LowSeverityThreats') + } + + $templateReferenceId = $TemplateId $platforms = 'windows10' $technologies = 'mdm,microsoftSense' @@ -976,6 +1038,7 @@ function Set-TargetResource Write-Verbose -Message "Updating existing Endpoint Protection Policy {$($currentPolicy.DisplayName)}" $BoundParameters.Remove('Identity') | Out-Null $BoundParameters.Remove('Assignments') | Out-Null + $BoundParameters.Remove('TemplateId') | Out-Null $settings = Get-IntuneSettingCatalogPolicySetting ` -DSCParams ([System.Collections.Hashtable]$BoundParameters) ` @@ -1024,151 +1087,156 @@ function Test-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowarchivescanning, + $AllowArchiveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowbehaviormonitoring, + $AllowBehaviorMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowcloudprotection, + $AllowCloudProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowdatagramprocessingonwinserver, + $AllowDatagramProcessingOnWinServer, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowemailscanning, + $AllowEmailScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanonmappednetworkdrives, + $AllowFullScanOnMappedNetworkDrives, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowfullscanremovabledrivescanning, + $AllowFullScanRemovableDriveScanning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowintrusionpreventionsystem, + $AllowIntrusionPreventionSystem, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowioavprotection, + $AllowIOAVProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allownetworkprotectiondownlevel, + $AllowNetworkProtectionDownLevel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowrealtimemonitoring, + $AllowOnAccessProtection, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscanningnetworkfiles, + $AllowRealtimeMonitoring, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowscriptscanning, + $AllowScanningNetworkFiles, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowuseruiaccess, + $AllowScriptScanning, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $AllowUserUIAccess, [Parameter()] [System.int32] - $avgcpuloadfactor, + $AvgCPULoadFactor, [Parameter()] [System.Int32] - $archivemaxdepth, + $ArchiveMaxDepth, [Parameter()] [System.Int32] - $archivemaxsize, + $ArchiveMaxSize, [Parameter()] [ValidateSet('0', '1')] [System.String] - $checkforsignaturesbeforerunningscan, + $CheckForSignaturesBeforeRunningScan, [Parameter()] [ValidateSet('0', '2', '4', '6')] [System.String] - $cloudblocklevel, + $CloudBlockLevel, [Parameter()] [System.Int32] - $cloudextendedtimeout, + $CloudExtendedTimeout, [Parameter()] [System.String] - $companyname, + $CompanyName, [Parameter()] [System.Int32] - $daystoretaincleanedmalware, + $DaysToRetainCleanedMalware, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableaccountprotectionui, + $DisableAccountProtectionUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableappbrowserui, + $DisableAppBrowserUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecleartpmbutton, + $DisableClearTpmButton, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabledevicesecurityui, + $DisableDeviceSecurityUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablednsovertcpparsing, + $DisableDnsOverTcpParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disableenhancednotifications, + $DisableEnhancedNotifications, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablefamilyui, + $DisableFamilyUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehealthui, + $DisableHealthUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablehttpparsing, + $DisableHttpParsing, [Parameter()] [ValidateSet('1', '0')] @@ -1178,203 +1246,208 @@ function Test-TargetResource [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablenetworkui, + $DisableNetworkUI, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisableTpmFirmwareUpdateWarning, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletpmfirmwareupdatewarning, + $DisableVirusUI, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablevirusui, + $DisableCatchupFullScan, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupfullscan, + $DisableCatchupQuickScan, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disablecatchupquickscan, + $DisableCoreServiceECSIntegration, + + [Parameter()] + [ValidateSet('0', '1')] + [System.String] + $DisableCoreServiceTelemetry, [Parameter()] [System.String] - $email, + $Email, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablecustomizedtoasts, + $EnableCustomizedToasts, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enableinappcustomization, + $EnableInAppCustomization, [Parameter()] [ValidateSet('0', '1')] [System.String] - $enablelowcpupriority, + $EnableLowCPUPriority, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $enablenetworkprotection, + $EnableNetworkProtection, [Parameter()] [System.String[]] - $excludedextensions, + $ExcludedExtensions, [Parameter()] [System.String[]] - $excludedpaths, + $ExcludedPaths, [Parameter()] [System.String[]] - $excludedprocesses, + $ExcludedProcesses, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hideransomwaredatarecovery, + $HideRansomwareDataRecovery, [Parameter()] [ValidateSet('0', '1')] [System.String] - $hidewindowssecuritynotificationareacontrol, + $HideWindowsSecurityNotificationAreaControl, [Parameter()] [System.String] - $phone, + $Phone, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $puaprotection, + $PUAProtection, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $engineupdateschannel, + $EngineUpdatesChannel, [Parameter()] [ValidateSet('0', '1')] [System.String] - $meteredconnectionupdates, + $MeteredConnectionUpdates, [Parameter()] [ValidateSet('0', '2', '3', '4', '5', '6')] [System.String] - $platformupdateschannel, + $PlatformUpdatesChannel, [Parameter()] [ValidateSet('0', '4', '5')] [System.String] - $securityintelligenceupdateschannel, + $SecurityIntelligenceUpdatesChannel, [Parameter()] [ValidateSet('0', '1', '2')] [System.String] - $realtimescandirection, + $RealTimeScanDirection, [Parameter()] [ValidateSet('1', '2')] [System.String] - $scanparameter, + $ScanParameter, [Parameter()] [System.Int32] - $schedulequickscantime, + $ScheduleQuickScanTime, [Parameter()] [ValidateSet('0', '1', '2', '3', '4', '5', '6', '7', '8')] [System.String] - $schedulescanday, + $ScheduleScanDay, [Parameter()] [ValidateRange(0, 1380)] [System.Int32] - $schedulescantime, + $ScheduleScanTime, [Parameter()] [ValidateSet('0', '1')] [System.String] - $disabletlsparsing, + $DisableTlsParsing, [Parameter()] [ValidateSet('0', '1')] [System.String] - $randomizescheduletasktimes, + $RandomizeScheduleTaskTimes, [Parameter()] [ValidateRange(1,23)] [System.Int32] - $schedulerrandomizationtime, + $SchedulerRandomizationTime, [Parameter()] [System.String[]] - $signatureupdatefallbackorder, + $SignatureUpdateFallbackOrder, [Parameter()] [System.String[]] - $signatureupdatefilesharessources, + $SignatureUpdateFileSharesSources, [Parameter()] [ValidateRange(0, 24)] [System.Int32] - $signatureupdateinterval, + $SignatureUpdateInterval, [Parameter()] [ValidateSet('0', '1', '2', '3')] [System.String] - $submitsamplesconsent, + $SubmitSamplesConsent, [Parameter()] [ValidateSet('0', '1')] [System.String] - $tamperprotection, + $TamperProtection, [Parameter()] [System.String] - $url, - - [Parameter()] - [ValidateSet('0', '1')] - [System.String] - $disablelocaladminmerge, + $URL, [Parameter()] [ValidateSet('0', '1')] [System.String] - $allowonaccessprotection, + $DisableLocalAdminMerge, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $lowseveritythreats, + $LowSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $moderateseveritythreats, + $ModerateSeverityThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $severethreats, + $SevereThreats, [Parameter()] [ValidateSet('clean', 'quarantine', 'remove', 'allow', 'userdefined', 'block')] [System.String] - $highseveritythreats, + $HighSeverityThreats, [Parameter()] [ValidateSet('d948ff9b-99cb-4ee0-8012-1fbc09685377_1', 'e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1', '45fea5e9-280d-4da1-9792-fb5736da0ca9_1', '804339ad-1553-4478-a742-138fb5807418_1')] [System.String] - $templateId, + $TemplateId, [Parameter()] [Microsoft.Management.Infrastructure.CimInstance[]] diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.schema.mof index da964ec534..c41a78c5df 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog/MSFT_IntuneAntivirusPolicyWindows10SettingCatalog.schema.mof @@ -15,80 +15,82 @@ class MSFT_IntuneAntivirusPolicyWindows10SettingCatalog : OMI_BaseResource [Key, Description("Display name of the endpoint protection policy for Windows 10.")] String DisplayName; [Write, Description("Identity of the endpoint protection policy for Windows 10.")] String Identity; [Write, Description("Description of the endpoint protection policy for Windows 10.")] String Description; - [Write, Description("Allows or disallows scanning of archives. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String tamperprotection; - [Write, Description("Use this policy setting to specify if to display the Account protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disableaccountprotectionui; - [Write, Description("Use this policy setting if you want to disable the display of the app and browser protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disableappbrowserui; - [Write, Description("Disable the Clear TPM button in Windows Security. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablecleartpmbutton; - [Write, Description("Use this policy setting if you want to disable the display of the Device security area in the Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disabledevicesecurityui; - [Write, Description("Use this policy setting if you want to disable the display of the family options area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablefamilyui; - [Write, Description("Use this policy setting if you want to disable the display of the device performance and health area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablehealthui; - [Write, Description("Use this policy setting if you want to disable the display of the firewall and network protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablenetworkui; - [Write, Description("Use this policy setting if you want to disable the display of Windows Defender Security Center notifications. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disableenhancednotifications; - [Write, Description("Hide the recommendation to update TPM Firmware when a vulnerable firmware is detected. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disabletpmfirmwareupdatewarning; - [Write, Description("Use this policy setting if you want to disable the display of the virus and threat protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablevirusui; - [Write, Description("Use this policy setting to hide the Ransomware data recovery area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String hideransomwaredatarecovery; - [Write, Description("This policy setting hides the Windows Security notification area control. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String hidewindowssecuritynotificationareacontrol; - [Write, Description("Enable this policy to display your company name and contact options in the notifications. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String enablecustomizedtoasts; - [Write, Description("Enable this policy to have your company name and contact options displayed in a contact card fly out in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String enableinappcustomization; - [Write, Description("The company name that is displayed to the users. CompanyName is required for both EnableCustomizedToasts and EnableInAppCustomization.")] String companyname; - [Write, Description("The email address that is displayed to users. The default mail application is used to initiate email actions.")] String email; - [Write, Description("The phone number or Skype ID that is displayed to users. Skype is used to initiate the call.")] String phone; - [Write, Description("The help portal URL that is displayed to users. The default browser is used to initiate this action.")] String url; - [Write, Description("Allows or disallows scanning of archives. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowarchivescanning; - [Write, Description("Allows or disallows Windows Defender Behavior Monitoring functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowbehaviormonitoring; - [Write, Description("To best protect your PC, Windows Defender will send information to Microsoft about any problems it finds. Microsoft will analyze that information, learn more about problems affecting you and other customers, and offer improved solutions. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowcloudprotection; - [Write, Description("Allows or disallows Network Protection to enable datagram processing on Windows Server. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowdatagramprocessingonwinserver; - [Write, Description("Allows or disallows scanning of email. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowemailscanning; - [Write, Description("Allows or disallows a full scan of mapped network drives. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowfullscanonmappednetworkdrives; - [Write, Description("Allows or disallows a full scan of removable drives. During a quick scan, removable drives may still be scanned. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowfullscanremovabledrivescanning; - [Write, Description("https://github.com/MicrosoftDocs/memdocs/issues/2250 (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowintrusionpreventionsystem; - [Write, Description("Allows or disallows Windows Defender IOAVP Protection functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowioavprotection; - [Write, Description("Allows or disallows Network Protection to be configured into block or audit mode on windows downlevel of RS3. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allownetworkprotectiondownlevel; - [Write, Description("Allows or disallows Windows Defender real-time Monitoring functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowrealtimemonitoring; - [Write, Description("Allows or disallows a scanning of network files. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowscanningnetworkfiles; - [Write, Description("Allows or disallows Windows Defender Script Scanning functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowscriptscanning; - [Write, Description("Allows or disallows user access to the Windows Defender UI. I disallowed, all Windows Defender notifications will also be suppressed. (0: Prevents users from accessing UI. 1: Lets users access UI)"), ValueMap{"0","1"}, Values{"0","1"}] String allowuseruiaccess; - [Write, Description("Represents the average CPU load factor for the Windows Defender scan (in percent).")] sInt32 avgcpuloadfactor; - [Write, Description("Specify the maximum folder depth to extract from archive files for scanning.")] sInt32 archivemaxdepth; - [Write, Description("Specify the maximum size, in KB, of archive files to be extracted and scanned.")] sInt32 archivemaxsize; - [Write, Description("This policy setting allows you to manage whether a check for new virus and spyware definitions will occur before running a scan. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String checkforsignaturesbeforerunningscan; - [Write, Description("This policy setting determines how aggressive Microsoft Defender Antivirus will be in blocking and scanning suspicious files. Value type is integer.(0: Default windows defender blocking level, 2: High blocking level, 4:High+ blocking level, 6:Zero tolerance blocking level)"), ValueMap{"0","2","4","6"}, Values{"0","2","4","6"}] String cloudblocklevel; - [Write, Description("This feature allows Microsoft Defender Antivirus to block a suspicious file for up to 60 seconds, and scan it in the cloud to make sure it's safe. Value type is integer, range is 0 - 50.")] sInt32 cloudextendedtimeout; - [Write, Description("Time period (in days) that quarantine items will be stored on the system.")] sInt32 daystoretaincleanedmalware; - [Write, Description("This policy setting allows you to configure catch-up scans for scheduled full scans. (1: disabled, 0: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String disablecatchupfullscan; - [Write, Description("This policy setting allows you to configure catch-up scans for scheduled quick scans. (1: disabled, 0: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String disablecatchupquickscan; - [Write, Description("Disables or enables DNS over TCP Parsing for Network Protection. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablednsovertcpparsing; - [Write, Description("Disables or enables HTTP Parsing for Network Protection. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String disablehttpparsing; + [Write, Description("Allows or disallows scanning of archives. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String TamperProtection; + [Write, Description("Use this policy setting to specify if to display the Account protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableAccountProtectionUI; + [Write, Description("Use this policy setting if you want to disable the display of the app and browser protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableAppBrowserUI; + [Write, Description("Disable the Clear TPM button in Windows Security. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableClearTpmButton; + [Write, Description("Use this policy setting if you want to disable the display of the Device security area in the Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableDeviceSecurityUI; + [Write, Description("Use this policy setting if you want to disable the display of the family options area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableFamilyUI; + [Write, Description("Use this policy setting if you want to disable the display of the device performance and health area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableHealthUI; + [Write, Description("Use this policy setting if you want to disable the display of the firewall and network protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableNetworkUI; + [Write, Description("Use this policy setting if you want to disable the display of Windows Defender Security Center notifications. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableEnhancedNotifications; + [Write, Description("Hide the recommendation to update TPM Firmware when a vulnerable firmware is detected. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableTpmFirmwareUpdateWarning; + [Write, Description("Use this policy setting if you want to disable the display of the virus and threat protection area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableVirusUI; + [Write, Description("Use this policy setting to hide the Ransomware data recovery area in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String HideRansomwareDataRecovery; + [Write, Description("This policy setting hides the Windows Security notification area control. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String HideWindowsSecurityNotificationAreaControl; + [Write, Description("Enable this policy to display your company name and contact options in the notifications. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String EnableCustomizedToasts; + [Write, Description("Enable this policy to have your company name and contact options displayed in a contact card fly out in Windows Defender Security Center. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String EnableInAppCustomization; + [Write, Description("The company name that is displayed to the users. CompanyName is required for both EnableCustomizedToasts and EnableInAppCustomization.")] String CompanyName; + [Write, Description("The email address that is displayed to users. The default mail application is used to initiate email actions.")] String Email; + [Write, Description("The phone number or Skype ID that is displayed to users. Skype is used to initiate the call.")] String Phone; + [Write, Description("The help portal URL that is displayed to users. The default browser is used to initiate this action.")] String URL; + [Write, Description("Allows or disallows scanning of archives. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowArchiveScanning; + [Write, Description("Allows or disallows Windows Defender Behavior Monitoring functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowBehaviorMonitoring; + [Write, Description("To best protect your PC, Windows Defender will send information to Microsoft about any problems it finds. Microsoft will analyze that information, learn more about problems affecting you and other customers, and offer improved solutions. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowCloudProtection; + [Write, Description("Allows or disallows Network Protection to enable datagram processing on Windows Server. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowDatagramProcessingOnWinServer; + [Write, Description("Allows or disallows scanning of email. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowEmailScanning; + [Write, Description("Allows or disallows a full scan of mapped network drives. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowFullScanOnMappedNetworkDrives; + [Write, Description("Allows or disallows a full scan of removable drives. During a quick scan, removable drives may still be scanned. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowFullScanRemovableDriveScanning; + [Write, Description("https://github.com/MicrosoftDocs/memdocs/issues/2250 (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowIntrusionPreventionSystem; + [Write, Description("Allows or disallows Windows Defender IOAVP Protection functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowIOAVProtection; + [Write, Description("Allows or disallows Network Protection to be configured into block or audit mode on windows downlevel of RS3. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowNetworkProtectionDownLevel; + [Write, Description("Allows or disallows Windows Defender real-time Monitoring functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowRealtimeMonitoring; + [Write, Description("Allows or disallows a scanning of network files. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowScanningNetworkFiles; + [Write, Description("Allows or disallows Windows Defender Script Scanning functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowScriptScanning; + [Write, Description("Allows or disallows user access to the Windows Defender UI. I disallowed, all Windows Defender notifications will also be suppressed. (0: Prevents users from accessing UI. 1: Lets users access UI)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowUserUIAccess; + [Write, Description("Represents the average CPU load factor for the Windows Defender scan (in percent).")] sInt32 AvgCPULoadFactor; + [Write, Description("Specify the maximum folder depth to extract from archive files for scanning.")] sInt32 ArchiveMaxDepth; + [Write, Description("Specify the maximum size, in KB, of archive files to be extracted and scanned.")] sInt32 ArchiveMaxSize; + [Write, Description("This policy setting allows you to manage whether a check for new virus and spyware definitions will occur before running a scan. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String CheckForSignaturesBeforeRunningScan; + [Write, Description("This policy setting determines how aggressive Microsoft Defender Antivirus will be in blocking and scanning suspicious files. Value type is integer.(0: Default windows defender blocking level, 2: High blocking level, 4:High+ blocking level, 6:Zero tolerance blocking level)"), ValueMap{"0","2","4","6"}, Values{"0","2","4","6"}] String CloudBlockLevel; + [Write, Description("This feature allows Microsoft Defender Antivirus to block a suspicious file for up to 60 seconds, and scan it in the cloud to make sure it's safe. Value type is integer, range is 0 - 50.")] sInt32 CloudExtendedTimeout; + [Write, Description("Time period (in days) that quarantine items will be stored on the system.")] sInt32 DaysToRetainCleanedMalware; + [Write, Description("This policy setting allows you to configure catch-up scans for scheduled full scans. (1: disabled, 0: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableCatchupFullScan; + [Write, Description("This policy setting allows you to configure catch-up scans for scheduled quick scans. (1: disabled, 0: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableCatchupQuickScan; + [Write, Description("Disable Core Service ECS Integration. (0: disabled, 1: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableCoreServiceECSIntegration; + [Write, Description("Disable Core Service Telemetry. (1: disabled, 0: enabled)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableCoreServiceTelemetry; + [Write, Description("Disables or enables DNS over TCP Parsing for Network Protection. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableDnsOverTcpParsing; + [Write, Description("Disables or enables HTTP Parsing for Network Protection. (0: enable feature. 1: disable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableHttpParsing; [Write, Description("Disable Ssh Parsing (1: SSH parsing is disabled, 0: SSH parsing is enabled)"), ValueMap{"1", "0"}, Values{"1", "0"}] String DisableSshParsing; - [Write, Description("This policy setting allows you to enable or disable low CPU priority for scheduled scans. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String enablelowcpupriority; - [Write, Description("This policy allows you to turn on network protection (block/audit) or off. (0: disabled, 1: block mode, 2: audit mode)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String enablenetworkprotection; - [Write, Description("Allows an administrator to specify a list of file type extensions to ignore during a scan.")] String excludedextensions[]; - [Write, Description("Allows an administrator to specify a list of directory paths to ignore during a scan.")] String excludedpaths[]; - [Write, Description("Allows an administrator to specify a list of files opened by processes to ignore during a scan.")] String excludedprocesses[]; - [Write, Description("Specifies the level of detection for potentially unwanted applications (PUAs). (0: disabled, 1: block mode, 2: audit mode)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String puaprotection; - [Write, Description("Enable this policy to specify when devices receive Microsoft Defender engine updates during the monthly gradual rollout. (0: Not configured, 2: Beta Channel, 3: Current Channel (Preview), 4: Current Channel (Staged), 5: Current Channel (Broad), 6: Critical)"), ValueMap{"0", "2", "3", "4", "5", "6"}, Values{"0", "2", "3", "4", "5", "6"}] String engineupdateschannel; - [Write, Description("Allow managed devices to update through metered connections. (0: disabled, 1: enabled)")] String meteredconnectionupdates; - [Write, Description("Enable this policy to specify when devices receive Microsoft Defender platform updates during the monthly gradual rollout. (0: Not configured, 2: Beta Channel, 3: Current Channel (Preview), 4: Current Channel (Staged), 5: Current Channel (Broad), 6: Critical)"), ValueMap{"0", "2", "3", "4", "5", "6"}, Values{"0", "2", "3", "4", "5", "6"}] String platformupdateschannel; - [Write, Description("Enable this policy to specify when devices receive Microsoft Defender security intelligence updates during the daily gradual rollout. (0: Not configured, 4: Current Channel (Staged), 5: Current Channel (Broad))"), ValueMap{"0", "4", "5"}, Values{"0", "4", "5"}] String securityintelligenceupdateschannel; - [Write, Description("Controls which sets of files should be monitored. (0: Monitor all files (bi-directional), 1: Monitor incoming files, 2: Monitor outgoing files)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String realtimescandirection; - [Write, Description("Selects whether to perform a quick scan or full scan. (1: Quick scan, 2: Full scan)"), ValueMap{"1","2"}, Values{"1","2"}] String scanparameter; - [Write, Description("Selects the time of day that the Windows Defender quick scan should run.")] sInt32 schedulequickscantime; - [Write, Description("Selects the day that the Windows Defender scan should run. (0: Every day, 1: Sunday, 2: Monday, 3: Tuesday, 4: Wednesday, 5: Thursday, 6: Friday, 7: Saturday, 8: No scheduled scan)"), ValueMap{"0","1","2","3","4","5","6","7","8"}, Values{"0","1","2","3","4","5","6","7","8"}] String schedulescanday; - [Write, Description("Selects the time of day that the Windows Defender scan should run. Must be between 0 and 1380 minutes.")] sInt32 schedulescantime; - [Write, Description("This setting disables TLS Parsing for Network Protection. (0: enabled, 1: disabled)"), ValueMap{"0","1"}, Values{"0","1"}] String disabletlsparsing; - [Write, Description("Specifies if the start time of the scan is randomized. (0: no randomization, 1: randomized)"), ValueMap{"0","1"}, Values{"0","1"}] String randomizescheduletasktimes; - [Write, Description("This setting allows you to configure the scheduler randomization in hours. The randomization interval is [1 - 23] hours.")] sInt32 schedulerrandomizationtime; - [Write, Description("This policy setting allows you to define the order in which different definition update sources should be contacted.")] String signatureupdatefallbackorder[]; - [Write, Description("This policy setting allows you to configure UNC file share sources for downloading definition updates.")] String signatureupdatefilesharessources[]; - [Write, Description("Specifies the interval (in hours) that will be used to check for signatures, so instead of using the ScheduleDay and ScheduleTime the check for new signatures will be set according to the interval. Must be between 0 and 24 hours.")] sInt32 signatureupdateinterval; - [Write, Description("Checks for the user consent level in Windows Defender to send data. (0: Always prompt, 1: Send safe samples automatically, 2: Never send, 3: Send all samples automatically)"), ValueMap{"0","1","2","3"}, Values{"0","1","2","3"}] String submitsamplesconsent; - [Write, Description("This policy setting controls whether or not complex list settings configured by a local administrator are merged with managed settings. (0: enable local admin merge, 1: disable local admin merge)"), ValueMap{"0","1"}, Values{"0","1"}] String disablelocaladminmerge; - [Write, Description("Allows or disallows Windows Defender On Access Protection functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String allowonaccessprotection; - [Write, Description("Allows an administrator to specify low severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String lowseveritythreats; - [Write, Description("Allows an administrator to specify moderate severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String moderateseveritythreats; - [Write, Description("Allows an administrator to specify high severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String severethreats; - [Write, Description("Allows an administrator to specify severe threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String highseveritythreats; - [Write, Description("Template Id of the policy. 0: Windows Security Experience, 1: Defender Update controls, 2: Microsoft Defender Antivirus exclusions, 3: Microsoft Defender Antivirus"),ValueMap{"d948ff9b-99cb-4ee0-8012-1fbc09685377_1", "e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1", "45fea5e9-280d-4da1-9792-fb5736da0ca9_1","804339ad-1553-4478-a742-138fb5807418_1"}, Values{"d948ff9b-99cb-4ee0-8012-1fbc09685377_1", "e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1", "45fea5e9-280d-4da1-9792-fb5736da0ca9_1","804339ad-1553-4478-a742-138fb5807418_1"}] String templateId; + [Write, Description("This policy setting allows you to enable or disable low CPU priority for scheduled scans. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String EnableLowCPUPriority; + [Write, Description("This policy allows you to turn on network protection (block/audit) or off. (0: disabled, 1: block mode, 2: audit mode)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String EnableNetworkProtection; + [Write, Description("Allows an administrator to specify a list of file type extensions to ignore during a scan.")] String ExcludedExtensions[]; + [Write, Description("Allows an administrator to specify a list of directory paths to ignore during a scan.")] String ExcludedPaths[]; + [Write, Description("Allows an administrator to specify a list of files opened by processes to ignore during a scan.")] String ExcludedProcesses[]; + [Write, Description("Specifies the level of detection for potentially unwanted applications (PUAs). (0: disabled, 1: block mode, 2: audit mode)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String PUAProtection; + [Write, Description("Enable this policy to specify when devices receive Microsoft Defender engine updates during the monthly gradual rollout. (0: Not configured, 2: Beta Channel, 3: Current Channel (Preview), 4: Current Channel (Staged), 5: Current Channel (Broad), 6: Critical)"), ValueMap{"0", "2", "3", "4", "5", "6"}, Values{"0", "2", "3", "4", "5", "6"}] String EngineUpdatesChannel; + [Write, Description("Allow managed devices to update through metered connections. (0: disabled, 1: enabled)")] String MeteredConnectionUpdates; + [Write, Description("Enable this policy to specify when devices receive Microsoft Defender platform updates during the monthly gradual rollout. (0: Not configured, 2: Beta Channel, 3: Current Channel (Preview), 4: Current Channel (Staged), 5: Current Channel (Broad), 6: Critical)"), ValueMap{"0", "2", "3", "4", "5", "6"}, Values{"0", "2", "3", "4", "5", "6"}] String PlatformUpdatesChannel; + [Write, Description("Enable this policy to specify when devices receive Microsoft Defender security intelligence updates during the daily gradual rollout. (0: Not configured, 4: Current Channel (Staged), 5: Current Channel (Broad))"), ValueMap{"0", "4", "5"}, Values{"0", "4", "5"}] String SecurityIntelligenceUpdatesChannel; + [Write, Description("Controls which sets of files should be monitored. (0: Monitor all files (bi-directional), 1: Monitor incoming files, 2: Monitor outgoing files)"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] String RealTimeScanDirection; + [Write, Description("Selects whether to perform a quick scan or full scan. (1: Quick scan, 2: Full scan)"), ValueMap{"1","2"}, Values{"1","2"}] String ScanParameter; + [Write, Description("Selects the time of day that the Windows Defender quick scan should run.")] sInt32 ScheduleQuickScanTime; + [Write, Description("Selects the day that the Windows Defender scan should run. (0: Every day, 1: Sunday, 2: Monday, 3: Tuesday, 4: Wednesday, 5: Thursday, 6: Friday, 7: Saturday, 8: No scheduled scan)"), ValueMap{"0","1","2","3","4","5","6","7","8"}, Values{"0","1","2","3","4","5","6","7","8"}] String ScheduleScanDay; + [Write, Description("Selects the time of day that the Windows Defender scan should run. Must be between 0 and 1380 minutes.")] sInt32 ScheduleScanTime; + [Write, Description("This setting disables TLS Parsing for Network Protection. (0: enabled, 1: disabled)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableTlsParsing; + [Write, Description("Specifies if the start time of the scan is randomized. (0: no randomization, 1: randomized)"), ValueMap{"0","1"}, Values{"0","1"}] String RandomizeScheduleTaskTimes; + [Write, Description("This setting allows you to configure the scheduler randomization in hours. The randomization interval is [1 - 23] hours.")] sInt32 SchedulerRandomizationTime; + [Write, Description("This policy setting allows you to define the order in which different definition update sources should be contacted.")] String SignatureUpdateFallbackOrder[]; + [Write, Description("This policy setting allows you to configure UNC file share sources for downloading definition updates.")] String SignatureUpdateFileSharesSources[]; + [Write, Description("Specifies the interval (in hours) that will be used to check for signatures, so instead of using the ScheduleDay and ScheduleTime the check for new signatures will be set according to the interval. Must be between 0 and 24 hours.")] sInt32 SignatureUpdateInterval; + [Write, Description("Checks for the user consent level in Windows Defender to send data. (0: Always prompt, 1: Send safe samples automatically, 2: Never send, 3: Send all samples automatically)"), ValueMap{"0","1","2","3"}, Values{"0","1","2","3"}] String SubmitSamplesConsent; + [Write, Description("This policy setting controls whether or not complex list settings configured by a local administrator are merged with managed settings. (0: enable local admin merge, 1: disable local admin merge)"), ValueMap{"0","1"}, Values{"0","1"}] String DisableLocalAdminMerge; + [Write, Description("Allows or disallows Windows Defender On Access Protection functionality. (0: disable feature. 1: enable feature)"), ValueMap{"0","1"}, Values{"0","1"}] String AllowOnAccessProtection; + [Write, Description("Allows an administrator to specify low severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String LowSeverityThreats; + [Write, Description("Allows an administrator to specify moderate severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String ModerateSeverityThreats; + [Write, Description("Allows an administrator to specify high severity threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String SevereThreats; + [Write, Description("Allows an administrator to specify severe threats corresponding action ID to take."),ValueMap{"clean", "quarantine","remove", "allow", "userdefined","block"}, Values{"clean", "quarantine","remove", "allow", "userdefined","block"}] String HighSeverityThreats; + [Write, Description("Template Id of the policy. 0: Windows Security Experience, 1: Defender Update controls, 2: Microsoft Defender Antivirus exclusions, 3: Microsoft Defender Antivirus"),ValueMap{"d948ff9b-99cb-4ee0-8012-1fbc09685377_1", "e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1", "45fea5e9-280d-4da1-9792-fb5736da0ca9_1","804339ad-1553-4478-a742-138fb5807418_1"}, Values{"d948ff9b-99cb-4ee0-8012-1fbc09685377_1", "e3f74c5a-a6de-411d-aef6-eb15628f3a0a_1", "45fea5e9-280d-4da1-9792-fb5736da0ca9_1","804339ad-1553-4478-a742-138fb5807418_1"}] String TemplateId; [Write, Description("Represents the assignment to the Intune policy."), EmbeddedInstance("MSFT_DeviceManagementConfigurationPolicyAssignments")] String Assignments[]; [Write, Description("Present ensures the policy exists, absent ensures it is removed"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; [Write, Description("Credentials of the Intune Admin"), EmbeddedInstance("MSFT_Credential")] string Credential; diff --git a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 index c6ac727450..1361587dbd 100644 --- a/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 +++ b/Modules/Microsoft365DSC/Modules/M365DSCDRGUtil.psm1 @@ -1775,7 +1775,7 @@ function Get-IntuneSettingCatalogPolicySettingInstanceValue $instanceCount = 1 if (($Level -gt 1 -and $groupSettingCollectionDefinitionChildren.Count -gt 1) -or - ($Level -eq 1 -and $groupSettingCollectionDefinitionChildren.Count -ge 1 -and $groupSettingCollectionDefinitionChildren.AdditionalProperties.'@odata.type' -notcontains "#microsoft.graph.deviceManagementConfigurationSettingGroupCollectionDefinition")) + ($Level -eq 1 -and $SettingDefinition.AdditionalProperties.maximumCount -gt 1 -and $groupSettingCollectionDefinitionChildren.Count -ge 1 -and $groupSettingCollectionDefinitionChildren.AdditionalProperties.'@odata.type' -notcontains "#microsoft.graph.deviceManagementConfigurationSettingGroupCollectionDefinition")) { $SettingInstanceName += Get-SettingsCatalogSettingName -SettingDefinition $SettingDefinition -AllSettingDefinitions $AllSettingDefinitions $cimDSCParams = @() @@ -2480,7 +2480,7 @@ function Update-IntuneDeviceConfigurationPolicy 'settings' = $Settings } $body = $policy | ConvertTo-Json -Depth 20 - #Write-Verbose -Message $body + Write-Verbose -Message $body -Verbose Invoke-MgGraphRequest -Method PUT -Uri $Uri -Body $body -ErrorAction Stop } catch