Dependencies/Assemblies/Microsoft365DSC.Intune.xml
|
<?xml version="1.0"?>
<doc> <assembly> <name>Microsoft365DSC.Intune</name> </assembly> <members> <member name="T:Microsoft365DSC.Intune.ConfigurationPolicyCache"> <summary> A thread-safe cache for storing configuration policies by their template IDs. </summary> </member> <member name="T:Microsoft365DSC.Intune.IntuneGroupCache"> <summary> Export-scoped cache of Entra groups resolved while converting Intune assignments. Active only while <see cref="P:Microsoft365DSC.Cache.ExportCollectionCache.IsEnabled"/>; misses are never stored. </summary> </member> <member name="P:Microsoft365DSC.Intune.IntuneGroupCache.IsEnabled"> <summary>Whether an export session has enabled the export caches.</summary> </member> <member name="P:Microsoft365DSC.Intune.IntuneGroupCache.Count"> <summary>Number of cached ids and names.</summary> </member> <member name="M:Microsoft365DSC.Intune.IntuneGroupCache.Reset"> <summary>Clears every cached group.</summary> </member> <member name="M:Microsoft365DSC.Intune.IntuneGroupCache.TryGetById(System.String,System.Object@)"> <summary>Returns the cached group for an id when enabled and present.</summary> </member> <member name="M:Microsoft365DSC.Intune.IntuneGroupCache.SetById(System.String,System.Object)"> <summary>Stores a resolved group by id; null results are ignored.</summary> </member> <member name="M:Microsoft365DSC.Intune.IntuneGroupCache.TryGetByName(System.String,System.Object[]@)"> <summary>Returns the cached groups for a display name when enabled and present.</summary> </member> <member name="M:Microsoft365DSC.Intune.IntuneGroupCache.SetByName(System.String,System.Object[])"> <summary>Stores the groups matching a display name; null or empty results are ignored.</summary> </member> <member name="T:Microsoft365DSC.Intune.RoleScopeTagCache"> <summary> Process-wide cache of the tenant's Intune role scope tags, holding the display name of every tag id and the ids behind every display name. </summary> </member> <member name="P:Microsoft365DSC.Intune.RoleScopeTagCache.IsPopulated"> <summary>Whether a load has already been attempted, successfully or not.</summary> </member> <member name="P:Microsoft365DSC.Intune.RoleScopeTagCache.IsAvailable"> <summary>Whether the tags could be read. False once a load has failed.</summary> </member> <member name="P:Microsoft365DSC.Intune.RoleScopeTagCache.Count"> <summary>Number of cached tags.</summary> </member> <member name="M:Microsoft365DSC.Intune.RoleScopeTagCache.Populate(System.Collections.Generic.IEnumerable{System.Object},System.Func{System.Object,System.String},System.Func{System.Object,System.String})"> <summary> Stores every tag of the tenant. The first call wins, later ones are ignored until <see cref="M:Microsoft365DSC.Intune.RoleScopeTagCache.Reset"/>. </summary> <param name="tags">The role scope tags as Graph returned them.</param> <param name="idSelector">Reads the id off one tag.</param> <param name="nameSelector">Reads the display name off one tag.</param> </member> <member name="M:Microsoft365DSC.Intune.RoleScopeTagCache.MarkUnavailable"> <summary> Records that the tags could not be read, so the rest of the run passes values through instead of repeating a call that has already failed. </summary> </member> <member name="M:Microsoft365DSC.Intune.RoleScopeTagCache.TryGetName(System.String,System.String@)"> <summary>Returns the display name of a tag id.</summary> </member> <member name="M:Microsoft365DSC.Intune.RoleScopeTagCache.TryGetIds(System.String,System.String[]@)"> <summary>Returns every tag id carrying a display name.</summary> </member> <member name="M:Microsoft365DSC.Intune.RoleScopeTagCache.Reset"> <summary>Clears every cached tag and allows the next load to run.</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingInstanceInfo"> <summary> Lightweight representation of a setting instance coming from the Graph API response. The PowerShell version works with raw PSObjects or Hashtables; this C# model normalizes the data to avoid repeated reflection or dictionary lookups during recursive traversal. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.SettingDefinitionId"> <summary>The settingDefinitionId of this instance.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.ODataType"> <summary>The @odata.type of this instance.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.SimpleSettingValue"> <summary>For SimpleSettingInstance: the value object containing @odata.type and value.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.ChoiceSettingValue"> <summary>For ChoiceSettingInstance: the choice setting value (value + children).</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.ChoiceSettingCollectionValues"> <summary>For ChoiceSettingCollectionInstance: the collection of choice values.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.GroupSettingCollectionValue"> <summary>For GroupSettingCollectionInstance: the array of group values, each containing children.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceInfo.SimpleSettingCollectionValue"> <summary>For SimpleSettingCollectionInstance: the array of simple values.</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingSimpleValue"> <summary>Represents a simple setting value (string or int).</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingChoiceValue"> <summary>Represents a choice setting value with a selected value and children.</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingGroupValue"> <summary>Represents one group in a GroupSettingCollection, containing child instances.</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingInstanceMapper"> <summary> Maps raw Graph API response objects (PSObject, Hashtable, or Graph SDK types) to <see cref="T:Microsoft365DSC.Intune.SettingInstanceInfo"/> for use in the exporter. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingInstanceMapper.FromObject(System.Object)"> <summary> Maps a raw setting instance to <see cref="T:Microsoft365DSC.Intune.SettingInstanceInfo"/>. </summary> <param name="instance">The setting instance (Graph SDK object or Hashtable).</param> </member> <member name="T:Microsoft365DSC.Intune.SettingCatalogPolicyExporter"> <summary> C# port of Export-IntuneSettingCatalogPolicySettings. Converts Graph API setting response data into flat DSC parameter hashtables. <para><b>Design notes:</b></para> <list type="bullet"> <item>This C# version pre-maps all data to <see cref="T:Microsoft365DSC.Intune.SettingInstanceInfo"/> and <see cref="T:Microsoft365DSC.Intune.SettingDefinitionInfo"/> at the boundary, then works purely with C# models internally.</item> <item>Parts that require Graph API calls (e.g., fetching setting templates) remain in PowerShell. This class only handles the data transformation.</item> <item>The recursive export logic is preserved exactly as in PowerShell, including the GroupSettingCollection flattening heuristics.</item> </list> </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicyExporter.Export(System.Collections.Generic.IList{System.Object},System.Collections.Hashtable,System.Collections.Generic.IList{System.Object},System.Boolean)"> <summary> Exports settings from Graph API response into a flat hashtable of DSC parameters. Entry point corresponding to the 'Start' parameter set in PowerShell. </summary> <param name="settings"> Array of setting objects from the Graph API, each with SettingInstance and SettingDefinitions. These are the raw Graph SDK objects or Hashtables. </param> <param name="returnHashtable"> Hashtable to store the exported DSC parameters. </param> <param name="allSettingDefinitions"> All setting definitions for the policy (pre-mapped). If empty, definitions are extracted from settings. </param> <param name="containsDeviceAndUserSettings"> True if the policy has separate device_ and user_ prefixed settings. </param> <returns>A hashtable with the exported DSC parameters.</returns> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicyExporter.ExportSettingInstance(Microsoft365DSC.Intune.SettingInstanceInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.Collections.Hashtable)"> <summary> Recursively exports a setting instance into the return hashtable. Corresponds to the 'Setting' parameter set in the PowerShell version. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicyExporter.ResolveChoiceOptionValue(Microsoft365DSC.Intune.SettingDefinitionInfo,System.String)"> <summary> Resolves a choice option value from its itemId. Mirrors the PowerShell logic: look up optionValue.value, fall back to stripping prefix if it contains '=' or '{}'. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingExportItem"> <summary> A pre-mapped setting export item containing a setting instance and its definitions. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingExportItem.SettingInstance"> <summary>The setting instance (pre-mapped from Graph response).</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingExportItem.SettingDefinitions"> <summary>The setting definitions for this particular setting (pre-mapped).</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder"> <summary> C# port of <c>Get-IntuneSettingCatalogPolicySetting</c> and <c>Get-IntuneSettingCatalogPolicySettingInstanceValue</c>. Builds the Settings Catalog policy body (array of setting instances) from DSC parameters and setting templates. <para><b>Architecture:</b></para> <list type="bullet"> <item>The Graph API call to fetch setting templates remains in PowerShell.</item> <item>This class receives the raw Graph SDK template objects and the DSC parameter hashtable.</item> <item>All template/definition objects are mapped to C# models at the boundary via <see cref="T:Microsoft365DSC.Intune.SettingTemplateMapper"/> and <see cref="T:Microsoft365DSC.Intune.SettingDefinitionMapper"/>, then the builder works purely with C# models.</item> <item>Value resolution delegates to <see cref="M:Microsoft365DSC.Intune.SettingValueResolver.Resolve(System.String,Microsoft365DSC.Intune.SettingDefinitionInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.Collections.Hashtable)"/> (already ported).</item> <item>CIM instances from DSC parameters are handled via direct <c>CimInstance</c> access.</item> </list> </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.Build(System.Collections.Generic.IList{System.Object},System.Collections.Hashtable,System.Boolean)"> <summary> Builds the Settings Catalog policy body from DSC parameters and setting templates. Entry point called from PowerShell after template fetching. </summary> <param name="settingTemplatesFromGraph"> Raw Graph SDK objects from <c>Get-MgBetaDeviceManagementConfigurationPolicyTemplateSettingTemplate</c>. </param> <param name="dscParams">The DSC parameters hashtable (Identity/DisplayName/Description already removed).</param> <param name="containsDeviceAndUserSettings">True if the policy has separate device_ and user_ prefixed settings.</param> <returns>Array of Hashtables, each representing a <c>deviceManagementConfigurationSetting</c>.</returns> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.BuildCore(System.Collections.Generic.List{Microsoft365DSC.Intune.SettingTemplateInfo},System.Collections.Hashtable)"> <summary> Core build logic that processes setting templates and produces setting instance Hashtables. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.BuildDeviceAndUserSettings(System.Collections.Generic.List{Microsoft365DSC.Intune.SettingTemplateInfo},System.Collections.Hashtable)"> <summary> Handles policies with separate device and user settings. Splits templates by prefix, extracts CIM-based DSC params for each scope, builds separately. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.BuildSettingInstanceValue(System.Collections.Hashtable,Microsoft365DSC.Intune.SettingDefinitionInfo,Microsoft365DSC.Intune.SettingInstanceTemplateInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.String,System.String,System.String,System.String,System.String,System.Int32)"> <summary> Recursive method that builds a setting instance value subtree. Mirrors <c>Get-IntuneSettingCatalogPolicySettingInstanceValue</c> exactly. Handles 5 setting types: 1. GroupSettingCollectionInstance / SettingGroupCollectionDefinition 2. ChoiceSettingInstance / ChoiceSettingDefinition 3. ChoiceSettingCollectionInstance / ChoiceSettingCollectionDefinition 4. SimpleSettingCollectionInstance / SimpleSettingCollectionDefinition 5. Default (Simple settings: Integer/String) </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.FindChildDefinitions(System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.String)"> <summary> Finds child setting definitions that depend on the given parent setting ID. Checks both <c>dependentOn.parentSettingId</c> and <c>options.dependentOn.parentSettingId</c>. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.ResolveCurrentDscParams(System.Collections.Hashtable,System.String,System.Int32,System.Int32)"> <summary> Resolves the current DSC params for the current iteration of a multi-instance group. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.IsAnyOf(System.String,System.String,System.String)"> <summary> A setting type arrives either as the instance OData type or as the matching definition type, so every check above accepts both spellings. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.FindCimInstancesByClassName(System.Collections.Hashtable,System.String)"> <summary> Scans DSCParams values for embedded instances matching the expected CIM class name. Matches exact class name or alternate <c>{name}_Intune*</c> pattern. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.ExtractCimPropertiesModifiedOnly(System.Object)"> <summary> Extracts the properties an embedded instance carries a value for. Property names are PascalCase. Nested instances are preserved as-is for recursive processing. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingCatalogPolicySettingBuilder.ExtractCimPropertiesCamelCase(System.Object)"> <summary> Extracts properties from an embedded instance with camelCase property names. Carries only the properties that hold a value, and excludes PSComputerName. Mirrors <c>Convert-M365DSCDRGComplexTypeToHashtable -SingleLevel -ExcludeUnchangedProperties</c>. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingDefinitionOption"> <summary> Represents a single option in a ChoiceSetting definition. Maps from options[] on Graph SettingDefinition objects. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionOption.ItemId"> <summary> The unique identifier for this option (e.g., "device_vendor_msft_policy_config_..._enabled"). </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionOption.OptionValue"> <summary> The option value object containing the actual value and its OData type. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionOption.DependentOnParentSettingIds"> <summary> DependentOn entries specific to this option. Maps from options[].dependentOn[].parentSettingId. </summary> </member> <member name="T:Microsoft365DSC.Intune.OptionValue"> <summary> Represents the value portion of a setting definition option. Maps from options[].optionValue. </summary> </member> <member name="P:Microsoft365DSC.Intune.OptionValue.ODataType"> <summary> The OData type of the option value (e.g., "#microsoft.graph.deviceManagementConfigurationStringSettingValue"). </summary> </member> <member name="P:Microsoft365DSC.Intune.OptionValue.Value"> <summary> The actual value of the option (e.g., "0", "1", "enabled"). </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingValueDefinition"> <summary> Represents the valueDefinition portion of a setting definition. Maps from valueDefinition on Graph SettingDefinition objects. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingValueDefinition.ODataType"> <summary> The OData type of the value definition (e.g., "#microsoft.graph.deviceManagementConfigurationStringSettingValueDefinition"). </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingValueDefinition.IsSecret"> <summary> Whether this value definition represents a secret value. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingInstanceTemplateInfo"> <summary> Internal representation of a Setting Instance Template from the Microsoft Graph API. These templates define the schema/structure for setting instances in Settings Catalog policies. The PowerShell code accesses these as <c>$settingTemplate.SettingInstanceTemplate</c> objects returned by <c>Get-MgBetaDeviceManagementConfigurationPolicyTemplateSettingTemplate</c>. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.SettingDefinitionId"> <summary>The setting definition ID this template targets.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.SettingInstanceTemplateId"> <summary>The unique template ID for this setting instance.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.ODataType"> <summary> The OData type of the instance template (e.g., <c>#microsoft.graph.deviceManagementConfigurationGroupSettingCollectionInstanceTemplate</c>). Extracted from <c>'@odata.type'</c>. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.ValueTemplateODataType"> <summary> The OData type of the value template, already transformed from <c>ValueTemplate</c> to <c>Value</c>. For example: <c>#microsoft.graph.deviceManagementConfigurationChoiceSettingValue</c>. Null if no value template exists (e.g., GroupSettingCollection without explicit value template). </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.ValueTemplateId"> <summary> The <c>settingValueTemplateId</c> from the value template. Null if the value template has no ID or if the ID is an array (edge case: ThreatTypeSettings in IntuneAntivirusPolicyLinux). </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.Children"> <summary> Child instance templates from the value template's <c>children</c> array. Used for GroupSettingCollection and ChoiceSetting children. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingInstanceTemplateInfo.SettingValueName"> <summary> The computed value name derived from the OData type. For GroupSettingCollectionInstance -> <c>groupSettingCollectionValue</c>. Stored to avoid recomputing during recursive traversal. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingTemplateInfo"> <summary> Wraps a setting template from the Graph API, containing both the instance template and its definitions. Corresponds to the objects returned by <c>Get-MgBetaDeviceManagementConfigurationPolicyTemplateSettingTemplate</c>. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingTemplateInfo.SettingInstanceTemplate"> <summary>The setting instance template with schema information.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingTemplateInfo.SettingDefinitions"> <summary>The setting definitions associated with this template.</summary> </member> <member name="T:Microsoft365DSC.Intune.SettingInstanceTemplateMapper"> <summary> Maps raw Graph API SettingInstanceTemplate objects to <see cref="T:Microsoft365DSC.Intune.SettingInstanceTemplateInfo"/>. The template objects have a dual nature: <list type="bullet"> <item>Root templates (from <c>$settingTemplate.SettingInstanceTemplate</c>): most data one level down</item> <item>Child templates (from value template's <c>children</c>): data at top level (plain dictionaries)</item> </list> </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingInstanceTemplateMapper.FromGraphObject(System.Object)"> <summary> Maps a Graph SettingInstanceTemplate object to <see cref="T:Microsoft365DSC.Intune.SettingInstanceTemplateInfo"/>. </summary> <param name="template">The raw Graph SDK object, PSObject, or Hashtable.</param> <param name="isRoot"> True for root-level templates where OData type and value templates are nested one level down. False for child templates where data is at the top level. </param> </member> <member name="T:Microsoft365DSC.Intune.SettingTemplateMapper"> <summary> Maps raw Graph API setting template objects to <see cref="T:Microsoft365DSC.Intune.SettingTemplateInfo"/>. These are the objects returned by <c>Get-MgBetaDeviceManagementConfigurationPolicyTemplateSettingTemplate</c>. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingTemplateMapper.FromGraphObject(System.Object)"> <summary> Maps a single setting template from the Graph API. Extracts <c>SettingInstanceTemplate</c> and <c>SettingDefinitions</c> properties. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingTemplateMapper.FromGraphObjects(System.Collections.Generic.IEnumerable{System.Object})"> <summary> Maps a collection of setting template objects. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingDefinitionInfo"> <summary> Internal representation of a Microsoft Graph DeviceManagementConfigurationSettingDefinition. Avoids a direct dependency on the Microsoft.Graph SDK types. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.DependentOnParentSettingIds"> <summary> Flattened list of unique parentSettingId values from dependentOn[].parentSettingId. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.OptionsDependentOnParentSettingIds"> <summary> Flattened list of unique parentSettingId values from options[].dependentOn[].parentSettingId. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.ODataType"> <summary> The OData type from ['@odata.type']. Used to determine the setting type (e.g., ChoiceSettingDefinition, GroupSettingCollectionDefinition). </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.MaximumCount"> <summary> Maximum number of instances allowed for this setting (from maximumCount). Used in GroupSettingCollection logic to determine single vs. multi-instance handling. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.ChildIds"> <summary> Child setting definition IDs (from childIds). Used in Export to find child definitions of a GroupSettingCollection. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.Options"> <summary> Options for ChoiceSetting definitions (from options[]). Each option has an itemId and an optionValue with a value and OData type. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDefinitionInfo.ValueDefinition"> <summary> Value definition metadata (from valueDefinition). Contains the OData type and isSecret flag. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingDefinitionMapper"> <summary> Maps Microsoft Graph DeviceManagementConfigurationSettingDefinition objects (passed as PSObject or Hashtable) to the internal <see cref="T:Microsoft365DSC.Intune.SettingDefinitionInfo"/> representation. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingDefinitionMapper.FromGraphObject(System.Object)"> <summary> Maps a single Graph SettingDefinition (typically a PSObject or Hashtable) to <see cref="T:Microsoft365DSC.Intune.SettingDefinitionInfo"/>. Extracts Id, Name, OffsetUri, and the parentSettingId collections. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingDefinitionMapper.FromGraphObjects(System.Collections.Generic.IEnumerable{System.Object})"> <summary> Maps a collection of Graph SettingDefinition objects to a list of <see cref="T:Microsoft365DSC.Intune.SettingDefinitionInfo"/>. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingDefinitionMapper.ExtractParentSettingIds(System.Collections.Generic.IDictionary{System.String,System.Object},System.String)"> <summary> Extracts parentSettingId values from properties["dependentOn"][].parentSettingId. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingDefinitionMapper.ExtractOptionsParentSettingIds(System.Collections.Generic.IDictionary{System.String,System.Object})"> <summary> Extracts parentSettingId values from properties["options"][].dependentOn[].parentSettingId. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingDefinitionMapper.ExtractOptions(System.Collections.Generic.IDictionary{System.String,System.Object})"> <summary> Extracts the options array from the properties the model does not name explicitly. Each option has an itemId, optionValue (with @odata.type and value), and dependentOn parent setting IDs. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingsCatalogHelper"> <summary> C# port of the PowerShell module M365DSCIntuneSettingsCatalogUtil. Provides deterministic setting name resolution for Intune Settings Catalog definitions. Each method maps 1:1 to its PowerShell counterpart. Deviations are documented inline. </summary> </member> <member name="F:Microsoft365DSC.Intune.SettingsCatalogHelper.NameSimplificationRules"> <summary> Name simplification rules applied when the setting name was disambiguated (settingsWithSameName.Count > 1). Each entry is (wildcardPrefix, wildcardSuffix, searchString, replacementString). Corresponds to the "switch -wildcard" block in the PowerShell Get-SettingsCatalogSettingName. Optimization note: The PowerShell version uses a switch with -Wildcard patterns that are evaluated sequentially. Here we use a data-driven approach with a list of tuples, which is equivalent but more maintainable - adding a new simplification rule requires only one line instead of a new switch case block. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.ToCamelCase(System.String)"> <summary> Port of Get-SettingsCatalogSettingName. Resolves a unique, human-readable setting name for a given setting definition. Accepts raw Graph SDK objects and maps them internally. </summary> <summary> Lower-cases the first character, which is how a Graph type name is turned into the corresponding property name. </summary> <param name="value">The value to convert.</param> <returns>The value with its first character lower-cased.</returns> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.GetSettingName(Microsoft365DSC.Intune.SettingDefinitionInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo})"> <summary> Port of Get-SettingsCatalogSettingName. Resolves a unique, human-readable setting name for a given setting definition. Accepts pre-mapped <see cref="T:Microsoft365DSC.Intune.SettingDefinitionInfo"/> objects to avoid repeated reflection. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.GetParentSettingDefinition(Microsoft365DSC.Intune.SettingDefinitionInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo})"> <summary> Port of Get-ParentSettingDefinition. Finds the parent setting by looking up the first unique parentSettingId from either dependentOn or options.dependentOn. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingsCatalogHelper.DefinitionLookups"> <summary> Name and Id indexes over a definition list. A settings catalog policy resolves every one of its setting names against the same list, so without an index each resolution is a full scan and naming a policy is quadratic in the number of definitions. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.GetUniqueNameFromMultipleMatches(Microsoft365DSC.Intune.SettingDefinitionInfo,System.String,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo})"> <summary> Port of Get-UniqueSettingDefinitionNameFromMultipleMatches. Iteratively traverses up the OffsetUri to find a unique prefix for the setting name. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.GetSettingDefinitionNameFromOffsetUri(System.String,System.String,System.Int32)"> <summary> Port of Get-SettingDefinitionNameFromOffsetUri. Traverses up the OffsetUri segments to find a distinguishing prefix for the setting name. Optimization note: Instead of PowerShell array slicing ($arr[0..($arr.Length - 1 - $Skip)]) which creates new arrays at each step, we use a List and track the effective length via an integer index. The algorithm is otherwise identical. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingsCatalogHelper.ApplyNameSimplification(System.String)"> <summary> Applies the name simplification rules that correspond to the PowerShell switch -wildcard block. Important behavioral note: The PowerShell switch -Wildcard does NOT break after the first match - all matching cases are executed sequentially. This C# implementation replicates that behavior by iterating through ALL rules and applying every match. This matters for names that could match multiple rules (e.g., a name containing both a prefix pattern and a contains pattern like '~SmartScreen_'). </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingTemplateCache"> <summary> Process-wide cache of Settings Catalog template payloads (setting templates with their definitions), keyed by template id. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingDSCValueResult"> <summary> Result of resolving a DSC parameter value for a setting definition. Corresponds to the hashtable returned by the PowerShell Get-IntuneSettingCatalogPolicySettingDSCValue. </summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDSCValueResult.SettingDefinition"> <summary>The setting definition that was resolved.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDSCValueResult.SettingValueType"> <summary>The resolved OData type for the setting value.</summary> </member> <member name="P:Microsoft365DSC.Intune.SettingDSCValueResult.Value"> <summary> The resolved value. Can be a single string/int or an array (string[]/int[]). For ChoiceSetting, this is the itemId. For Simple settings, it is the raw DSC value. </summary> </member> <member name="T:Microsoft365DSC.Intune.SettingValueResolver"> <summary> C# port of Get-IntuneSettingCatalogPolicySettingDSCValue. Resolves the value for a given setting definition from the DSC parameters hashtable. This function does NOT call any Graph API. It operates purely on the pre-fetched setting definitions and the DSC parameters provided by the caller. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingValueResolver.Resolve(System.String,Microsoft365DSC.Intune.SettingDefinitionInfo,System.Collections.Generic.List{Microsoft365DSC.Intune.SettingDefinitionInfo},System.Collections.Hashtable)"> <summary> Resolves the DSC parameter value for a setting definition. </summary> <param name="settingValueType">The OData type hint for the setting value (e.g., contains "Simple", "ChoiceSetting").</param> <param name="settingDefinition">The pre-mapped setting definition.</param> <param name="allSettingDefinitions">All setting definitions for name resolution.</param> <param name="dscParams">The DSC parameters hashtable (case-insensitive).</param> <returns>A <see cref="T:Microsoft365DSC.Intune.SettingDSCValueResult"/> or null if the key is not found in DSC params.</returns> </member> <member name="M:Microsoft365DSC.Intune.SettingValueResolver.ResolveSimpleSettingValue(System.String,Microsoft365DSC.Intune.SettingDefinitionInfo,System.Object)"> <summary> Resolves Simple setting values (string, int, or arrays thereof). </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingValueResolver.ResolveChoiceSettingValue(Microsoft365DSC.Intune.SettingDefinitionInfo,System.Object)"> <summary> Resolves a ChoiceSetting value by looking up the itemId from the options. Mirrors the PowerShell logic: 1. Match by optionValue.value == DSC value 2. Fallback: match by itemId == "{definitionId}_{dscValue}" </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingValueResolver.ResolveChoiceSettingCollectionValue(Microsoft365DSC.Intune.SettingDefinitionInfo,System.Object)"> <summary> Resolves a ChoiceSettingCollection value by looking up each value's itemId. </summary> </member> <member name="M:Microsoft365DSC.Intune.SettingValueResolver.FindKeyIgnoreCase(System.Collections.Hashtable,System.String)"> <summary> Case-insensitive key lookup in a Hashtable. </summary> </member> </members> </doc> |