Test-MdePolicyCompliance
SYNOPSIS
Tests policy compliance for an MDE setting across all assigned policies
SYNTAX
Test-MdePolicyCompliance [-PolicyConfiguration] <Hashtable> [-SettingId] <String> [-ComplianceCheck] <String>
[[-ExpectedValue] <String>] [[-RangeMin] <Int32>] [[-RangeMax] <Int32>] [[-ValidValues] <String[]>]
[[-ValidLevels] <Hashtable>] [[-MinimumValue] <Int32>] [[-ComplianceLogic] <String>]
[-ProgressAction <ActionPreference>] [<CommonParameters>]
DESCRIPTION
Analyzes configuration policies for compliance with the specified setting. Returns detailed compliance results categorized by compliant, non-compliant, and not-configured.
EXAMPLES
EXAMPLE 1
Test-MdePolicyCompliance -PolicyConfiguration $config -SettingId "device_vendor_msft_policy_config_defender_allowarchivescanning" -ComplianceCheck "Boolean" -ExpectedValue "_1"
Returns a hashtable with CompliantPolicies, NonCompliantPolicies, and NotConfiguredPolicies arrays.
PARAMETERS
-PolicyConfiguration
Policy configuration hashtable from Get-MdePolicyConfiguration
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SettingId
The Intune setting definition ID to check (e.g., "device_vendor_msft_policy_config_defender_allowarchivescanning")
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ComplianceCheck
The type of compliance check: Boolean, Range, Enum, MinimumLevel, MinimumValue, NotRequired
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ExpectedValue
The expected value for Boolean checks
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-RangeMin
Minimum value for Range checks
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
-RangeMax
Maximum value for Range checks
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 6
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
-ValidValues
Array of valid values for Enum checks
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 7
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ValidLevels
Hashtable mapping values to numeric levels for MinimumLevel checks
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: False
Position: 8
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-MinimumValue
Minimum numeric value for MinimumValue and MinimumLevel checks
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: 9
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False
-ComplianceLogic
{{ Fill ComplianceLogic Description }}
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 10
Default value: AllPolicies
Accept pipeline input: False
Accept wildcard characters: False
-ProgressAction
{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.