This commit is contained in:
Mikael Karlsson
2024-04-22 21:48:16 +10:00
parent 47968b4219
commit c16f85a299
57 changed files with 3788 additions and 2529 deletions

View File

@@ -20,7 +20,7 @@ $global:documentationProviders = @()
function Get-ModuleVersion
{
'2.1.0'
'2.2.0'
}
function Invoke-InitializeModule
@@ -1066,16 +1066,29 @@ function Invoke-TranslateSettingsObject
$global:cfgCategories = (Invoke-GraphRequest "/deviceManagement/configurationCategories?`$filter=platforms has 'windows10' and technologies has 'mdm'" -ODataMetadata "minimal" @params).Value
}
if(-not $global:cachedCfgSettings)
{
$global:cachedCfgSettings = @{}
}
$script:settingCatalogasCategories = @{}
foreach($cfgSetting in $cfgSettings)
{
if($obj.'@ObjectFromFile' -and -not $cfgSetting.settingDefinitions)
{
$defObj = Invoke-GraphRequest "/deviceManagement/configurationSettings/$($cfgSetting.settingInstance.settingDefinitionId)"
if($global:cachedCfgSettings.ContainsKey($cfgSetting.settingInstance.settingDefinitionId) -eq $false)
{
$defObj = Invoke-GraphRequest "/deviceManagement/configurationSettings/$($cfgSetting.settingInstance.settingDefinitionId)"
$global:cachedCfgSettings.Add($defObj.Id, $defObj)
}
}
else
{
$defObj = $cfgSetting.settingDefinitions | Where id -eq $cfgSetting.settingInstance.settingDefinitionId
if($global:cachedCfgSettings.ContainsKey($cfgSetting.settingInstance.settingDefinitionId) -eq $false)
{
$global:cachedCfgSettings.Add($defObj.Id, $defObj)
}
}
#$defObj = $cfgSetting.settingDefinitions | Where { $_.id -eq $cfgSetting.settingInstance.settingDefinitionId -or $_.id -eq $cfgSettings.settingInstanceTemplate.settingDefinitionId }
if(-not $defObj -or $script:settingCatalogasCategories.ContainsKey($defObj.categoryId)) { continue }
@@ -1089,13 +1102,13 @@ function Invoke-TranslateSettingsObject
Category=$catObj
#Settings=$catSettings
RootCategory=$rootCatObj
}))
}))
}
$script:curSettingsCatologPolicy = @()
$cfgSettings | % { Add-SettingsSetting $_.settingInstance $_.settingDefinitions } | Out-Null
#$script:objectSettingsData = $script:curSettingsCatologPolicy
foreach($item in ($script:curSettingsCatologPolicy | Select @{l="CategoryID";e={$_.CategoryDefinition.Id}}, @{l="SubCategoryID";e={$_.SubCategoryDefinition.Id}} -Unique))
@@ -1125,7 +1138,15 @@ function Add-SettingsSetting
$settingsDef = $settingsDefs | Where id -eq $settingInstance.settingDefinitionId
if(-not $settingsDef -and $settingInstance.settingDefinitionId)
{
$settingsDef = Invoke-GraphRequest "/deviceManagement/configurationSettings/$($settingInstance.settingDefinitionId)"
if($global:cachedCfgSettings.ContainsKey($settingInstance.settingDefinitionId) -eq $false)
{
$settingsDef = Invoke-GraphRequest "/deviceManagement/configurationSettings/$($settingInstance.settingDefinitionId)"
$global:cachedCfgSettings.Add($settingInstance.settingDefinitionId, $settingsDef)
}
else
{
$settingsDef = $global:cachedCfgSettings[$settingInstance.settingDefinitionId]
}
}
$categoryDef = $global:cfgCategories | Where Id -eq $settingsDef.categoryId #$script:settingCatalogasCategories[$settingsDef.categoryId]
@@ -1143,6 +1164,7 @@ function Add-SettingsSetting
$settingInfo = [PSCustomObject]@{
SettingId = $settingsDef.Id
SettingKey = ""
SettingName = $settingsDef.Name
Name = $settingsDef.displayName
Description=$settingsDef.description
@@ -1161,6 +1183,7 @@ function Add-SettingsSetting
Show = $show
Type = $settingInstance.'@odata.type'
PropertyIndex = 0
RowIndex = 0
ChildSettings = @() #($childSettings | Sort DisplayName)
}
@@ -1226,13 +1249,13 @@ function Add-SettingsSetting
{
$childSettingsArr = @()
# Not sure if this is the best way but it looks better for tested policies
if($script:currentObject.templateReference.templateId)
if($script:currentObject.templateReference.templateId -and $settingsDefs)
{
$childIDs = $settingsDefs.id # Endpoint Security objects
}
else
{
$childIDs = $settingsDef.childIds # Setings Catalog
$childIDs = $settingsDef.childIds # Setings Catalog and from file documentation
}
#foreach($childId in $settingsDefs.id) #$settingsDef.childIds)
foreach($childId in $childIDs)
@@ -1243,6 +1266,7 @@ function Add-SettingsSetting
if($tmpSetting)
{
$tmpSetting.Parent = $childSettings
$tmpSetting.RowIndex = $index
$childSettings += $tmpSetting
$childSettingsArr += $tmpSetting
if($settingsDef.childIds.Count -gt 1)
@@ -1250,6 +1274,7 @@ function Add-SettingsSetting
$tmpSetting.PropertyIndex = $childSettingsArr.Count
}
}
$rowIndex++
}
$settingInfo.ChildSettings += [PSCustomObject]@{
@@ -1365,6 +1390,7 @@ function Get-IntentCategory
return (Get-LanguageString "SecurityTemplate.firewall")
}
elseif($templateType -eq "securityBaseline" -or
$templateType -eq "baseline" -or
$templateType -eq "advancedThreatProtectionSecurityBaseline" -or
$templateType -eq "microsoftEdgeSecurityBaseline")
{