3.9.6
This commit is contained in:
@@ -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")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user