Skip to main content
Version: 2.2.0

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​

Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by Write-Progress.

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.

INPUTS​

OUTPUTS​

System.Collections.Hashtable​

NOTES​