Skip to main content
Version: 2.0.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

{{ 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.

INPUTS

OUTPUTS

System.Collections.Hashtable

NOTES