Compare commits

..
3 Commits
Author SHA1 Message Date
Mikael Karlsson ea3af64316 3.9.1 2023-08-30 20:07:18 +10:00
Mikael Karlsson e6ec048df0 3.9.0 Module
Added version in the module file
2023-05-04 23:42:37 +10:00
Mikael Karlsson 0fd868ff70 3.9.0 2023-05-04 22:00:12 +10:00
61 changed files with 56943 additions and 36492 deletions
+42
View File
@@ -0,0 +1,42 @@
using System;
using System.Net;
using System.Net.Http;
using Microsoft.Identity.Client;
public class HttpFactoryWithProxy : IMsalHttpClientFactory
{
private static HttpClient _httpClient;
public public HttpFactoryWithProxy(string proxyURI) : this(proxyURI, null, null)
{
}
public HttpFactoryWithProxy(string proxyURI, string proxyUserName = null, string proxyPassword = null)
{
if (_httpClient == null)
{
var proxy = new WebProxy
{
Address = new Uri(proxyURI),
BypassProxyOnLocal = false,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(
userName: proxyUserName,
password: proxyPassword)
};
var httpClientHandler = new HttpClientHandler
{
Proxy = proxy,
};
_httpClient = new HttpClient(handler: httpClientHandler);
}
}
public HttpClient GetHttpClient()
{
return _httpClient;
}
}
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -12,7 +12,7 @@
RootModule = 'CloudAPIPowerShellManagement.psm1' RootModule = 'CloudAPIPowerShellManagement.psm1'
# Version number of this module. # Version number of this module.
ModuleVersion = '3.8.1' ModuleVersion = '3.9.1'
# Supported PSEditions # Supported PSEditions
# CompatiblePSEditions = @() # CompatiblePSEditions = @()
@@ -27,7 +27,7 @@ Author = 'Mikael Karlsson'
# CompanyName = '' # CompanyName = ''
# Copyright statement for this module # Copyright statement for this module
Copyright = '(c) 2022 Mikael Karlsson. Software released under MIT License.' Copyright = '(c) 2023 Mikael Karlsson. Software released under MIT License.'
# Description of the functionality provided by this module # Description of the functionality provided by this module
Description = 'Management of Intune and Azure via Cloud APIs like Microsoft Graph API' Description = 'Management of Intune and Azure via Cloud APIs like Microsoft Graph API'
+83 -7
View File
@@ -11,7 +11,7 @@ This module handles the WPF UI
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.8.1' '3.9.1'
} }
function Initialize-Window function Initialize-Window
@@ -58,6 +58,7 @@ function Start-CoreApp
$global:useDefaultFolderDialog = $false $global:useDefaultFolderDialog = $false
$global:WindowsAPICodePackLoaded = $false $global:WindowsAPICodePackLoaded = $false
$script:proxyURI = $null
$global:loadedModules = @() $global:loadedModules = @()
$global:viewObjects = @() $global:viewObjects = @()
@@ -235,6 +236,8 @@ function Write-Log
if(-not $global:logFileMaxSize) { [Int64]$global:logFileMaxSize = Get-SettingValue "LogFileSize" 1024; $global:logFileMaxSize = $global:logFileMaxSize * 1kb } if(-not $global:logFileMaxSize) { [Int64]$global:logFileMaxSize = Get-SettingValue "LogFileSize" 1024; $global:logFileMaxSize = $global:logFileMaxSize * 1kb }
if($null -eq $global:logOutputError) { $global:logOutputError = Get-SettingValue "LogOutputError" }
$fi = [IO.FileInfo]$global:logFile $fi = [IO.FileInfo]$global:logFile
if($fi.Length -gt $global:logFileMaxSize) if($fi.Length -gt $global:logFileMaxSize)
@@ -286,12 +289,19 @@ function Write-Log
if($type -eq 2) if($type -eq 2)
{ {
Write-Warning $Text Write-Warning $Text
$typeStr = "Error" $typeStr = "Warning"
} }
elseif($type -eq 3) elseif($type -eq 3)
{ {
$host.ui.WriteErrorLine($Text) if($global:logOutputError -ne $false)
$typeStr = "Warning" {
$host.ui.WriteErrorLine($Text)
}
else
{
Write-Warning $Text
}
$typeStr = "Error"
} }
else else
{ {
@@ -667,8 +677,15 @@ function Show-UpdatesDialog
{ {
if($mystream) { $mystream.Dispose() } if($mystream) { $mystream.Dispose() }
} }
$params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/ReleaseNotes.md" $content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/ReleaseNotes.md" @params
if($content) if($content)
{ {
$txt = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content))) $txt = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content)))
@@ -703,7 +720,15 @@ function Get-IsLatestVersion
$gitHubVer = $null $gitHubVer = $null
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/releases/latest" $params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/releases/latest" @params
if($content.Name) if($content.Name)
{ {
try try
@@ -715,7 +740,15 @@ function Get-IsLatestVersion
if($null -eq $gitHubVer) if($null -eq $gitHubVer)
{ {
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/CloudAPIPowerShellManagement.psd1" $params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/CloudAPIPowerShellManagement.psd1" @params
$gitHubText = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content))) $gitHubText = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content)))
$gitHubInfo = Get-ModuleDataTable $gitHubText $gitHubInfo = Get-ModuleDataTable $gitHubText
try try
@@ -1150,6 +1183,10 @@ function Expand-FileName
[Environment]::SetEnvironmentVariable("DateTime",$null,[System.EnvironmentVariableTarget]::Process) [Environment]::SetEnvironmentVariable("DateTime",$null,[System.EnvironmentVariableTarget]::Process)
[Environment]::SetEnvironmentVariable("Organization",$null,[System.EnvironmentVariableTarget]::Process) [Environment]::SetEnvironmentVariable("Organization",$null,[System.EnvironmentVariableTarget]::Process)
# Remove invalid path characters
$re = "[{0}]" -f [RegEx]::Escape(([IO.Path]::GetInvalidPathChars() -join ''))
$fileName = $fileName -replace $re
$fileName $fileName
} }
@@ -1168,6 +1205,8 @@ function Initialize-Settings
$global:Debug = Get-SettingValue "Debug" $global:Debug = Get-SettingValue "Debug"
$global:logFile = $null $global:logFile = $null
$global:logFileMaxSize = $null $global:logFileMaxSize = $null
$global:logOutputError = $null
$script:proxyURI = $null
if($Updated -eq $true) if($Updated -eq $true)
{ {
@@ -1943,6 +1982,14 @@ function Add-DefaultSettings
DefaultValue = 1024 DefaultValue = 1024
}) "General" }) "General"
Add-SettingsObject (New-Object PSObject -Property @{
Title = "Add errors to PowerShell output"
Key = "LogOutputError"
Type = "Boolean"
Description = "Write errors to the Error Output of the PS Host. If disabled, errors will be written as a Warning. Eg. disable this if automation should skip logging PowerShell errors."
DefaultValue = $true
}) "General"
Add-SettingsObject (New-Object PSObject -Property @{ Add-SettingsObject (New-Object PSObject -Property @{
Title = "Debug" Title = "Debug"
Key = "Debug" Key = "Debug"
@@ -1998,6 +2045,12 @@ function Add-DefaultSettings
Description = "Adds the organization name next to the login info on the menu bar" Description = "Adds the organization name next to the login info on the menu bar"
}) "General" }) "General"
Add-SettingsObject (New-Object PSObject -Property @{
Title = "Proxy URI"
Key = "ProxyURI"
Description = "Specify the URI for the proxy eg http://<server>:<port>"
}) "General"
} }
function Add-SettingsObject function Add-SettingsObject
@@ -2435,6 +2488,15 @@ function Get-MainWindow
Show-ModalForm $window.Title $script:welcomeForm -HideButtons Show-ModalForm $window.Title $script:welcomeForm -HideButtons
} }
else
{
###!!! Force login here
if($global:currentViewObject.ViewInfo.Authenticate)
{
# Skip for now...need additional code to skip previous login and force this based on setting.
#!!!& $global:currentViewObject.ViewInfo.Authenticate -Params (@{"Interactve"=$true})
}
}
}) })
foreach($view in $global:viewObjects) foreach($view in $global:viewObjects)
@@ -2694,6 +2756,20 @@ function Get-Base64ScriptContent
} }
} }
function Get-ProxyURI
{
if($null -eq $script:proxyURI)
{
$script:proxyUri = Get-SettingValue "ProxyURI"
}
if($null -eq $script:proxyURI)
{
$script:proxyUri = ""
}
return $script:proxyURI
}
New-Alias -Name ?? -value Invoke-Coalesce New-Alias -Name ?? -value Invoke-Coalesce
New-Alias -Name ?: -value Invoke-IfTrue New-Alias -Name ?: -value Invoke-IfTrue
Export-ModuleMember -alias * -function * Export-ModuleMember -alias * -function *
+32 -4
View File
@@ -996,10 +996,24 @@
"category": "Win32Requirements.selectorLabel" "category": "Win32Requirements.selectorLabel"
}, },
{ {
"Columns": [
{
"metadata": {
"entityKey": "property",
"nameResourceKey": "ApplicabilityRules.GridLabel.property"
}
},
{
"metadata": {
"entityKey": "value",
"nameResourceKey": "ApplicabilityRules.GridLabel.value"
}
}
],
"nameResourceKey": "Win32Requirements.AdditionalRequirements.label", "nameResourceKey": "Win32Requirements.AdditionalRequirements.label",
"descriptionResourceKey": "", "descriptionResourceKey": "",
"entityKey": "requirementRulesSummary", "entityKey": "requirementRulesTranslated",
"dataType": 20, "dataType": 21,
"booleanActions": 0, "booleanActions": 0,
"category": "Win32Requirements.selectorLabel" "category": "Win32Requirements.selectorLabel"
}, },
@@ -1012,10 +1026,24 @@
"category": "DetectionRules.selectorLabel" "category": "DetectionRules.selectorLabel"
}, },
{ {
"Columns": [
{
"metadata": {
"entityKey": "property",
"nameResourceKey": "ApplicabilityRules.GridLabel.property"
}
},
{
"metadata": {
"entityKey": "value",
"nameResourceKey": "ApplicabilityRules.GridLabel.value"
}
}
],
"nameResourceKey": "DetectionRules.selectorLabel", "nameResourceKey": "DetectionRules.selectorLabel",
"descriptionResourceKey": "", "descriptionResourceKey": "",
"entityKey": "detectionRulesSummary", "entityKey": "detectionRulesTranslated",
"dataType": 20, "dataType": 21,
"booleanActions": 0, "booleanActions": 0,
"category": "DetectionRules.selectorLabel", "category": "DetectionRules.selectorLabel",
"Condition": { "Condition": {
@@ -0,0 +1,69 @@
[
{
"nameResourceKey": "TableHeaders.policyType",
"descriptionResourceKey": "",
"entityKey": "WindowsDriverUpdateProfile.Subtitle.automatic",
"dataType": 200,
"booleanActions": 0,
"category": 1000,
"Condition": {
"Expressions": [
{
"property": "approvalType",
"value": "automatic"
}
]
}
},
{
"nameResourceKey": "TableHeaders.policyType",
"descriptionResourceKey": "",
"entityKey": "WindowsDriverUpdateProfile.Subtitle.manual",
"dataType": 200,
"booleanActions": 0,
"category": 1000,
"Condition": {
"Expressions": [
{
"property": "approvalType",
"value": "manual"
}
]
}
},
{
"nameResourceKey": "WindowsDriverUpdateProfile.Details.ApprovalMethod.label",
"descriptionResourceKey": "",
"entityKey": "approvalType",
"dataType": 16,
"booleanActions": 0,
"category": "TableHeaders.settings",
"options": [
{
"nameResourceKey": "WindowsDriverUpdateProfile.ApprovalMethod.automatic",
"value": "automatic"
},
{
"nameResourceKey": "WindowsDriverUpdateProfile.ApprovalMethod.manual",
"value": "manual"
}
]
},
{
"nameResourceKey": "WindowsDriverUpdateProfile.Details.DeploymentDeferralInDays.label",
"descriptionResourceKey": "",
"entityKey": "deploymentDeferralInDays",
"formatStringKey": "WindowsDriverUpdateProfile.Details.DeploymentDeferralInDays.value",
"dataType": 108,
"booleanActions": 0,
"category": "TableHeaders.settings",
"Condition": {
"Expressions": [
{
"property": "approvalType",
"value": "automatic"
}
]
}
}
]
@@ -113,6 +113,164 @@
"defaultValue": false, "defaultValue": false,
"policyType": 2, "policyType": 2,
"enabled": true "enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appNameName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "name",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "packageName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appId",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appUrlName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appStoreUrl",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appPublisherName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "publisher",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
}
],
"dataType": 21,
"category": 2,
"nameResourceKey": "certificateInstallTitle",
"descriptionResourceKey": "certificateInstallDescription",
"childSettings": [
],
"options": [
],
"entityKey": "certInstallApps",
"booleanActions": 0,
"policyType": 2,
"enabled": false
},
{
"complexOptions": [
{
"dataType": 11,
"category": 2,
"nameResourceKey": "selectSecurityApp",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
],
"entityKey": "securityLogAppId",
"booleanActions": 0,
"policyType": 2,
"enabled": true
}
],
"dataType": 5,
"category": 2,
"nameResourceKey": "securityLogsTitle",
"emptyValueResourceKey": "selectSecurityApp",
"childSettings": [
],
"options": [
],
"entityKey": "securityLogApp",
"booleanActions": 0,
"policyType": 2,
"enabled": false
},
{
"complexOptions": [
{
"dataType": 11,
"category": 2,
"nameResourceKey": "selectNetworkApp",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
],
"entityKey": "networkLogAppId",
"booleanActions": 0,
"policyType": 2,
"enabled": true
}
],
"dataType": 5,
"category": 2,
"nameResourceKey": "networkLogsTitle",
"emptyValueResourceKey": "selectNetworkApp",
"childSettings": [
],
"options": [
],
"entityKey": "networkLogApp",
"booleanActions": 0,
"policyType": 2,
"enabled": false
} }
], ],
"options": [ "options": [
@@ -44,7 +44,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 108, "policyType": 108,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -154,8 +154,8 @@
{ {
"dataType": 16, "dataType": 16,
"category": 39, "category": 39,
"nameResourceKey": "safetyNetAttestationOptionsName", "nameResourceKey": "playIntegrityVerdictOptionsName",
"descriptionResourceKey": "safetyNetAttestationOptionsDescription", "descriptionResourceKey": "playIntegrityVerdictOptionsDescription",
"childSettings": [ "childSettings": [
], ],
@@ -166,17 +166,17 @@
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetbasicIntegrity", "nameResourceKey": "androidPlayIntegrityVerdictBasicIntegrity",
"value": "basicIntegrity", "value": "basicIntegrity",
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetBasicIntegrityAndCertified", "nameResourceKey": "androidPlayIntegrityVerdictBasicAndDeviceIntegrity",
"value": "basicIntegrityAndCertified", "value": "basicIntegrityAndCertified",
"enabled": true "enabled": true
} }
], ],
"entityKey": "androidSafetyNetAttestationOptions", "entityKey": "androidPlayIntegrityVerdictOptions",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured", "unconfiguredValue": "notConfigured",
@@ -52,8 +52,8 @@
{ {
"dataType": 16, "dataType": 16,
"category": 39, "category": 39,
"nameResourceKey": "safetyNetAttestationOptionsName", "nameResourceKey": "playIntegrityVerdictOptionsName",
"descriptionResourceKey": "safetyNetAttestationOptionsDescription", "descriptionResourceKey": "playIntegrityVerdictOptionsDescription",
"childSettings": [ "childSettings": [
], ],
@@ -64,17 +64,17 @@
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetbasicIntegrity", "nameResourceKey": "androidPlayIntegrityVerdictBasicIntegrity",
"value": "basicIntegrity", "value": "basicIntegrity",
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetBasicIntegrityAndCertified", "nameResourceKey": "androidPlayIntegrityVerdictBasicAndDeviceIntegrity",
"value": "basicIntegrityAndCertified", "value": "basicIntegrityAndCertified",
"enabled": true "enabled": true
} }
], ],
"entityKey": "androidSafetyNetAttestationOptions", "entityKey": "androidPlayIntegrityVerdictOptions",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured", "unconfiguredValue": "notConfigured",
@@ -103,8 +103,8 @@
{ {
"dataType": 16, "dataType": 16,
"category": 39, "category": 39,
"nameResourceKey": "safetyNetAttestationOptionsName", "nameResourceKey": "playIntegrityVerdictOptionsName",
"descriptionResourceKey": "safetyNetAttestationOptionsDescription", "descriptionResourceKey": "playIntegrityVerdictOptionsDescription",
"childSettings": [ "childSettings": [
], ],
@@ -115,25 +115,25 @@
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetbasicIntegrity", "nameResourceKey": "androidPlayIntegrityVerdictBasicIntegrity",
"value": "basicIntegrity", "value": "basicIntegrity",
"children": [ "children": [
{ {
"dataType": 16, "dataType": 16,
"category": 39, "category": 39,
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeName", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeName",
"descriptionResourceKey": "requiredAndroidSafetyNetEvaluationTypeDescription", "descriptionResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeDescription",
"childSettings": [ "childSettings": [
], ],
"options": [ "options": [
{ {
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeBasic", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeBasic",
"value": "basic", "value": "basic",
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeHardwareBacked", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeHardwareBacked",
"value": "hardwareBacked", "value": "hardwareBacked",
"enabled": true "enabled": true
} }
@@ -149,25 +149,25 @@
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "androidSafetyNetBasicIntegrityAndCertified", "nameResourceKey": "androidPlayIntegrityVerdictBasicAndDeviceIntegrity",
"value": "basicIntegrityAndCertified", "value": "basicIntegrityAndCertified",
"children": [ "children": [
{ {
"dataType": 16, "dataType": 16,
"category": 39, "category": 39,
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeName", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeName",
"descriptionResourceKey": "requiredAndroidSafetyNetEvaluationTypeDescription", "descriptionResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeDescription",
"childSettings": [ "childSettings": [
], ],
"options": [ "options": [
{ {
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeBasic", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeBasic",
"value": "basic", "value": "basic",
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "requiredAndroidSafetyNetEvaluationTypeHardwareBacked", "nameResourceKey": "requiredAndroidPlayIntegrityVerdictEvaluationTypeHardwareBacked",
"value": "hardwareBacked", "value": "hardwareBacked",
"enabled": true "enabled": true
} }
@@ -183,7 +183,7 @@
"enabled": true "enabled": true
} }
], ],
"entityKey": "androidSafetyNetAttestationOptions", "entityKey": "androidPlayIntegrityVerdictOptions",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured", "unconfiguredValue": "notConfigured",
@@ -1,68 +1,178 @@
{ {
"devicehealth_compliancewindows10": { "devicehealth_compliancewindows10": [
"isSettingDescription": false, {
"showAsSectionHeader": false, "isSettingDescription": false,
"dataType": 8, "showAsSectionHeader": false,
"category": 39, "dataType": 8,
"nameResourceKey": "complianceWindowsDeviceHealthAttestationHeader", "category": 39,
"childSettings": [ "nameResourceKey": "complianceWindowsDeviceHealthAttestationHeader",
{ "childSettings": [
"dataType": 0,
"category": 39,
"nameResourceKey": "bitLockerEnabledName",
"descriptionResourceKey": "bitLockerEnabledDescription",
"childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "bitLockerEnabled", "booleanActions": 0,
"booleanActions": 1, "policyType": 35,
"defaultValue": false, "enabled": true
"policyType": 35, },
"enabled": true {
}, "isSettingDescription": false,
{ "showAsSectionHeader": false,
"dataType": 0, "dataType": 8,
"category": 39, "category": 39,
"nameResourceKey": "secureBootEnabledName", "nameResourceKey": "complianceWindows10DeviceHealthAttestationHeader",
"descriptionResourceKey": "secureBootEnabledDescription", "childSettings": [
"childSettings": [ {
"dataType": 0,
"category": 39,
"nameResourceKey": "bitLockerEnabledName",
"childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "secureBootEnabled", "entityKey": "bitLockerEnabled",
"booleanActions": 1, "booleanActions": 1,
"defaultValue": false, "defaultValue": false,
"policyType": 35, "policyType": 35,
"enabled": true "enabled": true
}, },
{ {
"dataType": 0, "dataType": 0,
"category": 39, "category": 39,
"nameResourceKey": "codeIntegrityEnabledName", "nameResourceKey": "secureBootEnabledName",
"descriptionResourceKey": "codeIntegrityEnabledDescription", "childSettings": [
"childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "codeIntegrityEnabled", "entityKey": "secureBootEnabled",
"booleanActions": 1, "booleanActions": 1,
"defaultValue": false, "defaultValue": false,
"policyType": 35, "policyType": 35,
"enabled": true "enabled": true
} },
], {
"options": [ "dataType": 0,
"category": 39,
"nameResourceKey": "codeIntegrityEnabledName",
"childSettings": [
], ],
"booleanActions": 0, "options": [
"policyType": 35,
"enabled": true ],
} "entityKey": "codeIntegrityEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 35,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 39,
"nameResourceKey": "complianceWindows11DeviceHealthAttestationHeader",
"childSettings": [
{
"dataType": 0,
"category": 39,
"nameResourceKey": "earlyLaunchAntiMalwareDriverEnabledName",
"childSettings": [
],
"options": [
],
"entityKey": "earlyLaunchAntiMalwareDriverEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": false
},
{
"dataType": 0,
"category": 39,
"nameResourceKey": "firmwareProtectionEnabledName",
"childSettings": [
],
"options": [
],
"entityKey": "firmwareProtectionEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": false
},
{
"dataType": 0,
"category": 39,
"nameResourceKey": "hvciEnabledName",
"childSettings": [
],
"options": [
],
"entityKey": "memoryIntegrityEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": false
},
{
"dataType": 0,
"category": 39,
"nameResourceKey": "memoryAccessProtectionEnabledName",
"childSettings": [
],
"options": [
],
"entityKey": "kernelDmaProtectionEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": false
},
{
"dataType": 0,
"category": 39,
"nameResourceKey": "virtualizationBasedSecurityEnabledName",
"childSettings": [
],
"options": [
],
"entityKey": "virtualizationBasedSecurityEnabled",
"booleanActions": 1,
"defaultValue": false,
"policyType": 35,
"enabled": false
}
],
"options": [
],
"booleanActions": 0,
"policyType": 35,
"enabled": false
}
]
} }
@@ -1078,6 +1078,40 @@
"policyType": 2, "policyType": 2,
"enabled": true "enabled": true
}, },
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 44,
"nameResourceKey": "fullyManagedAndCorporateOwnedWorkProfileAndroidEnrollmentTypesHeaderName",
"descriptionResourceKey": "fullyManagedAndCorporateOwnedWorkProfileAndroidEnrollmentTypesHeaderDescription",
"childSettings": [
{
"dataType": 0,
"category": 44,
"nameResourceKey": "androidDeviceOwnerLocateDeviceName",
"descriptionResourceKey": "androidDeviceOwnerLocateDeviceLostModeEnabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "locateDeviceLostModeEnabled",
"booleanActions": 0,
"defaultValue": false,
"unconfiguredValue": false,
"policyType": 2,
"enabled": false
}
],
"options": [
],
"booleanActions": 0,
"policyType": 2,
"enabled": true
},
{ {
"isSettingDescription": false, "isSettingDescription": false,
"showAsSectionHeader": true, "showAsSectionHeader": true,
@@ -1200,6 +1234,24 @@
"defaultValue": false, "defaultValue": false,
"policyType": 2, "policyType": 2,
"enabled": false "enabled": false
},
{
"dataType": 0,
"category": 44,
"nameResourceKey": "androidDeviceOwnerLocateDeviceName",
"descriptionResourceKey": "androidDeviceOwnerLocateDeviceUserlessDisabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "locateDeviceUserlessDisabled",
"booleanActions": 3,
"defaultValue": false,
"unconfiguredValue": false,
"policyType": 2,
"enabled": false
} }
], ],
"options": [ "options": [
@@ -617,6 +617,23 @@
"defaultValue": false, "defaultValue": false,
"policyType": 61, "policyType": 61,
"enabled": true "enabled": true
},
{
"dataType": 0,
"category": 44,
"nameResourceKey": "allowActivationLockWhenSupervisedName",
"descriptionResourceKey": "allowActivationLockWhenSupervisedDescription",
"childSettings": [
],
"options": [
],
"entityKey": "activationLockWhenSupervisedAllowed",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
} }
], ],
"options": [ "options": [
@@ -33,20 +33,47 @@
"enabled": true "enabled": true
}, },
{ {
"dataType": 14, "dataType": 10,
"category": 90, "category": 90,
"nameResourceKey": "minimumPasswordLengthName", "nameResourceKey": "androidTwelveDeprecationInfoBox",
"descriptionResourceKey": "minimumPasswordLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [ "childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "passwordMinimumLength",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": 4, "policyType": 13,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 90,
"nameResourceKey": "allAndroidVersionsPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 90,
"nameResourceKey": "allAndroidVersionsPasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
}, },
@@ -153,64 +180,6 @@
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
}, },
{
"dataType": 16,
"category": 90,
"nameResourceKey": "requiredPasswordTypeName",
"descriptionResourceKey": "requiredPasswordTypeDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
"childSettings": [
],
"options": [
{
"nameResourceKey": "deviceDefault",
"value": "deviceDefault",
"enabled": true
},
{
"nameResourceKey": "lowSecurityBiometricOption",
"value": "lowSecurityBiometric",
"enabled": true
},
{
"nameResourceKey": "required",
"value": "required",
"enabled": true
},
{
"nameResourceKey": "atLeastNumericOption",
"value": "atLeastNumeric",
"enabled": true
},
{
"nameResourceKey": "numericComplex",
"value": "numericComplex",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphabeticOption",
"value": "atLeastAlphabetic",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericOption",
"value": "atLeastAlphanumeric",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericWithSymbolsOption",
"value": "alphanumericWithSymbols",
"enabled": true
}
],
"entityKey": "passwordRequiredType",
"booleanActions": 0,
"defaultValue": "atLeastNumeric",
"unconfiguredValue": "atLeastNumeric",
"policyType": 13,
"enabled": true
},
{ {
"dataType": 14, "dataType": 14,
"category": 90, "category": 90,
@@ -296,6 +265,181 @@
"defaultValue": false, "defaultValue": false,
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 90,
"nameResourceKey": "androidTwelveAndAbovePasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 90,
"nameResourceKey": "androidTwelveAndAbovePasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{
"dataType": 16,
"category": 90,
"nameResourceKey": "requiredPasswordComplexityName",
"descriptionResourceKey": "requiredPasswordComplexityDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "none",
"value": "none",
"enabled": true
},
{
"nameResourceKey": "low",
"value": "low",
"enabled": true
},
{
"nameResourceKey": "medium",
"value": "medium",
"enabled": true
},
{
"nameResourceKey": "high",
"value": "high",
"enabled": true
}
],
"entityKey": "requiredPasswordComplexity",
"booleanActions": 0,
"defaultValue": "none",
"unconfiguredValue": "none",
"policyType": 13,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 90,
"nameResourceKey": "androidElevenAndBelowPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 90,
"nameResourceKey": "androidElevenAndBelowPasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{
"dataType": 16,
"category": 90,
"nameResourceKey": "requiredPasswordTypeName",
"descriptionResourceKey": "requiredPasswordTypeDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
"childSettings": [
],
"options": [
{
"nameResourceKey": "deviceDefault",
"value": "deviceDefault",
"enabled": true
},
{
"nameResourceKey": "lowSecurityBiometricOption",
"value": "lowSecurityBiometric",
"enabled": true
},
{
"nameResourceKey": "required",
"value": "required",
"enabled": true
},
{
"nameResourceKey": "atLeastNumericOption",
"value": "atLeastNumeric",
"enabled": true
},
{
"nameResourceKey": "numericComplex",
"value": "numericComplex",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphabeticOption",
"value": "atLeastAlphabetic",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericOption",
"value": "atLeastAlphanumeric",
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericWithSymbolsOption",
"value": "alphanumericWithSymbols",
"enabled": true
}
],
"entityKey": "passwordRequiredType",
"booleanActions": 0,
"defaultValue": "atLeastNumeric",
"unconfiguredValue": "atLeastNumeric",
"policyType": 13,
"enabled": true
},
{
"dataType": 14,
"category": 90,
"nameResourceKey": "minimumPasswordLengthName",
"descriptionResourceKey": "minimumPasswordLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"defaultValue": 4,
"policyType": 13,
"enabled": true
} }
] ]
} }
@@ -448,6 +448,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -418,6 +418,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -195,6 +195,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -418,6 +418,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -457,6 +457,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -457,6 +457,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -234,6 +234,12 @@
"displayText": "2048", "displayText": "2048",
"value": "size2048", "value": "size2048",
"enabled": true "enabled": true
},
{
"nameResourceKey": "",
"displayText": "4096",
"value": "size4096",
"enabled": false
} }
], ],
"entityKey": "keySize", "entityKey": "keySize",
@@ -14,7 +14,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"isSettingDescription": false, "isSettingDescription": false,
@@ -30,7 +30,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"isSettingDescription": false, "isSettingDescription": false,
@@ -46,7 +46,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"isSettingDescription": false, "isSettingDescription": false,
@@ -62,7 +62,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -87,7 +87,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -112,7 +112,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -137,7 +137,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -162,7 +162,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": "notConfigured", "defaultValue": "notConfigured",
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"isSettingDescription": false, "isSettingDescription": false,
@@ -178,7 +178,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"isSettingDescription": false, "isSettingDescription": false,
@@ -194,7 +194,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -226,7 +226,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -432,7 +432,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": 0, "defaultValue": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"columns": [ "columns": [
@@ -484,7 +484,7 @@
"entityKey": "startDay", "entityKey": "startDay",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -620,7 +620,7 @@
"entityKey": "startTime", "entityKey": "startTime",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -671,7 +671,7 @@
"entityKey": "endDay", "entityKey": "endDay",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -808,7 +808,7 @@
"entityKey": "endTime", "entityKey": "endTime",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
} }
], ],
@@ -825,7 +825,7 @@
"entityKey": "customUpdateTimeWindows", "entityKey": "customUpdateTimeWindows",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
], ],
"enabled": true "enabled": true
@@ -846,7 +846,7 @@
], ],
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"dataType": 16, "dataType": 16,
@@ -1052,7 +1052,7 @@
"booleanActions": 0, "booleanActions": 0,
"defaultValue": 0, "defaultValue": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
}, },
{ {
"columns": [ "columns": [
@@ -1104,7 +1104,7 @@
"entityKey": "startDay", "entityKey": "startDay",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -1240,7 +1240,7 @@
"entityKey": "startTime", "entityKey": "startTime",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -1291,7 +1291,7 @@
"entityKey": "endDay", "entityKey": "endDay",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
}, },
{ {
@@ -1428,7 +1428,7 @@
"entityKey": "endTime", "entityKey": "endTime",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
} }
], ],
@@ -1445,7 +1445,7 @@
"entityKey": "customUpdateTimeWindows", "entityKey": "customUpdateTimeWindows",
"booleanActions": 0, "booleanActions": 0,
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
], ],
"enabled": true "enabled": true
@@ -1456,7 +1456,7 @@
"defaultValue": "alwaysUpdate", "defaultValue": "alwaysUpdate",
"unconfiguredValue": "alwaysUpdate", "unconfiguredValue": "alwaysUpdate",
"policyType": 69, "policyType": 69,
"enabled": false "enabled": true
} }
] ]
} }
@@ -1,451 +1,5 @@
{ {
"systemsecurity_complianceandroidforwork": [ "systemsecurity_complianceandroidforwork": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 113,
"nameResourceKey": "androidPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 113,
"nameResourceKey": "learnMore",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 0,
"category": 113,
"nameResourceKey": "compliancePasswordRequirementName",
"descriptionResourceKey": "compliancePasswordRequirementDescription",
"childSettings": [
{
"dataType": 16,
"category": 113,
"nameResourceKey": "requiredPasswordTypeName",
"descriptionResourceKey": "complianceRequiredPasswordTypeDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "selectTypeOption",
"enabled": true
},
{
"nameResourceKey": "deviceDefault",
"value": "deviceDefault",
"enabled": true
},
{
"nameResourceKey": "lowSecurityBiometricOption",
"value": "lowSecurityBiometric",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastNumericOption",
"value": "numeric",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "numericComplex",
"value": "numericComplex",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphabeticOption",
"value": "alphabetic",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericOption",
"value": "alphanumeric",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericWithSymbolsOption",
"value": "alphanumericWithSymbols",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "passwordRequiredType",
"booleanActions": 0,
"defaultValue": "deviceDefault",
"unconfiguredValue": "deviceDefault",
"policyType": 30,
"enabled": true
}
],
"options": [
],
"entityKey": "passwordRequired",
"booleanActions": 1,
"defaultValue": false,
"policyType": 30,
"enabled": true
},
{
"dataType": 16,
"category": 113,
"nameResourceKey": "complianceMinutesOfInactivityBeforePasswordRequiredName",
"descriptionResourceKey": "complianceMinutesOfInactivityBeforePasswordRequiredDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "notConfigured",
"enabled": true
},
{
"nameResourceKey": "oneMinuteOption",
"value": 1,
"enabled": true
},
{
"nameResourceKey": "fiveMinutesOption",
"value": 5,
"enabled": true
},
{
"nameResourceKey": "tenMinutesOption",
"value": 10,
"enabled": true
},
{
"nameResourceKey": "fifteenMinutesOption",
"value": 15,
"enabled": true
},
{
"nameResourceKey": "thirtyMinutesOption",
"value": 30,
"enabled": true
},
{
"nameResourceKey": "oneHourOption",
"value": 60,
"enabled": true
},
{
"nameResourceKey": "fourHoursOption",
"value": 240,
"enabled": true
},
{
"nameResourceKey": "eightHoursOption",
"value": 480,
"enabled": true
}
],
"entityKey": "passwordMinutesOfInactivityBeforeLock",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{ {
"isSettingDescription": false, "isSettingDescription": false,
"showAsSectionHeader": false, "showAsSectionHeader": false,
@@ -576,6 +130,410 @@
"booleanActions": 0, "booleanActions": 0,
"policyType": 30, "policyType": 30,
"enabled": true "enabled": true
},
{
"dataType": 0,
"category": 113,
"nameResourceKey": "compliancePasswordRequirementName",
"descriptionResourceKey": "compliancePasswordRequirementDescription",
"childSettings": [
{
"dataType": 10,
"category": 113,
"nameResourceKey": "androidTwelveDeprecationInfoBox",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 113,
"nameResourceKey": "allAndroidVersionsPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 113,
"nameResourceKey": "allAndroidVersionsPasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "passwordExpirationName",
"descriptionResourceKey": "passwordExpirationDescription",
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueOneYearKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordExpirationDays",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "numberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "passwordPreviousPasswordBlockCount",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 16,
"category": 113,
"nameResourceKey": "complianceMinutesOfInactivityBeforePasswordRequiredName",
"descriptionResourceKey": "complianceMinutesOfInactivityBeforePasswordRequiredDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "notConfigured",
"enabled": true
},
{
"nameResourceKey": "oneMinuteOption",
"value": 1,
"enabled": true
},
{
"nameResourceKey": "fiveMinutesOption",
"value": 5,
"enabled": true
},
{
"nameResourceKey": "tenMinutesOption",
"value": 10,
"enabled": true
},
{
"nameResourceKey": "fifteenMinutesOption",
"value": 15,
"enabled": true
},
{
"nameResourceKey": "thirtyMinutesOption",
"value": 30,
"enabled": true
},
{
"nameResourceKey": "oneHourOption",
"value": 60,
"enabled": true
},
{
"nameResourceKey": "fourHoursOption",
"value": 240,
"enabled": true
},
{
"nameResourceKey": "eightHoursOption",
"value": 480,
"enabled": true
}
],
"entityKey": "passwordMinutesOfInactivityBeforeLock",
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 113,
"nameResourceKey": "androidTwelveAndAbovePasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 113,
"nameResourceKey": "androidTwelveAndAbovePasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 16,
"category": 113,
"nameResourceKey": "requiredPasswordComplexityName",
"descriptionResourceKey": "requiredPasswordComplexityDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "none",
"value": "none",
"enabled": true
},
{
"nameResourceKey": "low",
"value": "low",
"enabled": true
},
{
"nameResourceKey": "medium",
"value": "medium",
"enabled": true
},
{
"nameResourceKey": "high",
"value": "high",
"enabled": true
}
],
"entityKey": "requiredPasswordComplexity",
"booleanActions": 0,
"defaultValue": "none",
"unconfiguredValue": "none",
"policyType": 30,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 113,
"nameResourceKey": "androidElevenAndBelowPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 113,
"nameResourceKey": "androidElevenAndBelowPasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 30,
"enabled": true
},
{
"dataType": 16,
"category": 113,
"nameResourceKey": "requiredPasswordTypeName",
"descriptionResourceKey": "complianceRequiredPasswordTypeDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "selectTypeOption",
"enabled": true
},
{
"nameResourceKey": "deviceDefault",
"value": "deviceDefault",
"enabled": true
},
{
"nameResourceKey": "lowSecurityBiometricOption",
"value": "lowSecurityBiometric",
"enabled": true
},
{
"nameResourceKey": "atLeastNumericOption",
"value": "numeric",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "numericComplex",
"value": "numericComplex",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphabeticOption",
"value": "alphabetic",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericOption",
"value": "alphanumeric",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "atLeastAlphanumericWithSymbolsOption",
"value": "alphanumericWithSymbols",
"children": [
{
"dataType": 14,
"category": 113,
"nameResourceKey": "complianceMinimumPasswordLengthName",
"descriptionResourceKey": "passwordMinimumLengthDescription",
"emptyValueResourceKey": "minimumPasswordLengthEmptyValueKeyFourToSixteen",
"childSettings": [
],
"options": [
],
"entityKey": "passwordMinimumLength",
"booleanActions": 0,
"policyType": 30,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "passwordRequiredType",
"booleanActions": 0,
"defaultValue": "deviceDefault",
"unconfiguredValue": "deviceDefault",
"policyType": 30,
"enabled": true
}
],
"options": [
],
"entityKey": "passwordRequired",
"booleanActions": 1,
"defaultValue": false,
"policyType": 30,
"enabled": true
} }
] ]
} }
@@ -1707,303 +1707,6 @@
} }
], ],
"enabled": true "enabled": true
},
{
"nameResourceKey": "microsoftTunnelOption",
"value": "microsoftTunnel",
"children": [
{
"complexOptions": [
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyConnectionName",
"descriptionResourceKey": "vPNPolicyConnectionDescription",
"emptyValueResourceKey": "vPNConnectionExample",
"childSettings": [
],
"options": [
],
"entityKey": "connectionName",
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 26,
"category": 129,
"nameResourceKey": "changeMicrosoftTunnelSite",
"descriptionResourceKey": "microsoftTunnelSite",
"emptyValueResourceKey": "selectMicrosoftTunnelSite",
"childSettings": [
],
"options": [
],
"entityKey": "microsoftTunnelSiteId",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "microsoftTunnelSite",
"descriptionResourceKey": "microsoftTunnelSiteDescription",
"emptyValueResourceKey": "selectMicrosoftTunnelSite",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpn",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"complexOptions": [
{
"isSettingDescription": true,
"showAsSectionHeader": false,
"dataType": 8,
"category": 129,
"nameResourceKey": "vPNAppsName",
"descriptionResourceKey": "vPNAppsDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 129,
"nameResourceKey": "appId",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appId",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
},
{
"metadata": {
"dataType": 20,
"category": 129,
"nameResourceKey": "appNameName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "name",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
}
],
"dataType": 21,
"category": 129,
"nameResourceKey": "Empty",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "targetedMobileApps",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnPerApp",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 0,
"category": 129,
"nameResourceKey": "androidPersonalWorkProfileAlwaysOnVpnEnabledName",
"descriptionResourceKey": "androidEnterpriseWorkProfileAlwaysOnVpnEnabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "alwaysOn",
"booleanActions": 2,
"defaultValue": false,
"policyType": 8,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnAlwaysOn",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"complexOptions": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 129,
"nameResourceKey": "vPNPolicyUseProxyServerName",
"descriptionResourceKey": "vPNPolicyUseProxyServerDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyAutomaticConfigurationScriptName",
"descriptionResourceKey": "vPNPolicyAutomaticConfigurationScriptDescription",
"emptyValueResourceKey": "vPNScriptExample",
"childSettings": [
],
"options": [
],
"entityKey": "automaticConfigurationScriptUrl",
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyAddressName",
"descriptionResourceKey": "vPNPolicyAddressDescription",
"emptyValueResourceKey": "vPNAddressExample",
"childSettings": [
],
"options": [
],
"entityKey": "address",
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 14,
"category": 129,
"nameResourceKey": "vPNPolicyPortNumberName",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "proxyPortExample",
"childSettings": [
],
"options": [
],
"entityKey": "port",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"dataType": 6,
"category": 129,
"nameResourceKey": "vPNPolicyUseProxyServerName",
"descriptionResourceKey": "vPNPolicyUseProxyServerDescription",
"childSettings": [
],
"options": [
],
"entityKey": "proxyServer",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnProxy",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": false
} }
], ],
"entityKey": "connectionType", "entityKey": "connectionType",
@@ -1683,303 +1683,6 @@
} }
], ],
"enabled": true "enabled": true
},
{
"nameResourceKey": "microsoftTunnelOption",
"value": "microsoftTunnel",
"children": [
{
"complexOptions": [
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyConnectionName",
"descriptionResourceKey": "vPNPolicyConnectionDescription",
"emptyValueResourceKey": "vPNConnectionExample",
"childSettings": [
],
"options": [
],
"entityKey": "connectionName",
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 26,
"category": 129,
"nameResourceKey": "changeMicrosoftTunnelSite",
"descriptionResourceKey": "microsoftTunnelSite",
"emptyValueResourceKey": "selectMicrosoftTunnelSite",
"childSettings": [
],
"options": [
],
"entityKey": "microsoftTunnelSiteId",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "microsoftTunnelSite",
"descriptionResourceKey": "microsoftTunnelSiteDescription",
"emptyValueResourceKey": "selectMicrosoftTunnelSite",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpn",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"complexOptions": [
{
"isSettingDescription": true,
"showAsSectionHeader": false,
"dataType": 8,
"category": 129,
"nameResourceKey": "vPNAppsName",
"descriptionResourceKey": "vPNAppsDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 129,
"nameResourceKey": "appId",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appId",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
},
{
"metadata": {
"dataType": 20,
"category": 129,
"nameResourceKey": "appNameName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "name",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
}
],
"dataType": 21,
"category": 129,
"nameResourceKey": "Empty",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "targetedMobileApps",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnPerApp",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 0,
"category": 129,
"nameResourceKey": "androidPersonalWorkProfileAlwaysOnVpnEnabledName",
"descriptionResourceKey": "androidEnterpriseWorkProfileAlwaysOnVpnEnabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "alwaysOn",
"booleanActions": 2,
"defaultValue": false,
"policyType": 12,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnAlwaysOn",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"complexOptions": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 129,
"nameResourceKey": "vPNPolicyUseProxyServerName",
"descriptionResourceKey": "vPNPolicyUseProxyServerDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyAutomaticConfigurationScriptName",
"descriptionResourceKey": "vPNPolicyAutomaticConfigurationScriptDescription",
"emptyValueResourceKey": "vPNScriptExample",
"childSettings": [
],
"options": [
],
"entityKey": "automaticConfigurationScriptUrl",
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"dataType": 20,
"category": 129,
"nameResourceKey": "vPNPolicyAddressName",
"descriptionResourceKey": "vPNPolicyAddressDescription",
"emptyValueResourceKey": "vPNAddressExample",
"childSettings": [
],
"options": [
],
"entityKey": "address",
"booleanActions": 0,
"policyType": 12,
"enabled": true
},
{
"dataType": 14,
"category": 129,
"nameResourceKey": "vPNPolicyPortNumberName",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "proxyPortExample",
"childSettings": [
],
"options": [
],
"entityKey": "port",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"dataType": 6,
"category": 129,
"nameResourceKey": "vPNPolicyUseProxyServerName",
"descriptionResourceKey": "vPNPolicyUseProxyServerDescription",
"childSettings": [
],
"options": [
],
"entityKey": "proxyServer",
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"dataType": 5,
"category": 129,
"nameResourceKey": "vpnProxy",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 12,
"enabled": true
}
],
"enabled": false
} }
], ],
"entityKey": "connectionType", "entityKey": "connectionType",
@@ -559,6 +559,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -2276,6 +2304,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -3993,6 +4049,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -5710,6 +5794,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -7915,6 +8027,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -9632,6 +9772,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -11349,6 +11517,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -13051,6 +13247,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -15141,6 +15365,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -16843,6 +17095,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -18545,6 +18825,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -20289,6 +20597,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -22006,6 +22342,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -23723,6 +24087,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -25440,6 +25832,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -27645,6 +28065,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -29362,6 +29810,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -31079,6 +31555,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -32781,6 +33285,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -34871,6 +35403,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -36573,6 +37133,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -38275,6 +38863,34 @@
"enabled": true "enabled": true
} }
}, },
{
"metadata": {
"dataType": 16,
"category": 129,
"nameResourceKey": "trafficRuleDirectionName",
"descriptionResourceKey": "trafficRuleDirectionDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "outboundOption",
"value": "outbound",
"enabled": true
},
{
"nameResourceKey": "inboundOption",
"value": "inbound",
"enabled": true
}
],
"entityKey": "vpnTrafficDirection",
"booleanActions": 0,
"defaultValue": "outbound",
"policyType": 89,
"enabled": true
}
},
{ {
"metadata": { "metadata": {
"dataType": 14, "dataType": 14,
@@ -50,7 +50,7 @@
"dataType": 20, "dataType": 20,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypePermittedUrlsColumnName", "nameResourceKey": "webContentFilterTypePermittedUrlsColumnName",
"emptyValueResourceKey": "WebContentFilterWhiteListedUrlExample", "emptyValueResourceKey": "WebContentFilterPermittedUrlExample",
"childSettings": [ "childSettings": [
], ],
@@ -86,7 +86,7 @@
"dataType": 20, "dataType": 20,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeBlockedUrlsColumnName", "nameResourceKey": "webContentFilterTypeBlockedUrlsColumnName",
"emptyValueResourceKey": "WebContentFilterBlackListedUrlExample", "emptyValueResourceKey": "WebContentFilterBlockedUrlExample",
"childSettings": [ "childSettings": [
], ],
@@ -119,7 +119,7 @@
"enabled": true "enabled": true
}, },
{ {
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsOption", "nameResourceKey": "webContentFilterTypePermittedUrlsOption",
"value": "#microsoft.graph.iosWebContentFilterSpecificWebsitesAccess", "value": "#microsoft.graph.iosWebContentFilterSpecificWebsitesAccess",
"children": [ "children": [
{ {
@@ -127,7 +127,7 @@
"showAsSectionHeader": false, "showAsSectionHeader": false,
"dataType": 8, "dataType": 8,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsHeaderName", "nameResourceKey": "webContentFilterTypePermittedUrlsHeaderName",
"descriptionResourceKey": "empty", "descriptionResourceKey": "empty",
"childSettings": [ "childSettings": [
@@ -144,7 +144,7 @@
"showAsSectionHeader": false, "showAsSectionHeader": false,
"dataType": 8, "dataType": 8,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsLinkTextName", "nameResourceKey": "webContentFilterTypePermittedUrlsLinkTextName",
"descriptionResourceKey": "empty", "descriptionResourceKey": "empty",
"childSettings": [ "childSettings": [
@@ -162,7 +162,7 @@
"metadata": { "metadata": {
"dataType": 20, "dataType": 20,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsColumnUrlName", "nameResourceKey": "webContentFilterTypePermittedUrlsColumnUrlName",
"emptyValueResourceKey": "kioskModeAppStoreExample", "emptyValueResourceKey": "kioskModeAppStoreExample",
"childSettings": [ "childSettings": [
@@ -180,7 +180,7 @@
"metadata": { "metadata": {
"dataType": 20, "dataType": 20,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsColumnBookmarkPathName", "nameResourceKey": "webContentFilterTypePermittedUrlsColumnBookmarkPathName",
"emptyValueResourceKey": "WebContentFilterBookmarkPathExample", "emptyValueResourceKey": "WebContentFilterBookmarkPathExample",
"childSettings": [ "childSettings": [
@@ -198,7 +198,7 @@
"metadata": { "metadata": {
"dataType": 20, "dataType": 20,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsColumnTitleName", "nameResourceKey": "webContentFilterTypePermittedUrlsColumnTitleName",
"emptyValueResourceKey": "WebContentFilterBookmarkTitleExample", "emptyValueResourceKey": "WebContentFilterBookmarkTitleExample",
"childSettings": [ "childSettings": [
@@ -215,8 +215,8 @@
], ],
"dataType": 21, "dataType": 21,
"category": 140, "category": 140,
"nameResourceKey": "webContentFilterTypeWhitelistedUrlsTableName", "nameResourceKey": "webContentFilterTypeSpecificUrlsTableName",
"descriptionResourceKey": "webContentFilterTypeWhitelistedUrlsTableDescription", "descriptionResourceKey": "webContentFilterTypeSpecificUrlsTableDescription",
"childSettings": [ "childSettings": [
], ],
@@ -125,6 +125,748 @@
], ],
"enabled": true "enabled": true
}, },
{
"nameResourceKey": "eAPTLSName",
"value": "eapTls",
"children": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "trust",
"descriptionResourceKey": "trustDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 149,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
}
],
"dataType": 21,
"category": 149,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfiles",
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
"childSettings": [
],
"options": [
],
"entityKey": "rootCertificatesForServerValidation",
"booleanActions": 0,
"unconfiguredValue": "notConfigured",
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "selectRootCertificatesForServerValidationName",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificates",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "authentication",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"value": "certificate",
"dataType": 9,
"category": 149,
"childSettings": [
],
"options": [
],
"entityKey": "authenticationMethod",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfile",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
],
"entityKey": "identityCertificateForClientAuthentication",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "certificatesOption",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificate",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 20,
"category": 149,
"nameResourceKey": "enableIdentityPrivacyName",
"descriptionResourceKey": "enableIdentityPrivacyDescription",
"emptyValueResourceKey": "identityPrivacyExample",
"childSettings": [
],
"options": [
],
"entityKey": "enableOuterIdentityPrivacy",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "eAPTTLSName",
"value": "eapTtls",
"children": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "trust",
"descriptionResourceKey": "trustDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 149,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
}
],
"dataType": 21,
"category": 149,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfiles",
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
"childSettings": [
],
"options": [
],
"entityKey": "rootCertificatesForServerValidation",
"booleanActions": 0,
"unconfiguredValue": "notConfigured",
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "selectRootCertificatesForServerValidationName",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificates",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "authentication",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 16,
"category": 149,
"nameResourceKey": "authenticationMethodName",
"descriptionResourceKey": "authenticationMethodTTLSDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "notConfigured",
"enabled": true
},
{
"nameResourceKey": "usernameAndPasswordOption",
"value": "usernameAndPassword",
"children": [
{
"dataType": 16,
"category": 149,
"nameResourceKey": "nonEapMethodName",
"descriptionResourceKey": "nonEapMethodDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "selectNonEapMethod",
"enabled": true
},
{
"nameResourceKey": "pAPName",
"value": "unencryptedPassword",
"enabled": true
},
{
"nameResourceKey": "cHAPName",
"value": "challengeHandshakeAuthenticationProtocol",
"enabled": true
},
{
"nameResourceKey": "mSCHAPName",
"value": "microsoftChap",
"enabled": true
},
{
"nameResourceKey": "cHAPTWOName",
"value": "microsoftChapVersionTwo",
"enabled": true
}
],
"entityKey": "nonEapAuthenticationMethodForEapTtls",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 20,
"category": 149,
"nameResourceKey": "enableIdentityPrivacyName",
"descriptionResourceKey": "enableIdentityPrivacyDescription",
"emptyValueResourceKey": "identityPrivacyExample",
"childSettings": [
],
"options": [
],
"entityKey": "enableOuterIdentityPrivacy",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "certificatesOption",
"value": "certificate",
"children": [
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfile",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
],
"entityKey": "identityCertificateForClientAuthentication",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "certificatesOption",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificate",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 20,
"category": 149,
"nameResourceKey": "enableIdentityPrivacyName",
"descriptionResourceKey": "enableIdentityPrivacyDescription",
"emptyValueResourceKey": "identityPrivacyExample",
"childSettings": [
],
"options": [
],
"entityKey": "enableOuterIdentityPrivacy",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "lEAPName",
"value": "leap",
"children": [
{
"value": "certificate",
"dataType": 9,
"category": 149,
"childSettings": [
],
"options": [
],
"entityKey": "authenticationMethod",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "pEAPName",
"value": "peap",
"children": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "trust",
"descriptionResourceKey": "trustDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 149,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
}
],
"dataType": 21,
"category": 149,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfiles",
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
"childSettings": [
],
"options": [
],
"entityKey": "rootCertificatesForServerValidation",
"booleanActions": 0,
"unconfiguredValue": "notConfigured",
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "selectRootCertificatesForServerValidationName",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificates",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 149,
"nameResourceKey": "authentication",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 16,
"category": 149,
"nameResourceKey": "authenticationMethodName",
"descriptionResourceKey": "authenticationMethodName",
"childSettings": [
],
"options": [
{
"nameResourceKey": "notConfigured",
"enabled": true
},
{
"nameResourceKey": "usernameAndPasswordOption",
"value": "usernameAndPassword",
"children": [
{
"dataType": 20,
"category": 149,
"nameResourceKey": "enableIdentityPrivacyName",
"descriptionResourceKey": "enableIdentityPrivacyDescription",
"emptyValueResourceKey": "identityPrivacyExample",
"childSettings": [
],
"options": [
],
"entityKey": "enableOuterIdentityPrivacy",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "certificatesOption",
"value": "certificate",
"children": [
{
"complexOptions": [
{
"dataType": 4,
"category": 149,
"nameResourceKey": "selectCertificateProfile",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
],
"entityKey": "identityCertificateForClientAuthentication",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"dataType": 5,
"category": 149,
"nameResourceKey": "certificatesOption",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "selectCertificate",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 20,
"category": 149,
"nameResourceKey": "enableIdentityPrivacyName",
"descriptionResourceKey": "enableIdentityPrivacyDescription",
"emptyValueResourceKey": "identityPrivacyExample",
"childSettings": [
],
"options": [
],
"entityKey": "enableOuterIdentityPrivacy",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
"booleanActions": 0,
"policyType": 68,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "eapType",
"booleanActions": 0,
"policyType": 68,
"enabled": false
},
{
"dataType": 16,
"category": 149,
"nameResourceKey": "eAPTypeName",
"descriptionResourceKey": "eAPTypeDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "selectEAP",
"enabled": true
},
{
"nameResourceKey": "eAPFASTName",
"value": "eapFast",
"children": [
{
"value": "certificate",
"dataType": 9,
"category": 149,
"childSettings": [
],
"options": [
],
"entityKey": "authenticationMethod",
"booleanActions": 0,
"policyType": 68,
"enabled": true
},
{
"dataType": 16,
"category": 149,
"nameResourceKey": "pACHeading",
"descriptionResourceKey": "empty",
"childSettings": [
],
"options": [
{
"nameResourceKey": "dontUsePACName",
"value": "noProtectedAccessCredential",
"enabled": true
},
{
"nameResourceKey": "usePACName",
"value": "useProtectedAccessCredential",
"enabled": true
},
{
"nameResourceKey": "provisionPACName",
"value": "useProtectedAccessCredentialAndProvision",
"enabled": true
},
{
"nameResourceKey": "provisionPACAnonName",
"value": "useProtectedAccessCredentialAndProvisionAnonymously",
"enabled": true
}
],
"entityKey": "eapFastConfiguration",
"booleanActions": 0,
"defaultValue": "noProtectedAccessCredential",
"policyType": 68,
"enabled": true
}
],
"enabled": true
},
{ {
"nameResourceKey": "eAPTLSName", "nameResourceKey": "eAPTLSName",
"value": "eapTls", "value": "eapTls",
@@ -794,7 +1536,7 @@
"entityKey": "eapType", "entityKey": "eapType",
"booleanActions": 0, "booleanActions": 0,
"policyType": 68, "policyType": 68,
"enabled": true "enabled": false
} }
] ]
} }
@@ -183,7 +183,77 @@
"booleanActions": 3, "booleanActions": 3,
"defaultValue": false, "defaultValue": false,
"policyType": 13, "policyType": 13,
"enabled": true "enabled": false
},
{
"dataType": 16,
"category": 127,
"nameResourceKey": "blockAddingAccountsName",
"descriptionResourceKey": "blockAddingAccountsDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "allowAllAccountsExceptGoogle",
"value": "allowAllExceptGoogleAccounts",
"enabled": true
},
{
"nameResourceKey": "allowAllAccounts",
"value": "allowAll",
"children": [
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 127,
"nameResourceKey": "domainAllowListTableName",
"emptyValueResourceKey": "domainAllowListTableEmptyValueExample",
"childSettings": [
],
"options": [
],
"entityKey": "empty",
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
}
],
"dataType": 21,
"category": 127,
"nameResourceKey": "domainAllowListName",
"descriptionResourceKey": "domainAllowListDescription",
"childSettings": [
],
"options": [
],
"entityKey": "allowedGoogleAccountDomains",
"booleanActions": 0,
"policyType": 13,
"enabled": false
}
],
"enabled": true
},
{
"nameResourceKey": "blockAllAccounts",
"value": "blockAll",
"enabled": true
}
],
"entityKey": "workProfileAccountUse",
"booleanActions": 0,
"defaultValue": "allowAllExceptGoogleAccounts",
"unconfiguredValue": "allowAllExceptGoogleAccounts",
"policyType": 13,
"enabled": false
}, },
{ {
"dataType": 0, "dataType": 0,
@@ -304,29 +374,56 @@
"enabled": true "enabled": true
}, },
{ {
"dataType": 0, "dataType": 10,
"category": 127, "category": 127,
"nameResourceKey": "workProfileRequirePasswordName", "nameResourceKey": "androidTwelveDeprecationInfoBox",
"descriptionResourceKey": "workProfileRequirePasswordDescription", "childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 127,
"nameResourceKey": "allAndroidVersionsPasswordHeader",
"childSettings": [ "childSettings": [
{ {
"dataType": 14, "isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 127, "category": 127,
"nameResourceKey": "workProfileMinimumPasswordLengthName", "nameResourceKey": "allAndroidVersionsPasswordHeaderDescription",
"descriptionResourceKey": "workProfileMinimumPasswordLengthDescription",
"emptyValueResourceKey": "workProfileMinimumPasswordLengthEmptyValueKey",
"childSettings": [ "childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "workProfilePasswordMinimumLength",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": 4,
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
}, }
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileRequirePasswordName",
"descriptionResourceKey": "workProfileRequirePasswordDescription",
"childSettings": [
{ {
"dataType": 16, "dataType": 16,
"category": 127, "category": 127,
@@ -430,6 +527,208 @@
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
}, },
{
"dataType": 14,
"category": 127,
"nameResourceKey": "workProfileNumberOfPreviousPasswordsToBlockName",
"descriptionResourceKey": "workProfileNumberOfPreviousPasswordsToBlockDescription",
"emptyValueResourceKey": "workProfileNumberOfPreviousPasswordsToBlockEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordPreviousPasswordBlockCount",
"booleanActions": 0,
"defaultValue": 5,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockFaceUnlockName",
"descriptionResourceKey": "workProfileBlockFaceUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockFaceUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockFingerprintUnlockName",
"descriptionResourceKey": "workProfileBlockFingerprintUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockFingerprintUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockIrisUnlockName",
"descriptionResourceKey": "workProfileBlockIrisUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockIrisUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockSmartLockName",
"descriptionResourceKey": "workProfileBlockSmartLockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockTrustAgents",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "blockUnifiedPasswordForWorkProfileName",
"descriptionResourceKey": "blockUnifiedPasswordForWorkProfileDescription",
"childSettings": [
],
"options": [
],
"entityKey": "blockUnifiedPasswordForWorkProfile",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": false
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 127,
"nameResourceKey": "androidTwelveAndAbovePasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 127,
"nameResourceKey": "androidTwelveAndAbovePasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{
"dataType": 16,
"category": 127,
"nameResourceKey": "workProfileRequiredPasswordComplexityName",
"descriptionResourceKey": "workProfileRequiredPasswordComplexityDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "none",
"value": "none",
"enabled": true
},
{
"nameResourceKey": "low",
"value": "low",
"enabled": true
},
{
"nameResourceKey": "medium",
"value": "medium",
"enabled": true
},
{
"nameResourceKey": "high",
"value": "high",
"enabled": true
}
],
"entityKey": "workProfileRequiredPasswordComplexity",
"booleanActions": 0,
"defaultValue": "none",
"unconfiguredValue": "none",
"policyType": 13,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 127,
"nameResourceKey": "androidElevenAndBelowPasswordHeader",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 127,
"nameResourceKey": "androidElevenAndBelowPasswordHeaderDescription",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 13,
"enabled": true
},
{ {
"dataType": 16, "dataType": 16,
"category": 127, "category": 127,
@@ -549,86 +848,18 @@
{ {
"dataType": 14, "dataType": 14,
"category": 127, "category": 127,
"nameResourceKey": "workProfileNumberOfPreviousPasswordsToBlockName", "nameResourceKey": "workProfileMinimumPasswordLengthName",
"descriptionResourceKey": "workProfileNumberOfPreviousPasswordsToBlockDescription", "descriptionResourceKey": "workProfileMinimumPasswordLengthDescription",
"emptyValueResourceKey": "workProfileNumberOfPreviousPasswordsToBlockEmptyValueKey", "emptyValueResourceKey": "workProfileMinimumPasswordLengthEmptyValueKey",
"childSettings": [ "childSettings": [
], ],
"options": [ "options": [
], ],
"entityKey": "workProfilePasswordPreviousPasswordBlockCount", "entityKey": "workProfilePasswordMinimumLength",
"booleanActions": 0, "booleanActions": 0,
"defaultValue": 5, "defaultValue": 4,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockFaceUnlockName",
"descriptionResourceKey": "workProfileBlockFaceUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockFaceUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockFingerprintUnlockName",
"descriptionResourceKey": "workProfileBlockFingerprintUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockFingerprintUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockIrisUnlockName",
"descriptionResourceKey": "workProfileBlockIrisUnlockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockIrisUnlock",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13,
"enabled": true
},
{
"dataType": 0,
"category": 127,
"nameResourceKey": "workProfileBlockSmartLockName",
"descriptionResourceKey": "workProfileBlockSmartLockDescription",
"childSettings": [
],
"options": [
],
"entityKey": "workProfilePasswordBlockTrustAgents",
"booleanActions": 3,
"defaultValue": false,
"policyType": 13, "policyType": 13,
"enabled": true "enabled": true
} }
+2644 -1526
View File
File diff suppressed because it is too large Load Diff
+2641 -1523
View File
File diff suppressed because it is too large Load Diff
+2641 -1523
View File
File diff suppressed because it is too large Load Diff
+2644 -1526
View File
File diff suppressed because it is too large Load Diff
+2641 -1523
View File
File diff suppressed because it is too large Load Diff
+2639 -1521
View File
File diff suppressed because it is too large Load Diff
+2647 -1529
View File
File diff suppressed because it is too large Load Diff
+2646 -1528
View File
File diff suppressed because it is too large Load Diff
+2645 -1527
View File
File diff suppressed because it is too large Load Diff
+2644 -1526
View File
File diff suppressed because it is too large Load Diff
+2644 -1526
View File
File diff suppressed because it is too large Load Diff
+2641 -1523
View File
File diff suppressed because it is too large Load Diff
+2640 -1522
View File
File diff suppressed because it is too large Load Diff
+2639 -1521
View File
File diff suppressed because it is too large Load Diff
+2645 -1527
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2641 -1523
View File
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -11,7 +11,7 @@ Objects can be compared based on Properties or Documentatation info.
function Get-ModuleVersion function Get-ModuleVersion
{ {
'1.0.10' '1.0.11'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -516,7 +516,11 @@ function Start-BulkCompareExportObjects
Write-Log "****************************************************************" Write-Log "****************************************************************"
$compareObjectsResult = @() $compareObjectsResult = @()
$txtNameFilter = (Get-XamlProperty $global:ccContentProviderOptions.Content "txtCompareNameFilter" "Text").Trim() $txtNameFilter = (Get-XamlProperty $global:ccContentProviderOptions.Content "txtCompareNameFilter" "Text")
if($txtNameFilter -is [String])
{
$txtNameFilter = $txtNameFilter.Trim()
}
$rootFolder = (Get-XamlProperty $global:ccContentProviderOptions.Content "txtExportPath" "Text") $rootFolder = (Get-XamlProperty $global:ccContentProviderOptions.Content "txtExportPath" "Text")
$compareProps = $script:defaultCompareProps $compareProps = $script:defaultCompareProps
+32 -3
View File
@@ -20,7 +20,7 @@ $global:documentationProviders = @()
function Get-ModuleVersion function Get-ModuleVersion
{ {
'2.0.0' '2.0.2'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -61,6 +61,7 @@ function Invoke-InitializeModule
Settings="TableHeaders.settings" Settings="TableHeaders.settings"
returnCode='Win32ReturnCodes.Columns.returnCode' returnCode='Win32ReturnCodes.Columns.returnCode'
type='Win32ReturnCodes.Columns.codeType' type='Win32ReturnCodes.Columns.codeType'
RecommendedValue="AzureIAMCommon.Recommended"
} }
} }
@@ -290,7 +291,8 @@ function Get-ObjectDocumentation
elseif($type -eq "#microsoft.graph.deviceManagementIntent") elseif($type -eq "#microsoft.graph.deviceManagementIntent")
{ {
Invoke-TranslateIntentObject $obj $objectType | Out-Null Invoke-TranslateIntentObject $obj $objectType | Out-Null
$properties = @("Name","Value","Category","FullValueTable","RawValue","SettingId","Description") $properties = @("Name","Value","Category","FullValueTable","RawValue","RecommendedValue","SettingId","Description")
$defaultDocumentationProperties = @("Name","Value","RecommendedValue")
} }
#endregion #endregion
#region Administrative Templates #region Administrative Templates
@@ -541,6 +543,10 @@ function Get-ObjectTypeString
{ {
return (Get-LanguageString "Titles.windows10QualityUpdate") return (Get-LanguageString "Titles.windows10QualityUpdate")
} }
elseif($objTypeId -eq "WinDriverUpdatePolicies")
{
return (Get-LanguageString "Titles.windows10DriverUpdate")
}
elseif($objTypeId -eq "TenantAdmin") elseif($objTypeId -eq "TenantAdmin")
{ {
return (Get-LanguageString "Titles.tenantAdmin") return (Get-LanguageString "Titles.tenantAdmin")
@@ -1300,6 +1306,12 @@ function Get-IntentCategory
{ {
param($templateType) param($templateType)
if(-not $templateType)
{
Write-Log "Get-IntentCategory called with empty Category" 2
return
}
if($templateType.StartsWith("endpointSecurity")) if($templateType.StartsWith("endpointSecurity"))
{ {
$templateType = $templateType.Substring(16) $templateType = $templateType.Substring(16)
@@ -1482,6 +1494,12 @@ function Add-IntentSettingObjectToList
$objSetting.Level = $objSetting.Level + 1 $objSetting.Level = $objSetting.Level + 1
} }
$recommendedSetting = $global:catRecommendedSettings[$objSetting.CategoryObject.Id] | Where definitionId -eq $objSetting.SettingId
if($recommendedSetting.valueJson -and ($objSetting.ValueSet -eq $false -or $recommendedSetting.valueJson -ne ($objSetting.RawValue | ConvertTo-Json -Compress))) {
$objSetting | Add-Member Noteproperty -Name "RecommendedValue" -Value ($recommendedSetting.valueJson | ConvertFrom-Json) -Force
}
$script:objectSettingsData += $objSetting $script:objectSettingsData += $objSetting
if($objSetting.ValueSet -eq $false) { return } if($objSetting.ValueSet -eq $false) { return }
@@ -2409,6 +2427,17 @@ function Invoke-TranslateSection
} }
$value = $arrTmp -join $script:objectSeparator $value = $arrTmp -join $script:objectSeparator
} }
elseif($prop.dataType -eq 108) # String with format
{
$value = $propValue
if($prop.formatStringKey) {
$str = Get-LanguageString $prop.formatStringKey
if($str)
{
$value = $str -f $propValue
}
}
}
else else
{ {
Write-Log "Unsupported property '$((Get-LanguageString "SettingDetails.$($prop.nameResourceKey)"))' ($($prop.nameResourceKey)) for object property $($prop.entityKey). Type: $($prop.dataType)" 2 Write-Log "Unsupported property '$((Get-LanguageString "SettingDetails.$($prop.nameResourceKey)"))' ($($prop.nameResourceKey)) for object property $($prop.entityKey). Type: $($prop.dataType)" 2
@@ -3588,7 +3617,7 @@ function Invoke-TranslateAssignments
$hours = ($endTime.ToUniversalTime() - $endTime).Hours $hours = ($endTime.ToUniversalTime() - $endTime).Hours
$endTime = $endTime.AddHours($hours) $endTime = $endTime.AddHours($hours)
} }
$value = "$($instTime.ToShortDateString()) $($instTime.ToShortTimeString())" $value = "$($endTime.ToShortDateString()) $($endTime.ToShortTimeString())"
} }
} }
File diff suppressed because it is too large Load Diff
+150 -24
View File
@@ -10,7 +10,7 @@ This module is for the Endpoint Manager/Intune View. It manages Export/Import/Co
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.8.1' '3.9.1'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -89,7 +89,7 @@ function Invoke-InitializeModule
Deactivating = { Invoke-EMDeactivateView } Deactivating = { Invoke-EMDeactivateView }
Activating = { Invoke-EMActivatingView } Activating = { Invoke-EMActivatingView }
Authentication = (Get-MSALAuthenticationObject) Authentication = (Get-MSALAuthenticationObject)
Authenticate = { Invoke-EMAuthenticateToMSAL } Authenticate = { Invoke-EMAuthenticateToMSAL @args }
AppInfo = (Get-GraphAppInfo "EMAzureApp" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547" "EM") AppInfo = (Get-GraphAppInfo "EMAzureApp" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547" "EM")
SaveSettings = { Invoke-EMSaveSettings } SaveSettings = { Invoke-EMSaveSettings }
@@ -120,7 +120,7 @@ function Invoke-InitializeModule
ViewID = "IntuneGraphAPI" ViewID = "IntuneGraphAPI"
API = "/identity/conditionalAccess/policies" API = "/identity/conditionalAccess/policies"
Permissons=@("Policy.Read.All","Policy.ReadWrite.ConditionalAccess","Application.Read.All") Permissons=@("Policy.Read.All","Policy.ReadWrite.ConditionalAccess","Application.Read.All")
Dependencies = @("NamedLocations","Applications","TermsOfUse","AuthenticationStrengths") Dependencies = @("NamedLocations","Applications","TermsOfUse","AuthenticationStrengths","AssignmentFilters")
GroupId = "ConditionalAccess" GroupId = "ConditionalAccess"
ImportExtension = { Add-ConditionalAccessImportExtensions @args } ImportExtension = { Add-ConditionalAccessImportExtensions @args }
PreImportCommand = { Start-PreImportConditionalAccess @args } PreImportCommand = { Start-PreImportConditionalAccess @args }
@@ -128,22 +128,19 @@ function Invoke-InitializeModule
ExpandAssignmentsList = $false ExpandAssignmentsList = $false
}) })
if((Get-SettingValue "PreviewFeatures" $false) -eq $true) Add-ViewItem (New-Object PSObject -Property @{
{ Title = "Terms of use"
Add-ViewItem (New-Object PSObject -Property @{ Id = "TermsOfUse"
Title = "Terms of use" ViewID = "IntuneGraphAPI"
Id = "TermsOfUse" ViewProperties = @("id", "displayName")
ViewID = "IntuneGraphAPI" Expand = "files"
ViewProperties = @("id", "displayName") QUERYLIST = "`$expand=files"
Expand = "files" API = "/identityGovernance/termsOfUse/agreements"
QUERYLIST = "`$expand=files" Permissons=@("Agreement.ReadWrite.All")
API = "/identityGovernance/termsOfUse/agreements" PreImportCommand = { Start-PreImportTermsOfUse @args }
Permissons=@("Agreement.ReadWrite.All") PostExportCommand = { Start-PostExportTermsOfUse @args }
PreImportCommand = { Start-PreImportTermsOfUse @args } GroupId = "ConditionalAccess"
PostExportCommand = { Start-PostExportTermsOfUse @args } })
GroupId = "ConditionalAccess"
})
}
Add-ViewItem (New-Object PSObject -Property @{ Add-ViewItem (New-Object PSObject -Property @{
Title = "Named Locations" Title = "Named Locations"
@@ -262,6 +259,7 @@ function Invoke-InitializeModule
#QUERYLIST = "`$filter=endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')" #QUERYLIST = "`$filter=endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')"
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All") Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
SkipRemoveProperties = @('Id') SkipRemoveProperties = @('Id')
Dependencies = @("Applications")
AssignmentsType = "enrollmentConfigurationAssignments" AssignmentsType = "enrollmentConfigurationAssignments"
PropertiesToRemoveForUpdate = @('priority') PropertiesToRemoveForUpdate = @('priority')
GroupId = "WinEnrollment" GroupId = "WinEnrollment"
@@ -457,6 +455,7 @@ function Invoke-InitializeModule
PostExportCommand = { Start-PostExportApplications @args } PostExportCommand = { Start-PostExportApplications @args }
PostListCommand = { Start-PostListApplications @args } PostListCommand = { Start-PostListApplications @args }
ExportExtension = { Add-ScriptExportExtensions @args } ExportExtension = { Add-ScriptExportExtensions @args }
PostGetCommand = { Start-PostGetApplications @args }
GroupId = "Apps" GroupId = "Apps"
ScopeTagsReturnedInList = $false ScopeTagsReturnedInList = $false
}) })
@@ -670,6 +669,7 @@ function Invoke-InitializeModule
GroupId = "EndpointAnalytics" GroupId = "EndpointAnalytics"
Icon = "Report" Icon = "Report"
AssignmentsType = "deviceHealthScriptAssignments" AssignmentsType = "deviceHealthScriptAssignments"
AssignmentProperties = @("target","runSchedule","runRemediationScript")
PropertiesToRemoveForUpdate = @('version','isGlobalScript','highestAvailableVersion') PropertiesToRemoveForUpdate = @('version','isGlobalScript','highestAvailableVersion')
}) })
@@ -733,13 +733,60 @@ function Invoke-InitializeModule
Icon = "ConditionalAccess" Icon = "ConditionalAccess"
GroupId = "EndpointSecurity" GroupId = "EndpointSecurity"
}) })
Add-ViewItem (New-Object PSObject -Property @{
Title = "Authentication Context"
Id = "AuthenticationContext"
ViewID = "IntuneGraphAPI"
API = "/identity/conditionalAccess/authenticationContextClassReferences"
PropertiesToRemove = @("@odata.type")
SkipRemoveProperties = @('Id')
ImportOrder = 46
PreImportCommand = { Start-PreImportCommandAuthenticationContext @args }
Permissons=@("Policy.ReadWrite.ConditionalAccess")
ExpandAssignmentsList = $false
Icon = "ConditionalAccess"
GroupId = "EndpointSecurity"
})
Add-ViewItem (New-Object PSObject -Property @{
Title = "W365 Provisioning Policies"
Id = "W365ProvisioningPolicies"
ViewID = "IntuneGraphAPI"
API = "/deviceManagement/virtualEndpoint/provisioningPolicies"
Permissons=@("CloudPC.ReadWrite.All")
Icon = "Devices"
GroupId = "DeviceConfiguration"
})
Add-ViewItem (New-Object PSObject -Property @{
Title = "W365 User Settings"
Id = "W365UserSettings"
ViewID = "IntuneGraphAPI"
API = "/deviceManagement/virtualEndpoint/userSettings"
Permissons = @("CloudPC.ReadWrite.All")
Icon = "Devices"
GroupId = "DeviceConfiguration"
})
Add-ViewItem (New-Object PSObject -Property @{
Title = "Driver Update Profiles"
Id = "DriverUpdateProfiles"
ViewID = "IntuneGraphAPI"
API = "/deviceManagement/windowsDriverUpdateProfiles"
Permissons = @("DeviceManagementConfiguration.ReadWrite.All")
Icon = "UpdatePolicies"
GroupId = "WinDriverUpdatePolicies"
})
} }
function Invoke-EMAuthenticateToMSAL function Invoke-EMAuthenticateToMSAL
{ {
param($params = @{})
$global:EMViewObject.AppInfo = Get-GraphAppInfo "EMAzureApp" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547" "EM" $global:EMViewObject.AppInfo = Get-GraphAppInfo "EMAzureApp" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547" "EM"
Set-MSALCurrentApp $global:EMViewObject.AppInfo Set-MSALCurrentApp $global:EMViewObject.AppInfo
& $global:msalAuthenticator.Login -Account (?? $global:MSALToken.Account.UserName (Get-Setting "" "LastLoggedOnUser")) & $global:msalAuthenticator.Login -Account (?? $global:MSALToken.Account.UserName (Get-Setting "" "LastLoggedOnUser")) @params
} }
function Invoke-EMDeactivateView function Invoke-EMDeactivateView
@@ -2060,6 +2107,29 @@ function Start-PreImportAssignmentsApplications
} }
@{"Assignments"=$assignments} @{"Assignments"=$assignments}
} }
elseif($obj.'@odata.type' -eq "#microsoft.graph.winGetApp")
{
Write-LogDebug "Wait for app to be published"
$i = 2
Start-Sleep -s ($i)
$x = 0
while($x -lt 10)
{
###!!!
$appInfo = Invoke-GraphRequest -Url "$($objectType.API)/$($obj.id)" -ODataMetadata "skip"
if($appInfo.publishingState -eq "Published")
{
Write-LogDebug "Application $($obj.displayName) is published"
return
}
Start-Sleep -s ($i)
$x++
if($x -ge 5) { $i++ }
}
Write-Log "Application '$($obj.displayName)' is not published. Skipping assignment" 2
@{"Import"=$false}
}
} }
function Start-PreDeleteApplications function Start-PreDeleteApplications
@@ -2134,6 +2204,29 @@ function Start-PostListApplications
$objList $objList
} }
function Start-PostGetApplications {
param($obj, $objectType)
$relationships = (Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$($obj.Id)/relationships?`$filter=targetType%20eq%20microsoft.graph.mobileAppRelationshipType%27child%27").value
$dependencyApps = @()
$supersededApps = @()
foreach ($rel in $relationships) {
if ($rel."@odata.type" -eq "#microsoft.graph.mobileAppDependency") {
$dependencyApps += "$($rel.targetDisplayName)|!|$($rel.targetDisplayVersion)|!|$($rel.targetId)|!|$($rel.dependencyType)"
}
elseif ($rel."@odata.type" -eq "#microsoft.graph.mobileAppSupersedence") {
$supersededApps += "$($rel.targetDisplayName)|!|$($rel.targetDisplayVersion)|!|$($rel.targetId)|!|$($rel.supersedenceType)"
}
}
if ($dependencyApps.Count -gt 0) {
$obj.Object | Add-Member -MemberType NoteProperty -Name "#CustomRefDependency" -Value ($dependencyApps -join "|*|")
}
if ($supersededApps.Count -gt 0) {
$obj.Object | Add-Member -MemberType NoteProperty -Name "#CustomRefSupersedence" -Value ($supersededApps -join "|*|")
}
}
#endregion #endregion
#region Group Policy/Administrative Templates functions #region Group Policy/Administrative Templates functions
@@ -2143,6 +2236,13 @@ function Get-GPOObjectSettings
$gpoSettings = @() $gpoSettings = @()
if ($GPOObj.policyConfigurationIngestionType -eq "unknown") {
$tmpObj = (Invoke-GraphRequest -Url "/deviceManagement/groupPolicyConfigurations?`$filter=id eq '$($GPOObj.id)'").value[0]
if ($tmpObj.policyConfigurationIngestionType) {
$GPOObj.policyConfigurationIngestionType = $tmpObj.policyConfigurationIngestionType
}
}
# Get all configured policies in the Administrative Templates profile # Get all configured policies in the Administrative Templates profile
$GPODefinitionValues = Invoke-GraphRequest -Url "/deviceManagement/groupPolicyConfigurations/$($GPOObj.id)/definitionValues?`$expand=definition" -ODataMetadata "skip" $GPODefinitionValues = Invoke-GraphRequest -Url "/deviceManagement/groupPolicyConfigurations/$($GPOObj.id)/definitionValues?`$expand=definition" -ODataMetadata "skip"
foreach($definitionValue in $GPODefinitionValues.value) foreach($definitionValue in $GPODefinitionValues.value)
@@ -3194,6 +3294,11 @@ function Add-ConditionalAccessImportExtensions
$label = [Windows.Markup.XamlReader]::Parse($xaml) $label = [Windows.Markup.XamlReader]::Parse($xaml)
$CAStates = @() $CAStates = @()
$CAStates += [PSCustomObject]@{
Name = "As Exported - Change On to Report-only"
Value = "AsExportedReportOnly"
}
$CAStates += [PSCustomObject]@{ $CAStates += [PSCustomObject]@{
Name = "As Exported" Name = "As Exported"
Value = "AsExported" Value = "AsExported"
@@ -3218,7 +3323,7 @@ function Add-ConditionalAccessImportExtensions
$global:cbImportCAState.DisplayMemberPath = "Name" $global:cbImportCAState.DisplayMemberPath = "Name"
$global:cbImportCAState.SelectedValuePath = "Value" $global:cbImportCAState.SelectedValuePath = "Value"
$global:cbImportCAState.ItemsSource = $CAStates $global:cbImportCAState.ItemsSource = $CAStates
$global:cbImportCAState.SelectedValue = "AsExported" $global:cbImportCAState.SelectedValue = "disabled"
$global:cbImportCAState.Margin="0,5,0,0" $global:cbImportCAState.Margin="0,5,0,0"
$global:cbImportCAState.HorizontalAlignment="Left" $global:cbImportCAState.HorizontalAlignment="Left"
$global:cbImportCAState.Width=250 $global:cbImportCAState.Width=250
@@ -3231,9 +3336,14 @@ function Start-PreImportConditionalAccess
{ {
param($obj, $objectType, $file, $assignments) param($obj, $objectType, $file, $assignments)
if($global:cbImportCAState.SelectedValue -and $global:cbImportCAState.SelectedValue -ne "AsExported") if ($global:cbImportCAState.SelectedValue -and $global:cbImportCAState.SelectedValue -ne "AsExported") {
{ if ($global:cbImportCAState.SelectedValue -eq "AsExportedReportOnly" -and $obj.state -eq "enabled") {
$obj.state = $global:cbImportCAState.SelectedValue Write-Log "Change Enabled policy to Report-only"
$obj.state = "enabledForReportingButNotEnforced"
}
else {
$obj.state = $global:cbImportCAState.SelectedValue
}
} }
if($obj.grantControls.authenticationStrength) if($obj.grantControls.authenticationStrength)
@@ -3246,6 +3356,11 @@ function Start-PreImportConditionalAccess
} }
$obj.grantControls.authenticationStrength = $authSetting $obj.grantControls.authenticationStrength = $authSetting
} }
if($obj.sessionControls.disableResilienceDefaults -eq $false)
{
$obj.sessionControls.disableResilienceDefaults = $null
}
} }
function Start-PostExportConditionalAccess function Start-PostExportConditionalAccess
@@ -3455,4 +3570,15 @@ function Start-PreImportCommandAuthenticationStrengths
} }
#endregion #endregion
#region Authentication Strength
function Start-PreImportCommandAuthenticationContext
{
param($obj, $objectType, $file, $assignments)
#@{ "Method" = "PATCH" }
}
#endregion
Export-ModuleMember -alias * -function * Export-ModuleMember -alias * -function *
+55 -1
View File
@@ -10,7 +10,7 @@ This module is for the Endpoint Info View. It shows read-only objects in Intune
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.5.0' '3.9.0'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -22,6 +22,7 @@ function Invoke-InitializeModule
ID = "EMInfoGraphAPI" ID = "EMInfoGraphAPI"
ViewPanel = $viewPanel ViewPanel = $viewPanel
AuthenticationID = "MSAL" AuthenticationID = "MSAL"
AllowDelete = $false
ItemChanged = { Show-GraphObjects -ObjectTypeChanged; Invoke-ModuleFunction "Invoke-GraphObjectsChanged"; Write-Status ""} ItemChanged = { Show-GraphObjects -ObjectTypeChanged; Invoke-ModuleFunction "Invoke-GraphObjectsChanged"; Write-Status ""}
Activating = { Invoke-EMInfoActivatingView } Activating = { Invoke-EMInfoActivatingView }
Authentication = (Get-MSALAuthenticationObject) Authentication = (Get-MSALAuthenticationObject)
@@ -87,6 +88,24 @@ function Invoke-InitializeModule
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All") Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
ExpandAssignmentsList = $false ExpandAssignmentsList = $false
}) })
Add-ViewItem (New-Object PSObject -Property @{
Title = "Tenant Settings"
Id = "TenantSettings"
ViewID = "EMInfoGraphAPI"
API = "deviceManagement/settings"
NameProperty = "Name"
AlwaysImport = $true
#ExportFullObject = $true
ViewProperties = @("Name")
ShowButtons = @("Import","Export","View")
Permissons=@("DeviceManagementConfiguration.ReadWrite.All")
PreImportCommand = { Start-PreImportTenantSettings @args }
GetObjectName = { Start-GetObjectNameTenantSettings @args }
PostListCommand = { Start-PostListTenantSettings @args }
Icon="TenantSettings"
ExpandAssignmentsList = $false
})
} }
function Invoke-EMInfoActivatingView function Invoke-EMInfoActivatingView
@@ -108,3 +127,38 @@ function Invoke-EMInfoAuthenticateToMSAL
& $global:msalAuthenticator.Login -Account $usr & $global:msalAuthenticator.Login -Account $usr
} }
} }
function Start-PreImportTenantSettings
{
param($obj, $objectType)
$objClone = $obj | ConvertTo-Json -Depth 50 | ConvertFrom-Json
if($objClone.deviceComplianceCheckinThresholdDays -lt 1)
{
$objClone.deviceComplianceCheckinThresholdDays = 30
}
Remove-Property $objClone "@odata.type"
$json = @{ "settings" = $objClone } | ConvertTo-Json -Depth 50
(Invoke-GraphRequest -Url "deviceManagement" -Content $json -HttpMethod "PATCH") | Out-Null
return (@{"Import"=$false})
}
function Start-GetObjectNameTenantSettings
{
param($objList, $objectType)
return "Tenant Settings"
}
function Start-PostListTenantSettings
{
param($objList, $objectType)
if(($objList | measure).Count -eq 1)
{
$objList[0].Name = "Tenant Settings"
#$objList[0] | Add-Member -MemberType NoteProperty -Name "SettingName" -Value "Tenant Settings"
}
$objList
}
+19 -5
View File
@@ -10,7 +10,7 @@ This module manages Application objects in Intune e.g. uploading application fil
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.7.4' '3.9.1'
} }
######################################################################################### #########################################################################################
@@ -357,7 +357,7 @@ function Send-IntuneFileToAzureStorage
$ids += $id $ids += $id
$start = $chunk * $chunkSizeInBytes $start = $chunk * $chunkSizeInBytes
$length = [Math]::Min($chunkSizeInBytes, $fileSize - $start) $length = [Math]::Min([uint64]($chunkSizeInBytes), [uint64]($fileSize - $start))
$bytes = $reader.ReadBytes($length) $bytes = $reader.ReadBytes($length)
$currentChunk = $chunk + 1 $currentChunk = $chunk + 1
@@ -423,9 +423,17 @@ function Set-FinalizeAzureStorageUpload
} }
$xml += '</BlockList>' $xml += '</BlockList>'
$params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
try try
{ {
Invoke-RestMethod $uri -Method Put -Body $xml Invoke-RestMethod $uri -Method Put -Body $xml @params
} }
catch catch
{ {
@@ -457,12 +465,18 @@ function Write-AzureStorageChunk
$success = $false $success = $false
$retryCount = 0 $retryCount = 0
$params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
}
while($true) while($true)
{ {
try try
{ {
$response = Invoke-WebRequest $uri -Method Put -Headers $headers -Body $encodedBody $response = Invoke-WebRequest $uri -Method Put -Headers $headers -Body $encodedBody -UseBasicParsing @params
if($retryCount -gt 0) if($retryCount -gt 0)
{ {
Write-Log "Chunk uploaded successfully" Write-Log "Chunk uploaded successfully"
+2 -2
View File
@@ -22,7 +22,7 @@ $global:EMToolsViewObject = $null
function Get-ModuleVersion function Get-ModuleVersion
{ {
'1.0.3' '1.0.4'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -82,7 +82,7 @@ function Add-EMToolsViewItem
Activating = { Invoke-EMToolsActivatingView } Activating = { Invoke-EMToolsActivatingView }
Authentication = (Get-MSALAuthenticationObject) Authentication = (Get-MSALAuthenticationObject)
Authenticate = { Invoke-EMToolsAuthenticateToMSAL } Authenticate = { Invoke-EMToolsAuthenticateToMSAL }
AppInfo = (Get-GraphAppInfo "EM" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547") AppInfo = (Get-GraphAppInfo "EMAzureApp" "d1ddf0e4-d672-4dae-b554-9d5bdfd93547")
SaveSettings = { Invoke-EMSaveSettings } SaveSettings = { Invoke-EMSaveSettings }
Permissions = @() Permissions = @()
}) })
+55 -3
View File
@@ -10,7 +10,7 @@ This module manages Authentication for the application with MSAL. It is also res
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.8.1' '3.9.1'
} }
$global:msalAuthenticator = $null $global:msalAuthenticator = $null
@@ -535,12 +535,14 @@ function Add-MSALPrereq
Write-Log "Some MSAL features might not work!" 3 Write-Log "Some MSAL features might not work!" 3
Write-Log "This could happen if another version of MSAL.DLL was loaded beforethe script tried to load it" 3 Write-Log "This could happen if another version of MSAL.DLL was loaded beforethe script tried to load it" 3
$RequiredAssemblies.Add($fiLoaded.FullName) $RequiredAssemblies.Add($fiLoaded.FullName)
$script:msalFile = $fiLoaded.FullName
} }
else else
{ {
Write-Log "Using MSAL file $msalPath. Version: $($fi.VersionInfo.FileVersion)" Write-Log "Using MSAL file $msalPath. Version: $($fi.VersionInfo.FileVersion)"
[void][System.Reflection.Assembly]::LoadFile($msalPath) [void][System.Reflection.Assembly]::LoadFile($msalPath)
$RequiredAssemblies.Add($msalPath) $RequiredAssemblies.Add($msalPath)
$script:msalFile = $msalPath
} }
$RequiredAssemblies.Add('System.Security.dll') $RequiredAssemblies.Add('System.Security.dll')
@@ -598,6 +600,7 @@ function Connect-MSALClientApp
{ {
return return
} }
Add-MSALProxy $ClientApplicationBuilder
$script:MSALApp = $ClientApplicationBuilder.Build() $script:MSALApp = $ClientApplicationBuilder.Build()
} }
@@ -677,6 +680,43 @@ function Get-MsalAuthenticationToken
$authResult $authResult
} }
function Add-MSALProxy
{
param($appBuilder)
$proxy = Get-SettingValue "ProxyURI"
if($proxy)
{
Write-Log "Use proxy $proxy"
if(-not ("HttpFactoryWithProxy" -as [type]))
{
try
{
Write-Log "Add type HttpFactoryWithProxy"
[System.Collections.Generic.List[string]] $RequiredAssemblies = New-Object System.Collections.Generic.List[string]
$RequiredAssemblies.Add($script:msalFile)
$RequiredAssemblies.Add('System.Net.Http.dll')
$RequiredAssemblies.Add('System.Net.Primitives.dll')
Add-Type -Path ($global:AppRootFolder + "\CS\HttpFactoryWithProxy.cs") -ReferencedAssemblies $RequiredAssemblies
}
catch
{
Write-LogError "Failed to compile HttpFactoryWithProxy" $_.Exception
}
}
try
{
$hcf = [HttpFactoryWithProxy]::new($proxy)
[void] $appBuilder.WithHttpClientFactory($hcf)
}
catch
{
Write-LogError "Failed to set proxy for MSAL" $_.Exception
}
}
}
function Get-MSALLoginEnvironment function Get-MSALLoginEnvironment
{ {
$loginEnv = $script:lstAADEnvironments | Where value -eq (Get-Setting "" "MSALCloudType" "public") $loginEnv = $script:lstAADEnvironments | Where value -eq (Get-Setting "" "MSALCloudType" "public")
@@ -717,6 +757,8 @@ function Get-MSALApp
[void] $appBuilder.WithClientName("CloudAPIPowerShellManagement") [void] $appBuilder.WithClientName("CloudAPIPowerShellManagement")
[void] $appBuilder.WithClientVersion($PSVersionTable.PSVersion) [void] $appBuilder.WithClientVersion($PSVersionTable.PSVersion)
Add-MSALProxy $appBuilder
# Ceck if correct version... # Ceck if correct version...
#$appBuilder.WithMultiCloudSupport($true) #$appBuilder.WithMultiCloudSupport($true)
@@ -1065,6 +1107,8 @@ function Connect-MSALUser
else { [void]$appBuilder.WithAuthority($global:MSALApp.Authority) } else { [void]$appBuilder.WithAuthority($global:MSALApp.Authority) }
if($global:appObj.RedirectUri) { [void]$appBuilder.WithRedirectUri($global:appObj.RedirectUri) } if($global:appObj.RedirectUri) { [void]$appBuilder.WithRedirectUri($global:appObj.RedirectUri) }
Add-MSALProxy $appBuilder
$app = $appBuilder.Build() $app = $appBuilder.Build()
if((Get-SettingValue "CacheMSALToken")) if((Get-SettingValue "CacheMSALToken"))
@@ -1091,9 +1135,17 @@ function Connect-MSALUser
'Content-Type' = 'application/json' 'Content-Type' = 'application/json'
'Authorization' = "Bearer " + $tmpResults.AccessToken 'Authorization' = "Bearer " + $tmpResults.AccessToken
'ExpiresOn' = $tmpResults.ExpiresOn 'ExpiresOn' = $tmpResults.ExpiresOn
} }
$ret = Invoke-RestMethod "https://management.azure.com/tenants?api-version=2020-01-01" -Headers $Headers $params = @{}
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
$ret = Invoke-RestMethod "https://management.azure.com/tenants?api-version=2020-01-01" -Headers $Headers @params
if($ret) if($ret)
{ {
$script:AccessableTenants = $ret.Value $script:AccessableTenants = $ret.Value
+156 -68
View File
@@ -10,7 +10,7 @@ This module manages Microsoft Grap fuctions like calling APIs, managing graph ob
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.8.1' '3.9.1'
} }
$global:MSGraphGlobalApps = @( $global:MSGraphGlobalApps = @(
@@ -394,6 +394,13 @@ function Invoke-GraphRequest
$url = "$($url.Trim())`$top=$($PageSize)" $url = "$($url.Trim())`$top=$($PageSize)"
} }
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$params.Add("proxy", $proxyURI)
$params.Add("UseBasicParsing", $true)
}
$ret = $null $ret = $null
$retryCount = 0 $retryCount = 0
@@ -819,6 +826,7 @@ function Show-GraphObjects
if($ctrl.Name -eq "btnDelete") if($ctrl.Name -eq "btnDelete")
{ {
$allowDelete = Get-SettingValue "EMAllowDelete" $allowDelete = Get-SettingValue "EMAllowDelete"
if($global:currentViewObject.ViewInfo.AllowDelete -eq $false) { $allowDelete = $false }
$ctrl.Visibility = (?: ($allowDelete -eq $true) "Visible" "Collapsed") $ctrl.Visibility = (?: ($allowDelete -eq $true) "Visible" "Collapsed")
} }
elseif(-not $global:curObjectType.ShowButtons -or ($global:curObjectType.ShowButtons | Where-Object { $ctrl.Name -like "*$($_)" } )) elseif(-not $global:curObjectType.ShowButtons -or ($global:curObjectType.ShowButtons | Where-Object { $ctrl.Name -like "*$($_)" } ))
@@ -1027,6 +1035,12 @@ function Get-GraphMetaData
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions") [void][System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$wc = New-Object System.Net.WebClient $wc = New-Object System.Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8 $wc.Encoding = [System.Text.Encoding]::UTF8
$proxyURI = Get-ProxyURI
if($proxyURI)
{
$wc.Proxy = $proxyURI
}
try try
{ {
[xml]$global:metaDataXML = $wc.DownloadString($url) [xml]$global:metaDataXML = $wc.DownloadString($url)
@@ -2247,9 +2261,9 @@ function Reset-GraphObject
$nameProp = ?? $fileObj.ObjectType.NameProperty "displayName" $nameProp = ?? $fileObj.ObjectType.NameProperty "displayName"
$curObject = $objectList | Where { $_.Object.$nameProp -eq $fileObj.Object.$nameProp -and $_.Object.'@OData.Type' -eq $fileObj.Object.'@OData.Type' } $curObject = $objectList | Where { $_.Object.$nameProp -eq $fileObj.Object.$nameProp -and $_.Object.'@OData.Type' -eq $fileObj.Object.'@OData.Type' }
if($global:cbImportType.SelectedValue -eq "skipIfExist" -and ($curObject | measure).Count -gt 0) if($global:cbImportType.SelectedValue -eq "skipIfExist" -and ($curObject | measure).Count -gt 0 -and $fileObj.ObjectType.AlwaysImport -ne $true)
{ {
Write-Log "Objects with name $($fileObj.Object.$nameProp) already exists. Object will not be imported" Write-Log "Object with name $($fileObj.Object.$nameProp) already exists. Object will not be imported"
return $true return $true
} }
elseif(($curObject | measure).Count -gt 1) elseif(($curObject | measure).Count -gt 1)
@@ -2259,7 +2273,12 @@ function Reset-GraphObject
} }
elseif(($curObject | measure).Count -eq 1) elseif(($curObject | measure).Count -eq 1)
{ {
Write-Log "Update $((Get-GraphObjectName $fileObj.Object $fileObj.ObjectType)) with id $($curObject.Object.Id)" $idInfo = ""
if([String]::IsNullOrEmpty($curObject.Object.Id) -eq $false)
{
$idInfo = " with id $($curObject.Object.Id)"
}
Write-Log "Update $((Get-GraphObjectName $fileObj.Object $fileObj.ObjectType))$idInfo"
$objectType = $fileObj.ObjectType $objectType = $fileObj.ObjectType
# Clone the object before removing properties # Clone the object before removing properties
@@ -2491,25 +2510,36 @@ function Set-ScopeTags
else { return } else { return }
$scopesIds = @() $scopesIds = @()
$loadedScopeTags = $global:LoadedDependencyObjects["ScopeTags"] if($global:chkReplaceDependencyIDs.IsChecked -eq $false -and $global:chkReplaceDependencyIDs.IsEnabled -eq $false)
$usingDefault = (($obj."$scopeTagProperty" | measure).Count -eq 1 -and ($obj."$scopeTagProperty")[0] -eq "0")
if($loadedScopeTags -and $global:chkImportScopes.IsChecked -eq $true -and $usingDefault -eq $false -and $loadedScopeTags)
{ {
foreach($scopeId in $obj."$scopeTagProperty") if($global:chkImportScopes.IsChecked -eq $true)
{ {
if($scopeId -eq 0) { $scopesIds += "0"; continue } # Add default $scopesIds += $obj.$scopeTagProperty
}
}
else
{
$loadedScopeTags = $global:LoadedDependencyObjects["ScopeTags"]
$usingDefault = (($obj."$scopeTagProperty" | measure).Count -eq 1 -and ($obj."$scopeTagProperty")[0] -eq "0")
if($loadedScopeTags -and $global:chkImportScopes.IsChecked -eq $true -and $usingDefault -eq $false -and $loadedScopeTags)
{
foreach($scopeId in $obj."$scopeTagProperty")
{
if($scopeId -eq 0) { $scopesIds += "0"; continue } # Add default
$scopeMigObj = $loadedScopeTags | Where OriginalId -eq $scopeId $scopeMigObj = $loadedScopeTags | Where OriginalId -eq $scopeId
if($scopeMigObj -and $scopeMigObj.Id) if($scopeMigObj -and $scopeMigObj.Id)
{ {
$scopesIds += "$($scopeMigObj.Id)" $scopesIds += "$($scopeMigObj.Id)"
} }
elseif($scopeMigObj) elseif($scopeMigObj)
{ {
Write-Log "Could not find a ScopeTag for exported Id '$($obj.Id)' ($($scopeMigObj.Name)). Make sure all ScopeTags are imported into the environment" 2 Write-Log "Could not find a ScopeTag for exported Id '$($obj.Id)' ($($scopeMigObj.Name)). Make sure all ScopeTags are imported into the environment" 2
}
} }
} }
} }
if($scopesIds.Count -eq 0) if($scopesIds.Count -eq 0)
{ {
$scopesIds += "0" # Import with Default ScopeTag as default. $scopesIds += "0" # Import with Default ScopeTag as default.
@@ -2538,7 +2568,6 @@ function Add-GraphMigrationInfo
if($objType -eq "#microsoft.graph.groupAssignmentTarget" -or if($objType -eq "#microsoft.graph.groupAssignmentTarget" -or
$objType -eq "#microsoft.graph.exclusionGroupAssignmentTarget") $objType -eq "#microsoft.graph.exclusionGroupAssignmentTarget")
{ {
#Add-GroupMigrationObject $objInfo.groupid
Add-GraphMigrationObject $objInfo.groupid "/groups" "Group" Add-GraphMigrationObject $objInfo.groupid "/groups" "Group"
} }
elseif($objType -eq "#microsoft.graph.allLicensedUsersAssignmentTarget" -or elseif($objType -eq "#microsoft.graph.allLicensedUsersAssignmentTarget" -or
@@ -2660,13 +2689,13 @@ function Add-GraphMigrationObject
if(-not $graphObj) if(-not $graphObj)
{ {
# Get object info # Get object info
$graphObj = Invoke-GraphRequest "$($grapAPI)/$objId" -ODataMetadata "none" $graphObj = Invoke-GraphRequest "$($grapAPI)/$objId" -ODataMetadata "none" -NoError
} }
if($graphObj) if($graphObj)
{ {
# Add object to cache # Add object to cache
if($global:AADObjectCache.ContainsKey($objId) -eq $false) { $global:AADObjectCache.Add($objId, $ugraphObjserObj) } if($global:AADObjectCache.ContainsKey($objId) -eq $false) { $global:AADObjectCache.Add($objId, $graphObj ) }
# Add object to migration file # Add object to migration file
if((Add-GraphMigrationObjectToFile $graphObj $path $objTypeName)) if((Add-GraphMigrationObjectToFile $graphObj $path $objTypeName))
@@ -2681,6 +2710,10 @@ function Add-GraphMigrationObject
} }
} }
} }
else
{
Write-Log "No $objTypeName found with ID $($groupId). It might be deleted." 2
}
} }
function Get-GraphMigrationObject function Get-GraphMigrationObject
@@ -2806,14 +2839,15 @@ function Get-GraphMigrationObjectsFromFile
{ {
if($migObj.Type -like "*group*") if($migObj.Type -like "*group*")
{ {
$obj = (Invoke-GraphRequest "/groups?`$filter=displayName eq '$($migObj.DisplayName)'").Value $migTableGroupName = $migObj.DisplayName.Trim()
$obj = (Invoke-GraphRequest "/groups?`$filter=displayName eq '$($migTableGroupName)'").Value
if(-not $obj) if(-not $obj)
{ {
$groupFi = $null $groupFi = $null
if($global:GraphMigrationTable) if($global:GraphMigrationTable)
{ {
$fi = [IO.FileInfo]$global:GraphMigrationTable $fi = [IO.FileInfo]$global:GraphMigrationTable
$groupFi = [IO.FileInfo]($fi.DirectoryName + "\Groups\$((Remove-InvalidFileNameChars $migObj.DisplayName)).json") $groupFi = [IO.FileInfo]($fi.DirectoryName + "\Groups\$((Remove-InvalidFileNameChars $migTableGroupName)).json")
} }
if($groupFi.Exists -eq $true) if($groupFi.Exists -eq $true)
@@ -2830,31 +2864,47 @@ function Get-GraphMigrationObjectsFromFile
Remove-Property $groupObj $prop.Name Remove-Property $groupObj $prop.Name
} }
$groupObj.displayName = $groupObj.displayName.Trim()
$groupJson = ConvertTo-Json $groupObj -Depth 50 $groupJson = ConvertTo-Json $groupObj -Depth 50
} }
else else
{ {
Write-Log "No group object found for $($migObj.DisplayName). Creating a cloud group with default settings" 2 $groupName = $migTableGroupName
Write-Log "No group object found for $groupName. Creating a cloud group with default settings" 2
$dateStr = ((Get-Date).ToString("yyMMddHHmmss"))
if(($groupName.Length + $dateStr.Length) -gt 64)
{
$nickName = $groupName.Substring(0,(64-$dateStr.Length))
}
else
{
$nickName = $groupName
}
$nickName = $nickName + $dateStr
$groupJson = @" $groupJson = @"
{ {
"displayName": "$($migObj.DisplayName)", "displayName": "$($groupName)",
"groupTypes": [
],
"mailEnabled": false, "mailEnabled": false,
"mailNickname" "NotSet" "mailNickname": "$($nickName)",
"securityEnabled": true "securityEnabled": true
} }
"@ "@
} }
Write-Log "Create AAD Group $($migObj.DisplayName)" Write-Log "Create AAD Group $($migTableGroupName)"
$obj = Invoke-GraphRequest "/groups" -HttpMethod "POST" -Content $groupJson $obj = Invoke-GraphRequest "/groups" -HttpMethod "POST" -Content $groupJson
} }
$global:MigrationTableCache += (New-Object PSObject -Property @{
OriginalId = $migObj.Id if($obj)
Id = $obj.Id {
Type = $migObj.Type $global:MigrationTableCache += (New-Object PSObject -Property @{
}) OriginalId = $migObj.Id
Id = $obj.Id
Type = $migObj.Type
})
}
} }
} }
} }
@@ -2935,7 +2985,7 @@ function Add-GraphDependencyObjects
{ {
if($global:LoadedDependencyObjects.ContainsKey($dep)) { continue } if($global:LoadedDependencyObjects.ContainsKey($dep)) { continue }
$depObjectType = $global:currentViewObject.ViewItems | Where Id -eq $Dep $depObjectType = $global:viewObjects.ViewItems | Where Id -eq $Dep
if(-not $depObjectType) if(-not $depObjectType)
{ {
@@ -3172,12 +3222,23 @@ function Set-GraphNavigationProperties
# Is this the correct way of filter out Assignments, summaries etc.? # Is this the correct way of filter out Assignments, summaries etc.?
if($prop.ContainsTarget -eq $true) { continue } if($prop.ContainsTarget -eq $true) { continue }
if(-not ($oldObj."$($prop.Name)@odata.associationLink")) { continue } if(-not ($oldObj."$($prop.Name)@odata.associationLink")) { continue }
$associationLink = $oldObj."$($prop.Name)@odata.associationLink" -replace $oldObj.Id,$newObj.Id $associationLink = $oldObj."$($prop.Name)@odata.associationLink" -replace $oldObj.Id,$newObj.Id
$refBodyObjs = $null #@() $refBodyObjs = @()
$refObjName = $null $refObjName = $null
$refObjId = $null $refObjId = $null
if($prop.Type -like "Collection(*")
{
$multiNavProperty = $true
$method = "POST"
}
else
{
$multiNavProperty = $false
$method = "PUT"
}
if($FromOldObject -eq $true) if($FromOldObject -eq $true)
{ {
@@ -3185,12 +3246,25 @@ function Set-GraphNavigationProperties
if(-not $navProp) { continue } if(-not $navProp) { continue }
$refObjName = Get-GraphObjectName $navProp $navProp if($multiNavProperty)
$refObjId = $navProp.Id {
$navProperties = $navProp.Value
}
else
{
$navProperties = $navProp
}
$refBodyObjs = ([PSCustomObject]@{ foreach($navProp in $navProperties)
"@odata.id" = ("https://$global:MSALGraphEnvironment/beta/$($objectType.API)('$($navProp.Id)')") {
}) $refBodyObjs += [PSCustomObject]@{
RefObjName = $navProp.displayName ### NOT Correct. Migh be another property but we don't know the type
RefObjId = $navProp.Id
RefBody = ([PSCustomObject]@{
"@odata.id" = ("https://$global:MSALGraphEnvironment/beta/$($objectType.API)('$($navProp.Id)')")
})
}
}
} }
else else
{ {
@@ -3199,50 +3273,58 @@ function Set-GraphNavigationProperties
$idx = $oldObj."#CustomRef_$($prop.Name)".IndexOf("|:|") $idx = $oldObj."#CustomRef_$($prop.Name)".IndexOf("|:|")
if($idx -gt -1) if($idx -gt -1)
{ {
$refObjName = $oldObj."#CustomRef_$($prop.Name)".SubString(0,$idx) $refObjNames = $oldObj."#CustomRef_$($prop.Name)".SubString(0,$idx)
} }
else else
{ {
$refObjName = $oldObj."#CustomRef_$($prop.Name)" $refObjNames = $oldObj."#CustomRef_$($prop.Name)"
} }
$refObjects = Invoke-GraphRequest -URL "$($objectType.API)?`$filter=$($nameProp) eq '$($refObjName)'" -NoError foreach($refObjName in $refObjNames.Split(","))
$objectsFound = ($refObjects.value | measure).Count
if($objectsFound -eq 1)
{ {
# Are there any references that allows multiple ref objects? $refObjects = Invoke-GraphRequest -URL "$($objectType.API)?`$filter=$($nameProp) eq '$($refObjName)'" -NoError
foreach($refObj in $refObjects.value)
$objectsFound = ($refObjects.value | measure).Count
if($objectsFound -eq 1)
{ {
$refBodyObjs = ([PSCustomObject]@{ # Are there any references that allows multiple ref objects?
"@odata.id" = ("https://$global:MSALGraphEnvironment/beta/$($objectType.API)('$($refObj.Id)')") foreach($refObj in $refObjects.value)
}) {
$refObjId = $refObj.Id $refBodyObjs += [PSCustomObject]@{
RefObjName = $refObjName
RefObjId = $refObj.Id
RefBody = ([PSCustomObject]@{
"@odata.id" = ("https://$global:MSALGraphEnvironment/beta/$($objectType.API)('$($refObj.Id)')")
})
}
}
}
elseif($objectsFound -gt 1)
{
Write-Log "Multiple objects ($objectsFound) found with $nameProp $refObjName. Skipping reference." 2
continue
}
else
{
Write-Log "No object found with $nameProp $refObjName" 2
continue
} }
}
elseif($objectsFound -gt 1)
{
Write-Log "Multiple objects ($objectsFound) found with $nameProp $refObjName. Skipping reference." 2
continue
}
else
{
Write-Log "No object found with $nameProp $refObjName" 2
continue
} }
} }
Write-Log "Add $refObjName ($refObjId) to navigation property $($prop.Name)" foreach($refObject in $refBodyObjs)
{
$body = $refBodyObjs | ConvertTo-Json -Depth 50 Write-Log "Add $($refObject.RefObjName) ($($refObject.RefObjId)) to navigation property $($prop.Name)"
Invoke-GraphRequest -URL $associationLink -HttpMethod "PUT" -Content $body | Out-Null $body = $refObject.RefBody | ConvertTo-Json -Depth 50
Invoke-GraphRequest -URL $associationLink -HttpMethod $method -Content $body | Out-Null
}
} }
} }
<# <#
Add Navigation Property data to the object so it included in the exported json file Add Navigation Property data to the object so they are included in the exported json file
#> #>
function Add-GraphNavigationProperties function Add-GraphNavigationProperties
{ {
@@ -4032,6 +4114,12 @@ function Get-GraphObjectName
{ {
param($obj, $objectType) param($obj, $objectType)
if($objectType.GetObjectName)
{
return (& $objectType.GetObjectName $obj $objectType)
}
$obj."$((?? ($objectType.NameProperty) "displayName"))" $obj."$((?? ($objectType.NameProperty) "displayName"))"
} }
+84
View File
@@ -1,4 +1,88 @@
# Release Notes # Release Notes
## 3.9.1 - 2023-08-30
**New features**
- **Added support for Windows Update Driver Policies**<br />
- **Support for new Settings**<br />
- Proxy configuration - If configured, Proxy will be used for authentication, APIs and upload<br />
- Disable Write-Error output - Skip PowerShell errors in output<br />
**Default Settings Value Changes**
- Conditional Access policies will now be imported as Disabled by default<br />
- New import option added: As Exported - Change On to Report-only<br />
- This is to avoid being locked out from the tenant when importing Conditional Access policies<br />
- Based on [Discussion 139](https://github.com/Micke-K/IntuneManagement/discussions/139)<br />
**Fixes**
- **Documentation**<br />
- Fixed issues with some Feature Updates properties<br />
- Added missing strings on Windows Update polices<br />
- Regenerated Language files and Translation tables for Template policies<br />
Note: Conditional Access string has changed file in background. Please report if there is anything missing<br />
- **Custom ADMX Files**<br />
- Fixed issues with migrating custom policies between environments<br />
- Case reopened due to something broke the initial functionality<br />
- Only custom ADMX policies with #Definition properties can be imported into a new environment<br />
- Based on [Issue 124](https://github.com/Micke-K/IntuneManagement/issues/124)<br />
- **Scope Tags**<br />
- Fixed issues with importing policies with Scope Tags but they were not set<br />
- Based on [Issue 133](https://github.com/Micke-K/IntuneManagement/issues/133)<br />
**Generic**<br />
- Remove invalid characters from path.<br />
- Based on [Issue 150](https://github.com/Micke-K/IntuneManagement/issues/150)<br />
<br />
## 3.9.0 - 2023-05-04
**New features**
- **Added support for Authentication Context objects**<br />
- These are used by Conditional Access policies<br />
Based on [Issue 109](https://github.com/Micke-K/IntuneManagement/issues/109)<br />
- **Added support for Windows 365 Cloud PC settings**<br />
- Based on [Issue 125](https://github.com/Micke-K/IntuneManagement/issues/125)<br />
- **Added support for Export/Import Tennant Settings**<br />
- This is added the Intune Info view for now (Views -> Intune Info)<br />
This means that there is no support for Bulk Import/Export. It must be done manually<br />
This is to minimize the risk of re-importing Tenant settings<br />
Based on [Discussion 131](https://github.com/Micke-K/IntuneManagement/discussions/131)<br />
**Fixes**
- **Documentation**<br />
- Added full documentation of Requirement and Detection rules for Win Apps<br />
Based on [Issue 119](https://github.com/Micke-K/IntuneManagement/issues/119)<br />
- Fixed issue were documentation could crash if Reusable Settings policies exists<br />
Based on [Issue 123](https://github.com/Micke-K/IntuneManagement/issues/123)<br />
- Regenerated Language files and Translation tables for Template policies<br />
- **Intunwin File Upload**<br />
- Fixed issue when uploading very large files<br />
Based on [Issue 112](https://github.com/Micke-K/IntuneManagement/issues/112)<br />
- Fixed issue when IE not installed<br />
- **Compare**<br />
- Fixed issue where Compare could generate an exception in the log<br />
Based on [Issue 128](https://github.com/Micke-K/IntuneManagement/issues/128)<br />
**Note:** Issue 128 is only partially fixed. Compare needs a major update to fix the rest<br />
- **Import**<br />
- Fixed an issue when creating Cloud groups based on on-prem groups without MigTable<br />
- Fixed an issue when importing groups with a space in the beginning<br />
**Note:** Inital spaces will be removed when importing groups<br />
- Fixed issue when importing Endpoint Status Page polices with applications defined<br />
- Fixed issue when importing Proactive Remediations (Health Scripts) with assignments<br />
- Fixed issue when importing a Conditional Policy with Session propery disableResilienceDefaults set to $false<br />
- Fixed issue when importing WiFi profiles. Support for multiple references was added eg multiple server verification certificates<br />
Based on [Issue 114](https://github.com/Micke-K/IntuneManagement/issues/114)<br />
- Terms of Use was not visible in the menu<br />
**Note:** This might generate a Consent prompt if Use Default Permissions is not enabled<br />
Additional permission required on the Azure App: Agreement.ReadWrite.All<br />
<br />
## 3.8.1 - 2023-01-26 ## 3.8.1 - 2023-01-26
**New features** **New features**
+26
View File
@@ -0,0 +1,26 @@
<Viewbox Width="18" Height="18" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Height="18" Width="18">
<Canvas.Resources>
<LinearGradientBrush x:Key="deed83ab-7995-4b1b-9000-e569a21c2014" StartPoint="0.064690001308918,0.0795900002121925" EndPoint="0.064690001308918,0.187000006437302" MappingMode="RelativeToBoundingBox">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Offset="0.225" Color="#50e6ff" />
<GradientStop Offset="1" Color="#198ab3" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
<LinearGradientBrush x:Key="deed83ab-7995-4b1b-9000-e569a21c2015" StartPoint="0.0619699992239475,0.0220100004225969" EndPoint="0.0698100030422211,0.119529999792576" MappingMode="RelativeToBoundingBox">
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Offset="0.225" Color="#50e6ff" />
<GradientStop Offset="1" Color="#198ab3" />
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Canvas.Resources>
<Path Data="M11.783 16.761a1.15 1.15 0 0 0 1.154-1.146 1.08 1.08 0 0 0-.008-.139c-.452-3.615-2.515-6.56-6.45-6.56-4 0-6.07 2.493-6.473 6.57a1.158 1.158 0 0 0 1.032 1.269 1.112 1.112 0 0 0 .116.006Z" Fill="{StaticResource deed83ab-7995-4b1b-9000-e569a21c2014}" />
<Path Data="M6.541 9.773A3.6 3.6 0 0 1 4.577 9.2l1.944 5.08 1.931-5.051a3.608 3.608 0 0 1-1.911.544Z" Fill="#FFFFFF" />
<Ellipse Canvas.Left="2.886" Canvas.Top="2.518" Width="7.256" Height="7.256" Fill="{StaticResource deed83ab-7995-4b1b-9000-e569a21c2015}" />
<Path Data="M18 8.611V7.127l-.208-.078-1.592-.521-.416-1.015L16.6 3.8l-1.047-1.046-.208.1-1.483.754-1.015-.408-.647-1.8h-1.488l-.078.208-.52 1.592-1.009.414a3.61 3.61 0 0 1 .966 1.833 2.851 2.851 0 1 1 1.422 5.32 2.884 2.884 0 0 1-.641-.078 7.369 7.369 0 0 1 1.68 2.972l.341-1.039 1.015-.417 1.717.807 1.042-1.041-.1-.208-.754-1.484.407-1.018Z" Fill="#0078d4" />
</Canvas>
</Viewbox>