Dependencies/Assemblies/Microsoft365DSC.Compare.xml
|
<?xml version="1.0"?>
<doc> <assembly> <name>Microsoft365DSC.Compare</name> </assembly> <members> <member name="T:Microsoft365DSC.Compare.ComplexObjectComparer"> <summary> Provides comprehensive comparison of complex M365DSC objects for drift detection. Supports hashtables, PSObjects, CIM instances, arrays, and nested structures. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.Compare(System.Object,System.Object,System.String)"> <summary> Compares two complex M365DSC objects to detect configuration drift. </summary> <param name="source">Source (desired) object</param> <param name="target">Target (current) object</param> <param name="propertyName">Property name for drift reporting</param> <returns>True if objects are identical (no drift), false otherwise</returns> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.CompareWithDrifts(System.Object,System.Object,System.String,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.Object}})"> <summary> Compares two complex M365DSC objects and collects drift information. </summary> <param name="source">Source (desired) object</param> <param name="target">Target (current) object</param> <param name="propertyName">Property name for drift reporting</param> <param name="drifts">List to collect detected drifts</param> <returns>True if objects are identical (no drift), false otherwise</returns> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.CompareComplexArray(System.Object,System.Object,System.String,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.Object}},System.Collections.Generic.Stack{Microsoft365DSC.Compare.ComplexObjectComparer.ComparisonFrame},System.Boolean@)"> <summary> Compares complex array objects with order-insensitive matching. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.CompareSingleObject(System.Object,System.Object,System.String,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.Object}},System.Collections.Generic.Stack{Microsoft365DSC.Compare.ComplexObjectComparer.ComparisonFrame},System.Boolean@)"> <summary> Compares a single (non-array) complex object or simple value. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.CompareSimpleValues(System.Object,System.Object)"> <summary> Compares simple (non-complex) values. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.IsNumericType(System.Object)"> <summary> Determines if an object is a numeric type. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.CompareNumericValues(System.Object,System.Object)"> <summary> Compares two numeric values, handling different numeric types. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.IsComplexArrayCandidate(System.Object)"> <summary> Determines if an object is a complex array candidate. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.IsComplexType(System.Object)"> <summary> Determines if an object is a complex type requiring deep comparison. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.ToArray(System.Object)"> <summary> Converts an object to an array. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.GetObjectKeys(System.Object)"> <summary> Gets keys from an object (hashtable, PSObject, etc.). </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.HasKey(System.Object,System.String)"> <summary> Checks if an object has a specific key. </summary> </member> <member name="M:Microsoft365DSC.Compare.ComplexObjectComparer.GetValue(System.Object,System.String)"> <summary> Gets a value from an object by key. </summary> </member> <member name="T:Microsoft365DSC.Compare.ComplexObjectComparer.ComparisonFrame"> <summary> Represents a comparison frame in the iterative comparison stack. </summary> </member> <member name="T:Microsoft365DSC.Compare.Extensions.StringExtensions"> <summary> Extension methods for System.String </summary> </member> <member name="M:Microsoft365DSC.Compare.Extensions.StringExtensions.ToArray(System.String)"> <summary> Converts a single string to a string array containing one element. </summary> <param name="value">The string to convert</param> <returns>A string array containing the input string</returns> </member> <member name="M:Microsoft365DSC.Compare.Extensions.StringExtensions.ToArray(System.String,System.Type)"> <summary> Converts a single string to an Array of the specified type. </summary> <param name="value">The string to convert</param> <param name="elementType">The type of elements in the resulting array</param> <returns>An Array containing the input string</returns> </member> <member name="T:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer"> <summary> Compares Intune policy assignments between source and target arrays. </summary> </member> <member name="M:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer.Compare(System.Array,System.Array,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.Object}})"> <summary> Compares two arrays of Intune policy assignments and identifies drifts. </summary> <param name="source">The source array of assignments (desired state)</param> <param name="target">The target array of assignments (current state)</param> <param name="drifts">List to collect drift information</param> <returns>True if assignments match, false otherwise</returns> </member> <member name="M:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer.CompareFilters(System.Collections.Hashtable,System.Collections.Hashtable,System.Collections.Generic.List{System.Collections.Generic.Dictionary{System.String,System.Object}})"> <summary> Compares filter settings between source and target assignments. </summary> </member> <member name="M:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer.FindAssignmentTarget(System.Array,System.String,System.String)"> <summary> Finds an assignment target in the array by dataType and groupId. </summary> </member> <member name="M:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer.FindAssignmentTargetByDisplayName(System.Array,System.String,System.String)"> <summary> Finds an assignment target in the array by dataType and groupDisplayName. </summary> </member> <member name="M:Microsoft365DSC.Compare.IntunePolicyAssignmentComparer.GetPropertyValue``1(System.Collections.Hashtable,System.String)"> <summary> Gets a typed property value from a hashtable with null safety. </summary> </member> <member name="T:Microsoft365DSC.Compare.ResourceComparer"> <summary> High-level resource comparison entry point. Normalizes both sides to Hashtable trees, resolves schema metadata, aligns complex arrays by primary keys, then delegates to ComplexObjectComparer and SimpleObjectComparer for the actual diff. This class replaces the complex PowerShell orchestration loop that previously lived in Compare-M365DSCResourceState, eliminating CimInstance type checks, the Address property workaround, and the two-phase complex-then-simple split. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.Compare(System.Collections.Hashtable,System.Collections.Hashtable,System.Collections.Hashtable,System.Collections.Generic.IEnumerable{System.Object},System.String,System.String[],System.String[])"> <summary> Compares desired vs current values for a single DSC resource. Both sides are normalized to Hashtable trees before comparison. </summary> <param name="desiredValues">Desired state hashtable (from PSBoundParameters)</param> <param name="currentValues">Current state hashtable (from Get-TargetResource)</param> <param name="valuesToCheck">Subset of keys from desiredValues to check (after filtering out keys/credentials/excluded)</param> <param name="schema">The full schema array (deserialized SchemaDefinition.json)</param> <param name="resourceName">Resource name without MSFT_ prefix (e.g. "AADUser")</param> <param name="excludedProperties">Properties to skip during comparison</param> <param name="includedProperties">Properties to force-include even if otherwise skipped</param> <returns>A CompareResult with test result, drift info, and value snapshots</returns> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.FindSchemaEntry(System.Collections.Generic.IEnumerable{System.Object},System.String)"> <summary> Finds a schema entry by ClassName from the schema collection. Handles both PSObject (Windows PowerShell) and Hashtable (PowerShell Core) representations. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.BuildSchemaLookup(System.Collections.Generic.IEnumerable{System.Object})"> <summary> Builds a lookup dictionary mapping ClassName to schema entry for fast nested type resolution. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.BuildParameterLookup(System.Object)"> <summary> Builds a case-insensitive dictionary of parameter name to parameter definition object. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.BuildKeysToCompare(System.Collections.Hashtable,System.Collections.Generic.Dictionary{System.String,System.Object},System.Collections.Generic.HashSet{System.String},System.Collections.Generic.HashSet{System.String})"> <summary> Determines which keys from desired values should be compared, excluding Key parameters, PSCredential types, Id/Identity, and explicitly excluded properties. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.GetPrimaryKeys(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})"> <summary> Gets the primary key names (Required parameters) for a CIM class from the schema. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.PairByPrimaryKeys(System.Object[],System.Object[],System.Collections.Generic.List{System.String})"> <summary> Pairs desired and current array elements 1:1 by matching their primary key values. Each desired element is matched to the first unconsumed current element where all primary key values match (case-insensitive). Unmatched desired elements are paired with null. Unconsumed current elements are returned as extras. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.RemovePrimaryKeysFromHashtable(System.Collections.Hashtable,System.Collections.Generic.List{System.String},System.Collections.Generic.HashSet{System.String},System.Boolean)"> <summary> Removes primary key entries from a single Hashtable to avoid false-positive drifts. Skips removal for explicitly included properties and for dataType on Intune assignments. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.CloneHashtable(System.Collections.Hashtable)"> <summary> Creates a shallow clone of a Hashtable with case-insensitive keys. Used to avoid mutating normalized data when removing primary keys before comparison. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.IsIntunePolicyAssignmentType(System.String)"> <summary> Determines if a CIM class name represents an Intune policy assignment type. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.HasGroupTargets(System.Object[])"> <summary> Checks if any item in the array has a dataType that is group-specific (not allLicensedUsers or allDevices). </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.GetStringProperty(System.Object,System.String)"> <summary> Gets a string property from an object that could be a PSObject, Hashtable, or other type. Handles both Windows PowerShell (PSObject) and PowerShell Core (Hashtable) schema representations. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.GetProperty(System.Object,System.String)"> <summary> Gets a property value from an object (supports Hashtable, IDictionary, PSObject). </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.GetHashtableStringValue(System.Collections.Hashtable,System.String)"> <summary> Gets a string value from a hashtable by key with null safety. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.GetStringValue(System.Collections.Hashtable,System.String)"> <summary> Gets a string from a Hashtable, defaulting to null if not present. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.IsComplexValue(System.Object)"> <summary> Checks whether a value is a complex type that needs ComplexObjectComparer rather than SimpleObjectComparer. </summary> </member> <member name="M:Microsoft365DSC.Compare.ResourceComparer.ConvertDriftDict(System.Collections.Generic.Dictionary{System.String,System.Object})"> <summary> Converts a Dictionary<string, object> drift entry to a Hashtable for PowerShell consumption. </summary> </member> <member name="T:Microsoft365DSC.Compare.CompareResult"> <summary> Result object for ResourceComparer.Compare. Contains the test result (true = no drift), drift info entries, and drifted parameter event strings for telemetry. </summary> </member> <member name="P:Microsoft365DSC.Compare.CompareResult.TestResult"> <summary> True if no drift was detected; false otherwise. </summary> </member> <member name="P:Microsoft365DSC.Compare.CompareResult.DriftInfo"> <summary> List of drift entries. Each entry has PropertyName, CurrentValue, DesiredValue. </summary> </member> <member name="P:Microsoft365DSC.Compare.CompareResult.DriftedParameters"> <summary> Drifted parameter event strings for telemetry (key = param name, value = XML snippet). </summary> </member> <member name="M:Microsoft365DSC.Compare.CompareResult.AddDrift(System.String,System.Object,System.Object)"> <summary> Adds a drift entry. </summary> </member> </members> </doc> |