3.4.0
New features and fixes
This commit is contained in:
Binary file not shown.
@@ -73,7 +73,19 @@ function Initialize-CloudAPIManagement
|
|||||||
[switch]
|
[switch]
|
||||||
$JSonSettings,
|
$JSonSettings,
|
||||||
[string]
|
[string]
|
||||||
$JSonFile
|
$JSonFile,
|
||||||
|
[switch]
|
||||||
|
$Silent,
|
||||||
|
[string]
|
||||||
|
$SilentBatchFile,
|
||||||
|
[string]
|
||||||
|
$tenantId,
|
||||||
|
[string]
|
||||||
|
$appId,
|
||||||
|
[string]
|
||||||
|
$secret,
|
||||||
|
[string]
|
||||||
|
$certificate
|
||||||
)
|
)
|
||||||
|
|
||||||
$global:wpfNS = "xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'"
|
$global:wpfNS = "xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'"
|
||||||
@@ -81,6 +93,12 @@ function Initialize-CloudAPIManagement
|
|||||||
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
|
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
|
||||||
Add-Type -AssemblyName PresentationFramework
|
Add-Type -AssemblyName PresentationFramework
|
||||||
|
|
||||||
|
$global:hideUI = ($Silent -eq $true)
|
||||||
|
$global:SilentBatchFile = $SilentBatchFile
|
||||||
|
|
||||||
|
if($global:hideUI -ne $true)
|
||||||
|
{
|
||||||
|
# Run with UI
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
[xml]$xaml = Get-Content ([IO.Path]::GetDirectoryName($PSCommandPath) + "\Xaml\SplashScreen.xaml")
|
[xml]$xaml = Get-Content ([IO.Path]::GetDirectoryName($PSCommandPath) + "\Xaml\SplashScreen.xaml")
|
||||||
@@ -97,6 +115,22 @@ function Initialize-CloudAPIManagement
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
# Run silent
|
||||||
|
|
||||||
|
if(-not $tenantId)
|
||||||
|
{
|
||||||
|
# Core module not loaded yet so can't use log function
|
||||||
|
Write-Error "Tenant Id is missing. Use -TenantId <Tenant-guid> on the command line to run silent batch jobs"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$global:TenantId = $tenantId
|
||||||
|
$global:AzureAppId = $appId
|
||||||
|
$global:ClientSecret = $secret
|
||||||
|
$global:ClientCert = $certificate
|
||||||
|
}
|
||||||
|
|
||||||
if($ShowConsoleWindow -ne $true)
|
if($ShowConsoleWindow -ne $true)
|
||||||
{
|
{
|
||||||
@@ -113,11 +147,17 @@ function Initialize-CloudAPIManagement
|
|||||||
$global:UseJSonSettings = $false
|
$global:UseJSonSettings = $false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($global:hideUI -ne $true)
|
||||||
|
{
|
||||||
$global:txtSplashText.Text = "Unblock files"
|
$global:txtSplashText.Text = "Unblock files"
|
||||||
|
}
|
||||||
[System.Windows.Forms.Application]::DoEvents()
|
[System.Windows.Forms.Application]::DoEvents()
|
||||||
Unblock-AllFiles $PSScriptRoot
|
Unblock-AllFiles $PSScriptRoot
|
||||||
|
|
||||||
|
if($global:hideUI -ne $true)
|
||||||
|
{
|
||||||
$global:txtSplashText.Text = "Load core module"
|
$global:txtSplashText.Text = "Load core module"
|
||||||
|
}
|
||||||
[System.Windows.Forms.Application]::DoEvents()
|
[System.Windows.Forms.Application]::DoEvents()
|
||||||
Import-Module ($PSScriptRoot + "\Core.psm1") -Force -Global
|
Import-Module ($PSScriptRoot + "\Core.psm1") -Force -Global
|
||||||
|
|
||||||
|
|||||||
180
Core.psm1
180
Core.psm1
@@ -11,7 +11,7 @@ This module handles the WPF UI
|
|||||||
|
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'3.3.2'
|
'3.4.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
function Start-CoreApp
|
function Start-CoreApp
|
||||||
@@ -66,11 +66,13 @@ function Start-CoreApp
|
|||||||
$global:FirstTimeRunning = ((Get-Setting "" "FirstTimeRunning" "true") -eq "true")
|
$global:FirstTimeRunning = ((Get-Setting "" "FirstTimeRunning" "true") -eq "true")
|
||||||
$global:MainAppStarted = $false
|
$global:MainAppStarted = $false
|
||||||
|
|
||||||
$global:txtSplashText.Text = "Initialize views"
|
Set-SplashWindowText "Initialize views"
|
||||||
[System.Windows.Forms.Application]::DoEvents()
|
[System.Windows.Forms.Application]::DoEvents()
|
||||||
|
|
||||||
Invoke-ModuleFunction "Invoke-InitializeModule"
|
Invoke-ModuleFunction "Invoke-InitializeModule"
|
||||||
|
|
||||||
|
if($global:hideUI -ne $true)
|
||||||
|
{
|
||||||
#Add menu group and items
|
#Add menu group and items
|
||||||
$script:LogViewObject = (New-Object PSObject -Property @{
|
$script:LogViewObject = (New-Object PSObject -Property @{
|
||||||
Title = "Log"
|
Title = "Log"
|
||||||
@@ -102,6 +104,40 @@ function Start-CoreApp
|
|||||||
[System.Windows.Forms.Application]::DoEvents()
|
[System.Windows.Forms.Application]::DoEvents()
|
||||||
$global:window.ShowDialog() | Out-Null
|
$global:window.ShowDialog() | Out-Null
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(-not $global:SilentBatchFile)
|
||||||
|
{
|
||||||
|
Write-Log "SilentBatchFile must be specified" 3
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$silentFI = [IO.FileInfo]$global:SilentBatchFile
|
||||||
|
|
||||||
|
if($silentFI.Exists -eq $false)
|
||||||
|
{
|
||||||
|
Write-Log "SilentBatchFile $($global:SilentBatchFile) not found" 3
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Invoke-ModuleFunction "Invoke-ShowMainWindow"
|
||||||
|
|
||||||
|
Invoke-ModuleFunction "Invoke-InitSilentBatchJob"
|
||||||
|
|
||||||
|
Start-RunSilentBatchJob
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Start-RunSilentBatchJob
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$settingObj = (ConvertFrom-Json (Get-Content -Path $global:SilentBatchFile -Raw -ErrorAction Stop))
|
||||||
|
Invoke-ModuleFunction "Invoke-SilentBatchJob" $settingObj
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Write-LogError "Failed to trigger silent batch job." $_.Exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Import-AllModules
|
function Import-AllModules
|
||||||
@@ -111,7 +147,7 @@ function Import-AllModules
|
|||||||
$fileName = [IO.Path]::GetFileName($file)
|
$fileName = [IO.Path]::GetFileName($file)
|
||||||
if($skipModules -contains $fileName) { Write-Warning "Module $fileName excluded"; continue; }
|
if($skipModules -contains $fileName) { Write-Warning "Module $fileName excluded"; continue; }
|
||||||
|
|
||||||
$global:txtSplashText.Text = "Import module $fileName"
|
Set-SplashWindowText "Import module $fileName"
|
||||||
[System.Windows.Forms.Application]::DoEvents()
|
[System.Windows.Forms.Application]::DoEvents()
|
||||||
|
|
||||||
$module = Import-Module $file -PassThru -Force -Global -ErrorAction SilentlyContinue
|
$module = Import-Module $file -PassThru -Force -Global -ErrorAction SilentlyContinue
|
||||||
@@ -127,6 +163,15 @@ function Import-AllModules
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Set-SplashWindowText
|
||||||
|
{
|
||||||
|
param($text)
|
||||||
|
|
||||||
|
if($global:hideUI -eq $true) { return }
|
||||||
|
|
||||||
|
$global:txtSplashText.Text = $text
|
||||||
|
}
|
||||||
|
|
||||||
#region Log functions
|
#region Log functions
|
||||||
function Write-Log
|
function Write-Log
|
||||||
{
|
{
|
||||||
@@ -243,6 +288,12 @@ function Write-Status
|
|||||||
{
|
{
|
||||||
param($Text, [switch]$SkipLog, [switch]$Block, [switch]$Force)
|
param($Text, [switch]$SkipLog, [switch]$Block, [switch]$Force)
|
||||||
|
|
||||||
|
if($global:hideUI -eq $true)
|
||||||
|
{
|
||||||
|
if($SkipLog -ne $true) { Write-Log $text }
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if(-not $text) { $global:BlockStatusUpdates = $false }
|
if(-not $text) { $global:BlockStatusUpdates = $false }
|
||||||
elseif($global:BlockStatusUpdates -eq $true -and $Force -ne $true) { return }
|
elseif($global:BlockStatusUpdates -eq $true -and $Force -ne $true) { return }
|
||||||
elseif($Block -eq $true) { $global:BlockStatusUpdates = $true }
|
elseif($Block -eq $true) { $global:BlockStatusUpdates = $true }
|
||||||
@@ -415,6 +466,64 @@ function Invoke-RegisterName
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Silent Functions
|
||||||
|
function Set-BatchProperties
|
||||||
|
{
|
||||||
|
param($settingsObj, $form)
|
||||||
|
|
||||||
|
if(-not $settingsObj -or -not $form)
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($prop in $settingsObj) #($settingsObj | GM | Where MemberType -eq NoteProperty))
|
||||||
|
{
|
||||||
|
if($prop.Type -eq "Custom") { continue }
|
||||||
|
|
||||||
|
$obj = $form.FindName($prop.Name)
|
||||||
|
if(-not $obj)
|
||||||
|
{
|
||||||
|
Write-Log "No setting for $($prop.Name) found" 2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if(-not $prop.Value)
|
||||||
|
{
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if($obj -is [System.Windows.Controls.CheckBox])
|
||||||
|
{
|
||||||
|
$obj.IsChecked = $prop.Value -eq $true
|
||||||
|
}
|
||||||
|
elseif($obj -is [System.Windows.Controls.TextBox])
|
||||||
|
{
|
||||||
|
$obj.Text = $prop.Value
|
||||||
|
}
|
||||||
|
elseif($obj -is [System.Windows.Controls.ComboBox])
|
||||||
|
{
|
||||||
|
$obj.SelectedValue = $prop.Value
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Write-Log "Unsupported object type for silent batch job: $($obj.GetType().FullName)" 3
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Write-LogError "Failed to set batch job property for $($prop.Name)" $_.Exception
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Dialogs
|
#region Dialogs
|
||||||
|
|
||||||
function Show-AboutDialog
|
function Show-AboutDialog
|
||||||
@@ -671,7 +780,7 @@ function Set-ObjectGrid
|
|||||||
|
|
||||||
if($obj)
|
if($obj)
|
||||||
{
|
{
|
||||||
$global:grdObject.Children.Add($obj)
|
$global:grdObject.Children.Add($obj) | Out-Null
|
||||||
$global:grdObject.Visibility = "Visible"
|
$global:grdObject.Visibility = "Visible"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -920,6 +1029,8 @@ function Save-Setting
|
|||||||
{
|
{
|
||||||
param($SubPath = "", $Key = "", $Value, $Type = "String")
|
param($SubPath = "", $Key = "", $Value, $Type = "String")
|
||||||
|
|
||||||
|
if($global:hideUI -eq $true) { return }
|
||||||
|
|
||||||
if($global:JsonSettingsObj -and $global:JSonSettingFile)
|
if($global:JsonSettingsObj -and $global:JSonSettingFile)
|
||||||
{
|
{
|
||||||
if($SubPath)
|
if($SubPath)
|
||||||
@@ -997,6 +1108,58 @@ function Save-Setting
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Remove-Setting
|
||||||
|
{
|
||||||
|
param($SubPath = "", $Key = "")
|
||||||
|
|
||||||
|
if($global:JsonSettingsObj)
|
||||||
|
{
|
||||||
|
if($SubPath)
|
||||||
|
{
|
||||||
|
$arrParts = $SubPath.TrimEnd(@('/','\')).Split(@('/','\'))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$arrParts = @()
|
||||||
|
}
|
||||||
|
|
||||||
|
$parentSetting = $global:JsonSettingsObj
|
||||||
|
|
||||||
|
foreach($part in $arrParts)
|
||||||
|
{
|
||||||
|
if(($parentSetting.PSObject.Properties | Where Name -eq $part))
|
||||||
|
{
|
||||||
|
$parentSetting = $parentSetting.$part
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(($parentSetting.PSObject.Properties | Where Name -eq $Key))
|
||||||
|
{
|
||||||
|
$parentSetting.PSObject.Properties.Remove($Key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$regPath = Get-RegPath $subPath
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$temp = Get-Item -LiteralPath $regPath -ErrorAction SilentlyContinue
|
||||||
|
if(($temp.Property -contains $Key))
|
||||||
|
{
|
||||||
|
Remove-ItemProperty -Path $regPath -Name $Key -Force -ErrorAction Stop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Write-LogError "Failed to remove reg value: $($Key) in key $($regPath)" $_.Exception
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Get-Setting
|
function Get-Setting
|
||||||
{
|
{
|
||||||
param($SubPath = "", $Key = "", $defautValue)
|
param($SubPath = "", $Key = "", $defautValue)
|
||||||
@@ -2031,10 +2194,15 @@ function Get-MainWindow
|
|||||||
#region Module functions
|
#region Module functions
|
||||||
function Invoke-ModuleFunction
|
function Invoke-ModuleFunction
|
||||||
{
|
{
|
||||||
param($function)
|
param($function, $arguments = $null)
|
||||||
|
|
||||||
Write-Log "Trigger function $function"
|
Write-Log "Trigger function $function"
|
||||||
|
|
||||||
|
$params = @{}
|
||||||
|
if($arguments)
|
||||||
|
{
|
||||||
|
$params.Add("ArgumentList",$arguments)
|
||||||
|
}
|
||||||
foreach($module in $global:loadedModules)
|
foreach($module in $global:loadedModules)
|
||||||
{
|
{
|
||||||
# Get command with ExportedFunctions instead of Get-Command
|
# Get command with ExportedFunctions instead of Get-Command
|
||||||
@@ -2042,7 +2210,7 @@ function Invoke-ModuleFunction
|
|||||||
if($cmd)
|
if($cmd)
|
||||||
{
|
{
|
||||||
Write-Log "Trigger $function in $($module.Name)"
|
Write-Log "Trigger $function in $($module.Name)"
|
||||||
Invoke-Command -ScriptBlock $cmd.ScriptBlock
|
Invoke-Command -ScriptBlock $cmd.ScriptBlock @params
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ The documentation is based on a two step process
|
|||||||
|
|
||||||
This will collection all the information about the object and add it to a PowerShell object in the code
|
This will collection all the information about the object and add it to a PowerShell object in the code
|
||||||
|
|
||||||
* Send the information to the selected output type
|
* Send the information to the selected output provider
|
||||||
|
|
||||||
This will send all the information gathered about the object to the selected output provider
|
This will send all the information gathered about the object to the selected output provider
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ The priority order for object documentation is:
|
|||||||
|
|
||||||
**Documentation Provider**
|
**Documentation Provider**
|
||||||
|
|
||||||
The documentation provider takes care of collecting all the information about the object. The `DocumentationCustom.psm1`file is an example of this. This file has examples of custom translation of properties for json files and examples of custom translation of objects via a PowerShell functions.
|
The documentation provider takes care of collecting all the information about the object. The `DocumentationCustom.psm1` file is an example of this. This file has examples of custom translation of properties for json files and examples of custom translation of objects via a PowerShell functions.
|
||||||
|
|
||||||
Documentation providers has a Priority property. This defines in what order the providers will be triggered. The provider with the lowest priority number will be executed first. The included custom documentation provider has a priority number of 1000. The information gathering of the provider can be overridden by creating a custom documentation provider with a lower priority number.
|
Documentation providers has a Priority property. This defines in what order the providers will be triggered. The provider with the lowest priority number will be executed first. The included custom documentation provider has a priority number of 1000. The information gathering of the provider can be overridden by creating a custom documentation provider with a lower priority number.
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ Documentation providers has a Priority property. This defines in what order the
|
|||||||
|
|
||||||
Once the script has finished gathering all the data of an object, it sends it to the Documentation Output provider. This will then document it to the specific output type of the provider. Word and CSV are included. There is also a "None" provider included. This will only add the gathered information in the UI. This is used for quick information or when building the translation files. This is also used by the comparison functionality.
|
Once the script has finished gathering all the data of an object, it sends it to the Documentation Output provider. This will then document it to the specific output type of the provider. Word and CSV are included. There is also a "None" provider included. This will only add the gathered information in the UI. This is used for quick information or when building the translation files. This is also used by the comparison functionality.
|
||||||
|
|
||||||
The`DocumentationWord.psm1` and `DocumentationWordOptions.xaml` files are example on how to create an output provider. The xaml file contains the configuration options in the UI. The psm1 file registers the provider and builds the Word document based on the gathered information.
|
The `DocumentationWord.psm1` and `DocumentationWordOptions.xaml` files are example on how to create an output provider. The xaml file contains the configuration options in the UI. The psm1 file registers the provider and builds the Word document based on the gathered information.
|
||||||
|
|
||||||
**Translation Files**
|
**Translation Files**
|
||||||
|
|
||||||
|
|||||||
@@ -14,5 +14,66 @@
|
|||||||
"dataType": 20,
|
"dataType": 20,
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle"
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsFeatureUpdateProfile.Details.RolloutOptions.label",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"entityKey": "featureUpdateRolloutOption",
|
||||||
|
"dataType": 16,
|
||||||
|
"booleanActions": 0,
|
||||||
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsUpdateRolloutOptions.immediateStart",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"value": "immediateStart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsUpdateRolloutOptions.gradualRollout",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"value": "gradualRollout",
|
||||||
|
"ChildSettings": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsFeatureUpdateProfile.Details.GradualRolloutStartDate.label",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"dataType": 20,
|
||||||
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle",
|
||||||
|
"entityKey": "featureUpdateRolloutStartDate",
|
||||||
|
"booleanActions": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsFeatureUpdateProfile.Details.GradualRolloutEndDate.label",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"dataType": 20,
|
||||||
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle",
|
||||||
|
"entityKey": "featureUpdateRolloutEndDate",
|
||||||
|
"booleanActions": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsFeatureUpdateProfile.Details.GradualRolloutInterval.label",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"dataType": 20,
|
||||||
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle",
|
||||||
|
"entityKey": "featureUpdateRolloutInterval",
|
||||||
|
"booleanActions": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsUpdateRolloutOptions.startDateOnly",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"value": "startDateOnly",
|
||||||
|
"ChildSettings": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "WindowsFeatureUpdateProfile.Details.GradualRolloutStartDate.label",
|
||||||
|
"descriptionResourceKey": "",
|
||||||
|
"dataType": 20,
|
||||||
|
"category": "WindowsFeatureUpdateProfile.Details.deploymentSettingsTitle",
|
||||||
|
"entityKey": "featureUpdateRolloutStartDate",
|
||||||
|
"booleanActions": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -89,11 +89,24 @@
|
|||||||
"category": 2,
|
"category": 2,
|
||||||
"nameResourceKey": "publicPlayStoreEnabledName",
|
"nameResourceKey": "publicPlayStoreEnabledName",
|
||||||
"descriptionResourceKey": "publicPlayStoreEnabledDescription",
|
"descriptionResourceKey": "publicPlayStoreEnabledDescription",
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 2,
|
||||||
|
"nameResourceKey": "publicPlayStoreEnabledWarning",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
],
|
],
|
||||||
"entityKey": "publicPlayStoreEnabled",
|
"entityKey": "publicPlayStoreEnabled",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
|
|||||||
@@ -72,6 +72,23 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 46,
|
"policyType": 46,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 7,
|
||||||
|
"nameResourceKey": "managedPasteboardRequiredName",
|
||||||
|
"descriptionResourceKey": "managedPasteboardRequiredDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "managedPasteboardRequired",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 46,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
@@ -1883,23 +1900,6 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 46,
|
"policyType": 46,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
|
||||||
{
|
|
||||||
"dataType": 0,
|
|
||||||
"category": 7,
|
|
||||||
"nameResourceKey": "managedPasteboardRequiredName",
|
|
||||||
"descriptionResourceKey": "managedPasteboardRequiredDescription",
|
|
||||||
"childSettings": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"options": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"entityKey": "managedPasteboardRequired",
|
|
||||||
"booleanActions": 9,
|
|
||||||
"defaultValue": false,
|
|
||||||
"policyType": 46,
|
|
||||||
"enabled": true
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
|
|||||||
@@ -224,6 +224,23 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 46,
|
"policyType": 46,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 18,
|
||||||
|
"nameResourceKey": "blockIosICloudPrivateRelayName",
|
||||||
|
"descriptionResourceKey": "blockIosICloudPrivateRelayDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "iCloudPrivateRelayBlocked",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 46,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"cloudandstorage_macgeneral": {
|
"cloudandstorage_macgeneral": [
|
||||||
|
{
|
||||||
"isSettingDescription": false,
|
"isSettingDescription": false,
|
||||||
"showAsSectionHeader": true,
|
"showAsSectionHeader": true,
|
||||||
"dataType": 8,
|
"dataType": 8,
|
||||||
@@ -24,6 +25,23 @@
|
|||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 18,
|
||||||
|
"nameResourceKey": "blockICloudDesktopAndDocumentsName",
|
||||||
|
"descriptionResourceKey": "blockICloudDesktopAndDocumentsDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "iCloudDesktopAndDocumentsBlocked",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 61,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 18,
|
"category": 18,
|
||||||
@@ -184,5 +202,39 @@
|
|||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isSettingDescription": false,
|
||||||
|
"showAsSectionHeader": true,
|
||||||
|
"dataType": 8,
|
||||||
|
"category": 18,
|
||||||
|
"nameResourceKey": "userApprovedAndAutomatedDeviceEnrollmentHeaderNameMac",
|
||||||
|
"descriptionResourceKey": "userApprovedAndAutomatedDeviceEnrollmentHeaderDescriptionMac",
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 18,
|
||||||
|
"nameResourceKey": "blockMacICloudPrivateRelayName",
|
||||||
|
"descriptionResourceKey": "blockMacICloudPrivateRelayDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "iCloudPrivateRelayBlocked",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 61,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 61,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dataType": 14,
|
"dataType": 15,
|
||||||
"category": 22,
|
"category": 22,
|
||||||
"nameResourceKey": "contentCachingMaxSizeBytesName",
|
"nameResourceKey": "contentCachingMaxSizeBytesName",
|
||||||
"descriptionResourceKey": "contentCachingMaxSizeBytesDescription",
|
"descriptionResourceKey": "contentCachingMaxSizeBytesDescription",
|
||||||
|
|||||||
@@ -383,13 +383,13 @@
|
|||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"nameResourceKey": "localSecurityOptionsSmartCardRemovalBehaviorLockWorkstation",
|
"nameResourceKey": "localSecurityOptionsSmartCardRemovalBehaviorNoAction",
|
||||||
"value": "lockWorkstation",
|
"value": "noAction",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nameResourceKey": "localSecurityOptionsSmartCardRemovalBehaviorNoAction",
|
"nameResourceKey": "localSecurityOptionsSmartCardRemovalBehaviorLockWorkstation",
|
||||||
"value": "noAction",
|
"value": "lockWorkstation",
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -405,8 +405,8 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "localSecurityOptionsSmartCardRemovalBehavior",
|
"entityKey": "localSecurityOptionsSmartCardRemovalBehavior",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": "lockWorkstation",
|
"defaultValue": "noAction",
|
||||||
"unconfiguredValue": "lockWorkstation",
|
"unconfiguredValue": "noAction",
|
||||||
"policyType": 77,
|
"policyType": 77,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -219,6 +219,102 @@
|
|||||||
"policyType": 108,
|
"policyType": 108,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "frontCamerasName",
|
||||||
|
"descriptionResourceKey": "frontCamerasDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "frontCameras",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "rearCamerasName",
|
||||||
|
"descriptionResourceKey": "rearCamerasDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "rearCameras",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "infraredCamerasName",
|
||||||
|
"descriptionResourceKey": "infraredCamerasDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "infraredCameras",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 16,
|
"dataType": 16,
|
||||||
"category": 136,
|
"category": 136,
|
||||||
@@ -251,6 +347,38 @@
|
|||||||
"policyType": 108,
|
"policyType": 108,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "microphonesName",
|
||||||
|
"descriptionResourceKey": "microphonesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "microphones",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 16,
|
"dataType": 16,
|
||||||
"category": 136,
|
"category": 136,
|
||||||
@@ -299,6 +427,134 @@
|
|||||||
"policyType": 108,
|
"policyType": 108,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "bluetoothName",
|
||||||
|
"descriptionResourceKey": "bluetoothDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "bluetooth",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "wwanName",
|
||||||
|
"descriptionResourceKey": "wwanDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "wwan",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "nfcName",
|
||||||
|
"descriptionResourceKey": "nfcDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "nfc",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "wifiName",
|
||||||
|
"descriptionResourceKey": "wifiDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "wifi",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"isSettingDescription": false,
|
"isSettingDescription": false,
|
||||||
"showAsSectionHeader": false,
|
"showAsSectionHeader": false,
|
||||||
@@ -378,6 +634,182 @@
|
|||||||
"unconfiguredValue": "notConfigured",
|
"unconfiguredValue": "notConfigured",
|
||||||
"policyType": 108,
|
"policyType": 108,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isSettingDescription": false,
|
||||||
|
"showAsSectionHeader": false,
|
||||||
|
"dataType": 8,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "portName",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "usbTypeAPortName",
|
||||||
|
"descriptionResourceKey": "usbTypeAPortDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "usbTypeAPort",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "usbTypeCPortName",
|
||||||
|
"descriptionResourceKey": "usbTypeCPortDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "usbTypeCPort",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "sdCardName",
|
||||||
|
"descriptionResourceKey": "sdCardDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "sdCard",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "wakeOnLANName",
|
||||||
|
"descriptionResourceKey": "wakeOnLANDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "wakeOnLAN",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 136,
|
||||||
|
"nameResourceKey": "wakeOnPowerName",
|
||||||
|
"descriptionResourceKey": "wakeOnPowerDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "enabledOption",
|
||||||
|
"value": "enabled",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "disabledOption",
|
||||||
|
"value": "disabled",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "wakeOnPower",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 108,
|
||||||
|
"enabled": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,23 +113,6 @@
|
|||||||
"policyType": 2,
|
"policyType": 2,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dataType": 0,
|
|
||||||
"category": 41,
|
|
||||||
"nameResourceKey": "safeBootDisabledName",
|
|
||||||
"descriptionResourceKey": "safeBootDisabledDescription",
|
|
||||||
"childSettings": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"options": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"entityKey": "safeBootBlocked",
|
|
||||||
"booleanActions": 3,
|
|
||||||
"defaultValue": false,
|
|
||||||
"policyType": 2,
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
@@ -249,23 +232,6 @@
|
|||||||
"policyType": 2,
|
"policyType": 2,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dataType": 0,
|
|
||||||
"category": 41,
|
|
||||||
"nameResourceKey": "debuggingFeaturesAllowedName",
|
|
||||||
"descriptionResourceKey": "debuggingFeaturesAllowedDescription",
|
|
||||||
"childSettings": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"options": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"entityKey": "securityAllowDebuggingFeatures",
|
|
||||||
"booleanActions": 0,
|
|
||||||
"defaultValue": false,
|
|
||||||
"policyType": 2,
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
@@ -895,6 +861,62 @@
|
|||||||
"unconfiguredValue": "deviceDefault",
|
"unconfiguredValue": "deviceDefault",
|
||||||
"policyType": 2,
|
"policyType": 2,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "systemUpdateFreezePeriodStartDateColumnName",
|
||||||
|
"descriptionResourceKey": "systemUpdateFreezePeriodStartDateColumnDescription",
|
||||||
|
"emptyValueResourceKey": "systemUpdateFreezePeriodStartDateEmptyValueKey",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "startDate",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "systemUpdateFreezePeriodEndDateColumnName",
|
||||||
|
"descriptionResourceKey": "systemUpdateFreezePeriodEndDateColumnDescription",
|
||||||
|
"emptyValueResourceKey": "systemUpdateFreezePeriodEndDateEmptyValueKey",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "endDate",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataType": 21,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "systemUpdateFreezePeriodsTableName",
|
||||||
|
"descriptionResourceKey": "systemUpdateFreezePeriodsTableDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "systemUpdateFreezePeriodsList",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
@@ -1211,6 +1233,87 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 2,
|
"policyType": 2,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 19,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "showWorkContactsInPersonalProfileName",
|
||||||
|
"descriptionResourceKey": "showWorkContactsInPersonalProfileDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "blockOption",
|
||||||
|
"value": false,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": true,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "crossProfilePoliciesShowWorkContactsInPersonalProfile",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": true,
|
||||||
|
"unconfiguredValue": true,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "copyPasteBetweenWorkAndPersonalProfilesName",
|
||||||
|
"descriptionResourceKey": "copyPasteBetweenWorkAndPersonalProfilesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "crossProfilePoliciesAllowCopyPaste",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "dataSharingBetweenWorkAndPersonalProfilesName",
|
||||||
|
"descriptionResourceKey": "dataSharingBetweenWorkAndPersonalProfilesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "DeviceDefaultDataSharingBetweenWorkAndPersonalProfilesOption",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "BlockAllDataSharingBetweenWorkAndPersonalProfilesOption",
|
||||||
|
"value": "crossProfileDataSharingBlocked",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "BlockWorkToPersonalDataSharingBetweenWorkAndPersonalProfilesOption",
|
||||||
|
"value": "dataSharingFromWorkToPersonalBlocked",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "NoRestrictionsDataSharingBetweenWorkAndPersonalProfilesOption",
|
||||||
|
"value": "crossProfileDataSharingAllowed",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "crossProfilePoliciesAllowDataSharing",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"unconfiguredValue": "notConfigured",
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
|
|||||||
@@ -258,6 +258,43 @@
|
|||||||
"policyType": 9,
|
"policyType": 9,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "empty",
|
||||||
|
"descriptionResourceKey": "empty",
|
||||||
|
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNamesName",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataType": 21,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNames",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"complexOptions": [
|
"complexOptions": [
|
||||||
{
|
{
|
||||||
@@ -491,6 +528,43 @@
|
|||||||
"policyType": 9,
|
"policyType": 9,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "empty",
|
||||||
|
"descriptionResourceKey": "empty",
|
||||||
|
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNamesName",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataType": 21,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNames",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"complexOptions": [
|
"complexOptions": [
|
||||||
{
|
{
|
||||||
@@ -782,6 +856,43 @@
|
|||||||
"policyType": 9,
|
"policyType": 9,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "empty",
|
||||||
|
"descriptionResourceKey": "empty",
|
||||||
|
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNamesName",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataType": 21,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "trustedServerCertificateNames",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 9,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"complexOptions": [
|
"complexOptions": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -85,23 +85,6 @@
|
|||||||
"policyType": 28,
|
"policyType": 28,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dataType": 0,
|
|
||||||
"category": 41,
|
|
||||||
"nameResourceKey": "blockBackupServiceName",
|
|
||||||
"descriptionResourceKey": "blockBackupServiceDescription",
|
|
||||||
"childSettings": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"options": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"entityKey": "backupBlocked",
|
|
||||||
"booleanActions": 9,
|
|
||||||
"defaultValue": false,
|
|
||||||
"policyType": 28,
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
@@ -153,23 +136,6 @@
|
|||||||
"policyType": 28,
|
"policyType": 28,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dataType": 0,
|
|
||||||
"category": 41,
|
|
||||||
"nameResourceKey": "blockCellularWiFiTetheringName",
|
|
||||||
"descriptionResourceKey": "blockCellularWiFiTetheringDescription",
|
|
||||||
"childSettings": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"options": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"entityKey": "cellularBlockWiFiTethering",
|
|
||||||
"booleanActions": 9,
|
|
||||||
"defaultValue": false,
|
|
||||||
"policyType": 28,
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
@@ -186,6 +152,23 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 28,
|
"policyType": 28,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 41,
|
||||||
|
"nameResourceKey": "blockAppsInstallFromUnknownSourcesName",
|
||||||
|
"descriptionResourceKey": "blockAppsInstallFromUnknownSourcesDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "appsBlockInstallFromUnknownSources",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 28,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -505,6 +505,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "EnforcedSoftwareUpdateDelayNamePlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -513,7 +514,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 46,
|
"policyType": 46,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,6 +113,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -121,7 +122,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -130,6 +130,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -138,7 +139,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -154,6 +154,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -162,7 +163,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -171,6 +171,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -179,7 +180,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -195,6 +195,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -203,7 +204,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -212,6 +212,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -220,7 +221,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -229,13 +229,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nameResourceKey": "delayMajorAndMinorOSUpdateVisibilityOption",
|
"nameResourceKey": "delayMajorAndMinorOSUpdateVisibilityOption",
|
||||||
"value": "delayMajorOsUpdateVisibility,delayOSUpdateVisibility",
|
"value": "delayOSUpdateVisibility,delayMajorOsUpdateVisibility",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"dataType": 14,
|
"dataType": 14,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -244,7 +245,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -253,6 +253,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -261,7 +262,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -270,6 +270,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -278,7 +279,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -287,13 +287,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nameResourceKey": "delayMajorAndNonOsUpdateVisibilityOption",
|
"nameResourceKey": "delayMajorAndNonOsUpdateVisibilityOption",
|
||||||
"value": "delayMajorOsUpdateVisibility,delayAppUpdateVisibility",
|
"value": "delayAppUpdateVisibility,delayMajorOsUpdateVisibility",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"dataType": 14,
|
"dataType": 14,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -302,7 +303,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -311,6 +311,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -319,7 +320,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -328,6 +328,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -336,7 +337,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -352,6 +352,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -360,7 +361,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -369,6 +369,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -377,7 +378,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -386,6 +386,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -394,7 +395,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
@@ -403,13 +403,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nameResourceKey": "delayAllUpdateVisibilityOption",
|
"nameResourceKey": "delayAllUpdateVisibilityOption",
|
||||||
"value": "delayMajorOsUpdateVisibility,delayOSUpdateVisibility,delayAppUpdateVisibility",
|
"value": "delayOSUpdateVisibility,delayAppUpdateVisibility,delayMajorOsUpdateVisibility",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"dataType": 14,
|
"dataType": 14,
|
||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
|
||||||
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -418,7 +419,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
"entityKey": "softwareUpdatesEnforcedDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -427,6 +427,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -435,7 +436,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -444,6 +444,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -452,7 +453,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -461,6 +461,7 @@
|
|||||||
"category": 41,
|
"category": 41,
|
||||||
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
|
||||||
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
|
||||||
|
"emptyValueResourceKey": "enforcedSoftwareUpdateDelayEmptyValue",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -469,7 +470,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 30,
|
|
||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -672,6 +672,23 @@
|
|||||||
"policyType": 42,
|
"policyType": 42,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionManagedAppsInBundleIdACLIncludedName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionManagedAppsInBundleIdACLIncludedDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "managedAppsInBundleIdACLIncluded",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 42,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 20,
|
"dataType": 20,
|
||||||
"category": 56,
|
"category": 56,
|
||||||
@@ -722,6 +739,22 @@
|
|||||||
"policyType": 42,
|
"policyType": 42,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionSignInHelpTextName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionSignInHelpTextDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "signInHelpText",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 42,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"columns": [
|
"columns": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -640,6 +640,23 @@
|
|||||||
"policyType": 58,
|
"policyType": 58,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionManagedAppsInBundleIdACLIncludedName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionManagedAppsInBundleIdACLIncludedDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "managedAppsInBundleIdACLIncluded",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 56,
|
"category": 56,
|
||||||
@@ -674,6 +691,74 @@
|
|||||||
"policyType": 58,
|
"policyType": 58,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionUserSetupDelayedName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionUserSetupDelayedDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "userSetupDelayed",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionKerberosAppsInBundleIdACLIncludedName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionKerberosAppsInBundleIdACLIncludedDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "kerberosAppsInBundleIdACLIncluded",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionCredentialsCacheMonitoredName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionCredentialsCacheMonitoredDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "credentialsCacheMonitored",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 0,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionTLSForLDAPRequiredName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionTLSForLDAPRequiredDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "tlsForLDAPRequired",
|
||||||
|
"booleanActions": 9,
|
||||||
|
"defaultValue": false,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 56,
|
"category": 56,
|
||||||
@@ -788,6 +873,54 @@
|
|||||||
"policyType": 58,
|
"policyType": 58,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionUsernameLabelCustomName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionUsernameLabelCustomDescription",
|
||||||
|
"emptyValueResourceKey": "singleSignOnExtensionUsernameLabelCustomEmptyValue",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "usernameLabelCustom",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionModeCredentialUsedName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionModeCredentialUsedDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "singleSignOnExtensionModeCredentialUsedAlwaysName",
|
||||||
|
"value": "always",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "singleSignOnExtensionModeCredentialUsedWhenNotSpecifiedName",
|
||||||
|
"value": "whenNotSpecified",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "singleSignOnExtensionModeCredentialUsedKerberosDefaultName",
|
||||||
|
"value": "kerberosDefault",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "modeCredentialUsed",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "kerberosDefault",
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 20,
|
"dataType": 20,
|
||||||
"category": 56,
|
"category": 56,
|
||||||
@@ -838,6 +971,22 @@
|
|||||||
"policyType": 58,
|
"policyType": 58,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionSignInHelpTextName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionSignInHelpTextDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "signInHelpText",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 20,
|
"dataType": 20,
|
||||||
"category": 56,
|
"category": 56,
|
||||||
@@ -960,6 +1109,42 @@
|
|||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"policyType": 58,
|
"policyType": 58,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"dataType": 20,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionPreferredKDCsColumnName",
|
||||||
|
"emptyValueResourceKey": "singleSignOnExtensionPreferredKDCsColumnEmptyValue",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "preferredKDCsColumn",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataType": 21,
|
||||||
|
"category": 56,
|
||||||
|
"nameResourceKey": "singleSignOnExtensionPreferredKDCsName",
|
||||||
|
"descriptionResourceKey": "singleSignOnExtensionPreferredKDCsDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "preferredKDCs",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 58,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
|||||||
@@ -344,6 +344,24 @@
|
|||||||
"policyType": 61,
|
"policyType": 61,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"dataType": 14,
|
||||||
|
"category": 85,
|
||||||
|
"nameResourceKey": "macTouchIdTimeoutInHoursName",
|
||||||
|
"descriptionResourceKey": "macTouchIdTimeoutInHoursDescription",
|
||||||
|
"emptyValueResourceKey": "macTouchIdTimeoutInHoursEmptyValueKey",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "touchIdTimeoutInHours",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": 48,
|
||||||
|
"policyType": 61,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dataType": 0,
|
"dataType": 0,
|
||||||
"category": 85,
|
"category": 85,
|
||||||
|
|||||||
@@ -57,6 +57,67 @@
|
|||||||
"defaultValue": false,
|
"defaultValue": false,
|
||||||
"policyType": 2,
|
"policyType": 2,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 16,
|
||||||
|
"category": 87,
|
||||||
|
"nameResourceKey": "personalProfilePersonalApplicationsListTypeName",
|
||||||
|
"descriptionResourceKey": "personalProfilePersonalApplicationsListTypeDescription",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"nameResourceKey": "notConfigured",
|
||||||
|
"value": "notConfigured",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "blockedList",
|
||||||
|
"value": "blockedApps",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 25,
|
||||||
|
"category": 87,
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nameResourceKey": "allowedList",
|
||||||
|
"value": "allowedApps",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 25,
|
||||||
|
"category": 87,
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entityKey": "personalProfilePlayStoreMode",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "notConfigured",
|
||||||
|
"policyType": 2,
|
||||||
|
"enabled": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": [
|
"options": [
|
||||||
|
|||||||
@@ -747,6 +747,8 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordRequiredType",
|
"entityKey": "passwordRequiredType",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "deviceDefault",
|
||||||
|
"unconfiguredValue": "deviceDefault",
|
||||||
"policyType": 29,
|
"policyType": 29,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -364,6 +364,8 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordRequiredType",
|
"entityKey": "passwordRequiredType",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
|
"defaultValue": "deviceDefault",
|
||||||
|
"unconfiguredValue": "deviceDefault",
|
||||||
"policyType": 30,
|
"policyType": 30,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
||||||
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceMinimumPasswordLengthPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -43,7 +44,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordMinimumLength",
|
"entityKey": "passwordMinimumLength",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 4,
|
|
||||||
"policyType": 34,
|
"policyType": 34,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "compliancePasswordExpirationName",
|
"nameResourceKey": "compliancePasswordExpirationName",
|
||||||
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
||||||
"emptyValueResourceKey": "IOSMacPasswordExpirationInDaysEmptyValueKey",
|
"emptyValueResourceKey": "CompliancePasswordExpirationPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -181,7 +181,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordExpirationDays",
|
"entityKey": "passwordExpirationDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 41,
|
|
||||||
"policyType": 34,
|
"policyType": 34,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -190,6 +189,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
||||||
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceNumberOfPreviousPasswordsToBlockPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -198,7 +198,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordPreviousPasswordBlockCount",
|
"entityKey": "passwordPreviousPasswordBlockCount",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 5,
|
|
||||||
"policyType": 34,
|
"policyType": 34,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,6 +100,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
||||||
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceMinimumPasswordLengthPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -108,7 +109,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordMinimumLength",
|
"entityKey": "passwordMinimumLength",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 4,
|
|
||||||
"policyType": 35,
|
"policyType": 35,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "compliancePasswordExpirationName",
|
"nameResourceKey": "compliancePasswordExpirationName",
|
||||||
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
||||||
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueTwoYearsKey",
|
"emptyValueResourceKey": "CompliancePasswordExpirationPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -175,7 +175,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordExpirationDays",
|
"entityKey": "passwordExpirationDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 41,
|
|
||||||
"policyType": 35,
|
"policyType": 35,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -184,6 +183,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
||||||
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceNumberOfPreviousPasswordsToBlockPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -192,7 +192,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordPreviousPasswordBlockCount",
|
"entityKey": "passwordPreviousPasswordBlockCount",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 5,
|
|
||||||
"policyType": 35,
|
"policyType": 35,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
||||||
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceMinimumPasswordLengthPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -43,7 +44,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordMinimumLength",
|
"entityKey": "passwordMinimumLength",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 4,
|
|
||||||
"policyType": 37,
|
"policyType": 37,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "compliancePasswordExpirationName",
|
"nameResourceKey": "compliancePasswordExpirationName",
|
||||||
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
||||||
"emptyValueResourceKey": "IOSMacPasswordExpirationInDaysEmptyValueKey",
|
"emptyValueResourceKey": "CompliancePasswordExpirationPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -185,7 +185,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordExpirationDays",
|
"entityKey": "passwordExpirationDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 41,
|
|
||||||
"policyType": 37,
|
"policyType": 37,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -194,6 +193,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
||||||
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceNumberOfPreviousPasswordsToBlockPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -202,7 +202,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordPreviousPasswordBlockCount",
|
"entityKey": "passwordPreviousPasswordBlockCount",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 5,
|
|
||||||
"policyType": 37,
|
"policyType": 37,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
"nameResourceKey": "complianceMinimumPasswordLengthName",
|
||||||
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
"descriptionResourceKey": "complianceMinimumPasswordLengthDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceMinimumPasswordLengthPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -43,7 +44,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordMinimumLength",
|
"entityKey": "passwordMinimumLength",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 4,
|
|
||||||
"policyType": 38,
|
"policyType": 38,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "compliancePasswordExpirationName",
|
"nameResourceKey": "compliancePasswordExpirationName",
|
||||||
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
"descriptionResourceKey": "compliancePasswordExpirationDescription",
|
||||||
"emptyValueResourceKey": "IOSMacPasswordExpirationInDaysEmptyValueKey",
|
"emptyValueResourceKey": "CompliancePasswordExpirationPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -185,7 +185,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordExpirationDays",
|
"entityKey": "passwordExpirationDays",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 41,
|
|
||||||
"policyType": 38,
|
"policyType": 38,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
@@ -194,6 +193,7 @@
|
|||||||
"category": 106,
|
"category": 106,
|
||||||
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
"nameResourceKey": "complianceNumberOfPreviousPasswordsToBlockName",
|
||||||
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
"descriptionResourceKey": "complianceNumberOfPreviousPasswordsToBlockDescription",
|
||||||
|
"emptyValueResourceKey": "ComplianceNumberOfPreviousPasswordsToBlockPlaceholder",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -202,7 +202,6 @@
|
|||||||
],
|
],
|
||||||
"entityKey": "passwordPreviousPasswordBlockCount",
|
"entityKey": "passwordPreviousPasswordBlockCount",
|
||||||
"booleanActions": 0,
|
"booleanActions": 0,
|
||||||
"defaultValue": 5,
|
|
||||||
"policyType": 38,
|
"policyType": 38,
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,6 +178,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -383,6 +426,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -588,6 +674,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -793,6 +922,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -998,6 +1170,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 8,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -178,6 +178,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -399,6 +442,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -604,6 +690,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -809,6 +938,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -1014,6 +1186,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -1219,6 +1434,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 12,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -160,6 +160,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 25,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 25,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 25,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -95,6 +95,49 @@
|
|||||||
{
|
{
|
||||||
"nameResourceKey": "derivedCredentialsOption",
|
"nameResourceKey": "derivedCredentialsOption",
|
||||||
"value": "derivedCredential",
|
"value": "derivedCredential",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"dataType": 9,
|
||||||
|
"category": 120,
|
||||||
|
"childSettings": [
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 105,
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dataType": 10,
|
||||||
|
"category": 120,
|
||||||
|
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
|
||||||
|
"childSettings": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 105,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"options": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"entityKey": "derivedCredentialSettings@odata.bind",
|
||||||
|
"booleanActions": 0,
|
||||||
|
"policyType": 105,
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3304,8 +3304,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -3515,8 +3515,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -3795,8 +3795,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -4187,8 +4187,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -4398,8 +4398,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -4678,8 +4678,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -167,8 +167,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -378,8 +378,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -663,8 +663,8 @@
|
|||||||
],
|
],
|
||||||
"dataType": 21,
|
"dataType": 21,
|
||||||
"category": 112,
|
"category": 112,
|
||||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
"nameResourceKey": "androidTrustedServerCertificateNamesName",
|
||||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
"descriptionResourceKey": "androidTrustedServerCertificateNamesDescription",
|
||||||
"childSettings": [
|
"childSettings": [
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -20,7 +20,7 @@ $global:documentationProviders = @()
|
|||||||
|
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'1.0.8'
|
'1.1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-InitializeModule
|
function Invoke-InitializeModule
|
||||||
@@ -629,11 +629,20 @@ function Add-ScopeTagStrings
|
|||||||
{
|
{
|
||||||
foreach($scopeTagId in $obj.roleScopeTagIds)
|
foreach($scopeTagId in $obj.roleScopeTagIds)
|
||||||
{
|
{
|
||||||
$scopeTagObj = $script:scopeTags | Where Id -eq $scopeTagId
|
$scopeTagName = $scopeTagId
|
||||||
if($scopeTagObj)
|
if($scopeTagId -eq "0")
|
||||||
{
|
{
|
||||||
$objScopeTags += $scopeTagObj.displayName
|
$scopeTagName = (Get-LanguageString "SettingDetails.default")
|
||||||
}
|
}
|
||||||
|
elseif($script:scopeTags)
|
||||||
|
{
|
||||||
|
$scopeTagObj = $script:scopeTags | Where Id -eq $scopeTagId
|
||||||
|
if($scopeTagObj.displayName)
|
||||||
|
{
|
||||||
|
$scopeTagName = $scopeTagObj.displayName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$objScopeTags += $scopeTagName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($objScopeTags.Count -gt 0)
|
if($objScopeTags.Count -gt 0)
|
||||||
@@ -1794,6 +1803,10 @@ function Invoke-TranslateSection
|
|||||||
{
|
{
|
||||||
$propValue = $prop.defaultValue
|
$propValue = $prop.defaultValue
|
||||||
}
|
}
|
||||||
|
elseif($rawValue -eq $null -and ![String]::IsNullOrEmpty($prop.emptyValueResourceKey) -and $global:chkSetDefaultValue.IsChecked)
|
||||||
|
{
|
||||||
|
$propValue = Get-LanguageString $prop.emptyValueResourceKey
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$propValue = $rawValue
|
$propValue = $rawValue
|
||||||
@@ -1834,6 +1847,11 @@ function Invoke-TranslateSection
|
|||||||
}
|
}
|
||||||
$rawValue = $value
|
$rawValue = $value
|
||||||
}
|
}
|
||||||
|
elseif($script:currentObject.'@ObjectFromFile' -eq $true)
|
||||||
|
{
|
||||||
|
$value = "##TBD - Linked Certificate"
|
||||||
|
$rawValue = $value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elseif($prop.dataType -eq 200) # Multi option based on boolean value
|
elseif($prop.dataType -eq 200) # Multi option based on boolean value
|
||||||
{
|
{
|
||||||
@@ -2064,6 +2082,8 @@ function Add-PropertyInfo
|
|||||||
}
|
}
|
||||||
|
|
||||||
$script:objectSettingsData += Get-PropertyInfo $prop $value $originalValue $jsonValue
|
$script:objectSettingsData += Get-PropertyInfo $prop $value $originalValue $jsonValue
|
||||||
|
|
||||||
|
Invoke-CustomPostAddValue $prop
|
||||||
}
|
}
|
||||||
|
|
||||||
function Add-PropertyInfoObject
|
function Add-PropertyInfoObject
|
||||||
@@ -2110,6 +2130,15 @@ function Get-PropertyInfo
|
|||||||
$jsonValue = $rawValue | ConvertTo-Json -Depth 10 -Compress
|
$jsonValue = $rawValue | ConvertTo-Json -Depth 10 -Compress
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($prop.emptyValueResourceKey)
|
||||||
|
{
|
||||||
|
$defValue = Get-LanguageString $prop.emptyValueResourceKey
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$defValue = $prop.defaultValue
|
||||||
|
}
|
||||||
|
|
||||||
return New-Object PSObject -Property @{
|
return New-Object PSObject -Property @{
|
||||||
Name=$name
|
Name=$name
|
||||||
Description=$description
|
Description=$description
|
||||||
@@ -2121,7 +2150,7 @@ function Get-PropertyInfo
|
|||||||
DataType=$prop.dataType
|
DataType=$prop.dataType
|
||||||
RawValue=$originalValue
|
RawValue=$originalValue
|
||||||
RawJsonValue=$jsonValue
|
RawJsonValue=$jsonValue
|
||||||
DefaultValue=$prop.defaultValue
|
DefaultValue=$defValue
|
||||||
UnconfiguredValue=$prop.unconfiguredValue
|
UnconfiguredValue=$prop.unconfiguredValue
|
||||||
Enabled=$prop.Enabled
|
Enabled=$prop.Enabled
|
||||||
EntityKey=$prop.EntityKey
|
EntityKey=$prop.EntityKey
|
||||||
@@ -2156,6 +2185,23 @@ function Get-CustomProfileValue
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Invoke-CustomPostAddValue
|
||||||
|
{
|
||||||
|
param($prop)
|
||||||
|
|
||||||
|
foreach($docProvider in ($global:documentationProviders | Sort -Property Priority))
|
||||||
|
{
|
||||||
|
if($docProvider.PostAddValue)
|
||||||
|
{
|
||||||
|
$retObj = & $docProvider.PostAddValue $script:currentObject $prop $script:propertySeparator $script:objectSeparator
|
||||||
|
if($retObj -ne $null)
|
||||||
|
{
|
||||||
|
return $retObj
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Get-CustomPropertyObject
|
function Get-CustomPropertyObject
|
||||||
{
|
{
|
||||||
param($obj, $prop)
|
param($obj, $prop)
|
||||||
@@ -2852,6 +2898,8 @@ function Invoke-TranslateAssignments
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$groupInfo = $null
|
||||||
|
|
||||||
if($groupIds.Count -gt 0)
|
if($groupIds.Count -gt 0)
|
||||||
{
|
{
|
||||||
$ht = @{}
|
$ht = @{}
|
||||||
@@ -2862,6 +2910,12 @@ function Invoke-TranslateAssignments
|
|||||||
$groupInfo = (Invoke-GraphRequest -Url "/directoryObjects/getByIds?`$select=displayName,id" -Content $body -Method "Post").Value
|
$groupInfo = (Invoke-GraphRequest -Url "/directoryObjects/getByIds?`$select=displayName,id" -Content $body -Method "Post").Value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(($null -eq $groupInfo -or ($groupInfo | measure).Count -eq 0) -and $obj."@ObjectFromFile" -eq $true -and $script:migTable)
|
||||||
|
{
|
||||||
|
### Get group info from mig table when documenting from file if there's no access to the environment
|
||||||
|
$groupInfo = $script:migTable.Objects | Where Type -eq "Group"
|
||||||
|
}
|
||||||
|
|
||||||
if($filterIds.Count -gt 0)
|
if($filterIds.Count -gt 0)
|
||||||
{
|
{
|
||||||
$batchInfo = @{}
|
$batchInfo = @{}
|
||||||
@@ -3152,7 +3206,10 @@ function Show-DocumentationForm
|
|||||||
$objectTypes,
|
$objectTypes,
|
||||||
[Switch]
|
[Switch]
|
||||||
[Parameter(Mandatory=$false,ParameterSetName = "Objects")]
|
[Parameter(Mandatory=$false,ParameterSetName = "Objects")]
|
||||||
$SelectedDocuments)
|
$SelectedDocuments,
|
||||||
|
[Switch]
|
||||||
|
$ShowFolderSource
|
||||||
|
)
|
||||||
|
|
||||||
$objectList = @()
|
$objectList = @()
|
||||||
|
|
||||||
@@ -3226,6 +3283,22 @@ function Show-DocumentationForm
|
|||||||
$global:btnAddToDocumentationList.Visibility = "Collapsed"
|
$global:btnAddToDocumentationList.Visibility = "Collapsed"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($ShowFolderSource -ne $true)
|
||||||
|
{
|
||||||
|
$global:grdDocumentFromFolder.Visibility = "Collapsed"
|
||||||
|
$global:spDocumentFromFolder.Visibility = "Collapsed"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Add-XamlEvent $script:docForm "browseDocumentFromFolder" "add_click" {
|
||||||
|
$folder = Get-Folder (Get-XamlProperty $script:docForm "txtDocumentFromFolder" "Text") "Select root folder for export files"
|
||||||
|
if($folder)
|
||||||
|
{
|
||||||
|
Set-XamlProperty $script:docForm "txtDocumentFromFolder" "Text" $folder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$column = Get-GridCheckboxColumn "IsSelected"
|
$column = Get-GridCheckboxColumn "IsSelected"
|
||||||
$global:grdDocumentObjects.Columns.Add($column)
|
$global:grdDocumentObjects.Columns.Add($column)
|
||||||
|
|
||||||
@@ -3316,6 +3389,11 @@ function Show-DocumentationForm
|
|||||||
|
|
||||||
$txtDocumentationRawData.Text = ""
|
$txtDocumentationRawData.Text = ""
|
||||||
|
|
||||||
|
$loadExportedInfo = $true
|
||||||
|
$script:migTable = $null
|
||||||
|
$script:scopeTags = $null
|
||||||
|
|
||||||
|
$diSource = $nul
|
||||||
$global:intentCategories = $null
|
$global:intentCategories = $null
|
||||||
$global:catRecommendedSettings = $null
|
$global:catRecommendedSettings = $null
|
||||||
$global:intentCategoryDefs = $null
|
$global:intentCategoryDefs = $null
|
||||||
@@ -3374,6 +3452,19 @@ function Show-DocumentationForm
|
|||||||
}
|
}
|
||||||
elseif($global:grdDocumentObjects.Tag -eq "ObjectTypes")
|
elseif($global:grdDocumentObjects.Tag -eq "ObjectTypes")
|
||||||
{
|
{
|
||||||
|
$fromExportFolder = $false
|
||||||
|
if($global:txtDocumentFromFolder.Text)
|
||||||
|
{
|
||||||
|
$diSource = [IO.DirectoryInfo]$global:txtDocumentFromFolder.Text
|
||||||
|
if($diSource.Exists -eq $false)
|
||||||
|
{
|
||||||
|
[System.Windows.MessageBox]::Show("Source folder not found:`n`n$($diSource.FullName)", "Documentation", "OK", "Error")
|
||||||
|
Write-Status ""
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$fromExportFolder = $true
|
||||||
|
}
|
||||||
|
|
||||||
$sourceList = @()
|
$sourceList = @()
|
||||||
foreach($objGroup in ($global:grdDocumentObjects.ItemsSource | Where IsSelected -eq $true))
|
foreach($objGroup in ($global:grdDocumentObjects.ItemsSource | Where IsSelected -eq $true))
|
||||||
{
|
{
|
||||||
@@ -3382,12 +3473,26 @@ function Show-DocumentationForm
|
|||||||
{
|
{
|
||||||
Write-Status "Get $($objectType.Title) objects"
|
Write-Status "Get $($objectType.Title) objects"
|
||||||
|
|
||||||
|
if($fromExportFolder -eq $false)
|
||||||
|
{
|
||||||
$graphObjects = @(Get-GraphObjects -property $objectType.ViewProperties -objectType $objectType)
|
$graphObjects = @(Get-GraphObjects -property $objectType.ViewProperties -objectType $objectType)
|
||||||
|
|
||||||
if($objectType.PostListCommand)
|
if($objectType.PostListCommand)
|
||||||
{
|
{
|
||||||
$graphObjects = & $objectType.PostListCommand $graphObjects $objectType
|
$graphObjects = & $objectType.PostListCommand $graphObjects $objectType
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$objectPath = [IO.Path]::Combine($diSource.FullName,$objectType.ID)
|
||||||
|
if([IO.Directory]::Exists($objectPath) -eq $false)
|
||||||
|
{
|
||||||
|
Write-Log "Object path for $($objectType.Title) ($($objectType.ID)) not found. Skipping object type" 2
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
$graphObjects = Get-GraphFileObjects $objectPath -ObjectType $objectType
|
||||||
|
$graphObjects | ForEach-Object { $_.Object | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force }
|
||||||
|
}
|
||||||
$groupSourceList += $graphObjects
|
$groupSourceList += $graphObjects
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3412,6 +3517,39 @@ function Show-DocumentationForm
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($fromExportFolder -eq $true -and $diSource -and $loadExportedInfo -eq $true)
|
||||||
|
{
|
||||||
|
$loadExportedInfo = $false
|
||||||
|
|
||||||
|
$migFileName = [IO.Path]::Combine($diSource.FullName,"MigrationTable.json")
|
||||||
|
if([IO.File]::Exists($migFileName) -eq $false)
|
||||||
|
{
|
||||||
|
Write-Log "MigrationTable not found. Groups will be documented with GroupId" 2
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-Log "Load Migration table from $migFileName"
|
||||||
|
$script:migTable = ConvertFrom-Json (Get-Content $migFileName -Raw)
|
||||||
|
}
|
||||||
|
|
||||||
|
$scopeTagObjectType = $global:currentViewObject.ViewItems | Where Id -eq "ScopeTags"
|
||||||
|
|
||||||
|
if($scopeTagObjectType)
|
||||||
|
{
|
||||||
|
$scopePath = [IO.Path]::Combine($diSource.FullName,$scopeTagObjectType.Id)
|
||||||
|
if([IO.Directory]::Exists($scopePath) -eq $false)
|
||||||
|
{
|
||||||
|
Write-Log "Object path for Scope (Tags) ($($scopePath)) not found" 2
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
$scopeTagObjects = Get-GraphFileObjects $scopePath -ObjectType $scopeTagObjectType
|
||||||
|
$script:scopeTags = @(($scopeTagObjects | Select Object))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($global:cbDocumentationType.SelectedItem.PreProcess)
|
if($global:cbDocumentationType.SelectedItem.PreProcess)
|
||||||
{
|
{
|
||||||
Write-Status "Run PreProcess for $($global:cbDocumentationType.SelectedItem.Name)"
|
Write-Status "Run PreProcess for $($global:cbDocumentationType.SelectedItem.Name)"
|
||||||
@@ -3436,7 +3574,14 @@ function Show-DocumentationForm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($tmpObj.Object."@ObjectFromFile" -eq $true)
|
||||||
|
{
|
||||||
|
$obj = $tmpObj
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$obj = Get-GraphObject $tmpObj.Object $tmpObj.ObjectType
|
$obj = Get-GraphObject $tmpObj.Object $tmpObj.ObjectType
|
||||||
|
}
|
||||||
|
|
||||||
if($obj)
|
if($obj)
|
||||||
{
|
{
|
||||||
@@ -3669,7 +3814,7 @@ function Set-OutputOptionsTabStatus
|
|||||||
|
|
||||||
function Invoke-DocumentObjectTypes
|
function Invoke-DocumentObjectTypes
|
||||||
{
|
{
|
||||||
Show-DocumentationForm -objectTypes $global:currentViewObject.ViewItems
|
Show-DocumentationForm -objectTypes $global:currentViewObject.ViewItems -ShowFolderSource
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-DocumentSelectedObjects
|
function Invoke-DocumentSelectedObjects
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This module will also document some objects based on PowerShell functions
|
|||||||
|
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'1.0.6'
|
'1.1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-InitializeModule
|
function Invoke-InitializeModule
|
||||||
@@ -23,6 +23,7 @@ function Invoke-InitializeModule
|
|||||||
GetCustomChildObject = { Get-CDDocumentCustomChildObjet @args }
|
GetCustomChildObject = { Get-CDDocumentCustomChildObjet @args }
|
||||||
GetCustomPropertyObject = { Get-CDDocumentCustomPropertyObject @args }
|
GetCustomPropertyObject = { Get-CDDocumentCustomPropertyObject @args }
|
||||||
AddCustomProfileProperty = { Add-CDDocumentCustomProfileProperty @args }
|
AddCustomProfileProperty = { Add-CDDocumentCustomProfileProperty @args }
|
||||||
|
PostAddValue = { Invoke-CDDocumentCustomPostAdd @args }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,6 +94,13 @@ function Invoke-CDDocumentObject
|
|||||||
Properties = @("Name","Value","Category","SubCategory")
|
Properties = @("Name","Value","Category","SubCategory")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif($type -eq '#microsoft.graph.deviceAndAppManagementAssignmentFilter')
|
||||||
|
{
|
||||||
|
Invoke-CDDocumentAssignmentFilter $documentationObj
|
||||||
|
return [PSCustomObject]@{
|
||||||
|
Properties = @("Name","Value")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-CDAllManagedApps
|
function Get-CDAllManagedApps
|
||||||
@@ -169,6 +177,73 @@ Property separator character
|
|||||||
Object separator character
|
Object separator character
|
||||||
#>
|
#>
|
||||||
|
|
||||||
|
function Invoke-CDDocumentCustomPostAdd
|
||||||
|
{
|
||||||
|
param($obj, $prop, $propSeparator, $objSeparator)
|
||||||
|
|
||||||
|
if($obj.'@OData.Type' -eq "#microsoft.graph.windowsUpdateForBusinessConfiguration")
|
||||||
|
{
|
||||||
|
if($prop.EntityKey -eq "featureUpdatesDeferralPeriodInDays")
|
||||||
|
{
|
||||||
|
# Inject Windows 11 update setting. Not included in the file
|
||||||
|
$tmpProp = [PSCustomObject]@{
|
||||||
|
nameResourceKey = "allowWindows11UpgradeName"
|
||||||
|
descriptionResourceKey = "allowWindows11UpgradeDescription"
|
||||||
|
entityKey = "allowWindows11Upgrade"
|
||||||
|
dataType = 0
|
||||||
|
booleanActions = 109
|
||||||
|
category = $prop.Category
|
||||||
|
}
|
||||||
|
$propValue = Invoke-TranslateBoolean $obj $tmpProp
|
||||||
|
|
||||||
|
$script:UpdateCategory = $prop.Category
|
||||||
|
|
||||||
|
Add-PropertyInfo $tmpProp $propValue -originalValue $obj.allowWindows11Upgrade
|
||||||
|
}
|
||||||
|
|
||||||
|
if($prop.EntityKey -eq "featureUpdatesRollbackWindowInDays")
|
||||||
|
{
|
||||||
|
if($obj.businessReadyUpdatesOnly -eq "businessReadyOnly")
|
||||||
|
{
|
||||||
|
$propValue = Get-LanguageString "BooleanActions.notConfigured"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$propValue = Get-LanguageString "BooleanActions.enable"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Inject Pre-release setting. Not included in the file
|
||||||
|
$tmpProp = [PSCustomObject]@{
|
||||||
|
nameResourceKey = "preReleaseBuilds"
|
||||||
|
descriptionResourceKey = "preReleaseBuildsDescription"
|
||||||
|
entityKey = "preReleaseEnabled" # Not a class property!
|
||||||
|
dataType = 0
|
||||||
|
booleanActions = 2
|
||||||
|
category = $prop.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-PropertyInfo $tmpProp $propValue -originalValue $obj.businessReadyUpdatesOnly
|
||||||
|
|
||||||
|
if($obj.businessReadyUpdatesOnly -ne "businessReadyOnly")
|
||||||
|
{
|
||||||
|
# Pre-release channel selected. Inject info
|
||||||
|
$propValue = Get-LanguageString "SettingDetails.$($obj.businessReadyUpdatesOnly)Option"
|
||||||
|
|
||||||
|
$tmpProp = [PSCustomObject]@{
|
||||||
|
nameResourceKey = "preReleaseChannel"
|
||||||
|
descriptionResourceKey = "preReleaseBuildsDescription"
|
||||||
|
entityKey = "businessReadyUpdatesOnly"
|
||||||
|
dataType = 0
|
||||||
|
booleanActions = 2
|
||||||
|
category = $prop.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-PropertyInfo $tmpProp $propValue -originalValue $obj.businessReadyUpdatesOnly
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Add-CDDocumentCustomProfileValue
|
function Add-CDDocumentCustomProfileValue
|
||||||
{
|
{
|
||||||
param($obj, $prop, $topObj, $propSeparator, $objSeparator)
|
param($obj, $prop, $topObj, $propSeparator, $objSeparator)
|
||||||
@@ -320,6 +395,18 @@ function Add-CDDocumentCustomProfileValue
|
|||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif($obj.'@OData.Type' -eq "#microsoft.graph.windowsUpdateForBusinessConfiguration")
|
||||||
|
{
|
||||||
|
if($prop.EntityKey -eq "businessReadyUpdatesOnly" -or
|
||||||
|
$prop.EntityKey -eq "autoRestartNotificationDismissal" -or
|
||||||
|
$prop.EntityKey -eq "scheduleRestartWarningInHours" -or
|
||||||
|
$prop.EntityKey -eq "scheduleImminentRestartWarningInMinutes" -or
|
||||||
|
$prop.EntityKey -eq "deliveryOptimizationMode")
|
||||||
|
{
|
||||||
|
# Not used anymore
|
||||||
|
return $false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
<#
|
<#
|
||||||
@@ -695,6 +782,11 @@ function Add-CDDocumentCustomProfileProperty
|
|||||||
}
|
}
|
||||||
$obj | Add-Member Noteproperty -Name "syntheticWipOrApps" -Value $syntheticWipOrApps -Force
|
$obj | Add-Member Noteproperty -Name "syntheticWipOrApps" -Value $syntheticWipOrApps -Force
|
||||||
|
|
||||||
|
if($null -eq $obj.profileTarget)
|
||||||
|
{
|
||||||
|
$obj.profileTarget = "user"
|
||||||
|
}
|
||||||
|
|
||||||
$retValue = $true
|
$retValue = $true
|
||||||
}
|
}
|
||||||
elseif($obj.'@OData.Type' -like "#microsoft.graph.iosDeviceFeaturesConfiguration")
|
elseif($obj.'@OData.Type' -like "#microsoft.graph.iosDeviceFeaturesConfiguration")
|
||||||
@@ -872,6 +964,29 @@ function Add-CDDocumentCustomProfileProperty
|
|||||||
|
|
||||||
$obj | Add-Member Noteproperty -Name "featureUpdateDisplayName" -Value $verInfoTxt
|
$obj | Add-Member Noteproperty -Name "featureUpdateDisplayName" -Value $verInfoTxt
|
||||||
|
|
||||||
|
if($obj.rolloutSettings.offerStartDateTimeInUTC -and
|
||||||
|
$obj.rolloutSettings.offerEndDateTimeInUTC)
|
||||||
|
{
|
||||||
|
$featureUpdateRolloutOption = "gradualRollout"
|
||||||
|
$obj | Add-Member Noteproperty -Name "featureUpdateRolloutStartDate" -Value ((Get-Date $obj.rolloutSettings.offerStartDateTimeInUTC).ToLongDateString())
|
||||||
|
$obj | Add-Member Noteproperty -Name "featureUpdateRolloutEndDate" -Value ((Get-Date $obj.rolloutSettings.offerEndDateTimeInUTC).ToLongDateString())
|
||||||
|
if($null -ne $obj.rolloutSettings.offerIntervalInDays)
|
||||||
|
{
|
||||||
|
$obj | Add-Member Noteproperty -Name "featureUpdateRolloutInterval" -Value ($obj.rolloutSettings.offerIntervalInDays)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif($obj.rolloutSettings.offerStartDateTimeInUTC)
|
||||||
|
{
|
||||||
|
$featureUpdateRolloutOption = "startDateOnly"
|
||||||
|
$obj | Add-Member Noteproperty -Name "featureUpdateRolloutStartDate" -Value ((Get-Date $obj.rolloutSettings.offerStartDateTimeInUTC).ToLongDateString())
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$featureUpdateRolloutOption = "immediateStart"
|
||||||
|
}
|
||||||
|
|
||||||
|
$obj | Add-Member Noteproperty -Name "featureUpdateRolloutOption" -Value $featureUpdateRolloutOption
|
||||||
|
|
||||||
$retValue = $true
|
$retValue = $true
|
||||||
}
|
}
|
||||||
elseif($obj.'@OData.Type' -eq "#microsoft.graph.iosUpdateConfiguration")
|
elseif($obj.'@OData.Type' -eq "#microsoft.graph.iosUpdateConfiguration")
|
||||||
@@ -2501,3 +2616,43 @@ function Invoke-CDDocumentNotification
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region
|
||||||
|
function Invoke-CDDocumentAssignmentFilter
|
||||||
|
{
|
||||||
|
param($documentationObj)
|
||||||
|
|
||||||
|
$obj = $documentationObj.Object
|
||||||
|
$objectType = $documentationObj.ObjectType
|
||||||
|
|
||||||
|
$script:objectSeparator = ?? $global:cbDocumentationObjectSeparator.SelectedValue ([System.Environment]::NewLine)
|
||||||
|
$script:propertySeparator = ?? $global:cbDocumentationPropertySeparator.SelectedValue ","
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
# Basic info
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
Add-BasicDefaultValues $obj $objectType
|
||||||
|
|
||||||
|
# "Filters" is not in the translation file
|
||||||
|
Add-BasicPropertyValue (Get-LanguageString "TableHeaders.configurationType") "Filters"
|
||||||
|
Add-BasicPropertyValue (Get-LanguageString "Inputs.platformLabel") (Get-LanguageString "Platform.$($obj.platform)")
|
||||||
|
|
||||||
|
###################################################
|
||||||
|
# Settings
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
$label = Get-LanguageString "ApplicabilityRules.GridLabel.rule"
|
||||||
|
|
||||||
|
# "Rules" is not in the translation file
|
||||||
|
$category = "Rules"
|
||||||
|
|
||||||
|
Add-CustomSettingObject ([PSCustomObject]@{
|
||||||
|
Name = $label
|
||||||
|
Value = $obj.rule
|
||||||
|
EntityKey = "rule"
|
||||||
|
Category = $category
|
||||||
|
SubCategory = $null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
#https://docs.microsoft.com/en-us/office/vba/api/overview/word
|
#https://docs.microsoft.com/en-us/office/vba/api/overview/word
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'1.0.7'
|
'1.1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-InitializeModule
|
function Invoke-InitializeModule
|
||||||
@@ -70,6 +70,14 @@ function Add-WordOptionsControl
|
|||||||
$global:spWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
$global:spWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
||||||
$global:txtWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
$global:txtWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
||||||
|
|
||||||
|
$global:cbWordDocumentationLevel.ItemsSource = ("[ { Name: `"Full`",Value: `"full`" }, { Name: `"Limited`",Value: `"limited`" }, { Name: `"Basic`",Value: `"basic`" }]" | ConvertFrom-Json)
|
||||||
|
$global:cbWordDocumentationLevel.SelectedValue = (Get-Setting "Documentation" "WordDocumentationLevel" "full")
|
||||||
|
|
||||||
|
$global:gdWordDocumentationLimitOptions.Visibility = (?: ($global:cbWordDocumentationLevel.SelectedValue -ne "limited") "Collapsed" "Visible")
|
||||||
|
$global:txtWordDocumentationLimitMaxLength.Text = Get-Setting "Documentation" "WordDocumentationLimitMaxLength" ""
|
||||||
|
$global:txtWordDocumentationLimitTruncateLength.Text = Get-Setting "Documentation" "WordDocumentationLimitTruncateLength" ""
|
||||||
|
$global:chkWordDocumentationLimitAttatch.IsChecked = ((Get-Setting "Documentation" "WordDocumentationLimitAttatch" "true") -ne "false")
|
||||||
|
|
||||||
$global:txtWordDocumentTemplate.Text = Get-Setting "Documentation" "WordDocumentTemplate" ""
|
$global:txtWordDocumentTemplate.Text = Get-Setting "Documentation" "WordDocumentTemplate" ""
|
||||||
$global:txtWordDocumentName.Text = (Get-Setting "Documentation" "WordDocumentName" "%MyDocuments%\%Organization%-%Date%.docx")
|
$global:txtWordDocumentName.Text = (Get-Setting "Documentation" "WordDocumentName" "%MyDocuments%\%Organization%-%Date%.docx")
|
||||||
|
|
||||||
@@ -88,6 +96,8 @@ function Add-WordOptionsControl
|
|||||||
|
|
||||||
$global:chkWordIncludeScripts.IsChecked = ((Get-Setting "Documentation" "WordIncludeScripts" "true") -ne "false")
|
$global:chkWordIncludeScripts.IsChecked = ((Get-Setting "Documentation" "WordIncludeScripts" "true") -ne "false")
|
||||||
$global:chkWordExcludeScriptSignature.IsChecked = ((Get-Setting "Documentation" "WordExcludeScriptSignature" "false") -ne "false")
|
$global:chkWordExcludeScriptSignature.IsChecked = ((Get-Setting "Documentation" "WordExcludeScriptSignature" "false") -ne "false")
|
||||||
|
$global:chkWordAttatchJsonFile.IsChecked = ((Get-Setting "Documentation" "WordAttatchJsonFile" "false") -ne "false")
|
||||||
|
|
||||||
$global:txtWordScriptTableStyle.Text = Get-Setting "Documentation" "WordScriptTableStyle" ""
|
$global:txtWordScriptTableStyle.Text = Get-Setting "Documentation" "WordScriptTableStyle" ""
|
||||||
$global:txtWordScriptStyle.Text = Get-Setting "Documentation" "WordScriptStyle"
|
$global:txtWordScriptStyle.Text = Get-Setting "Documentation" "WordScriptStyle"
|
||||||
|
|
||||||
@@ -109,6 +119,10 @@ function Add-WordOptionsControl
|
|||||||
$global:txtWordCustomProperties.Visibility = (?: ($this.SelectedValue -ne "custom") "Collapsed" "Visible")
|
$global:txtWordCustomProperties.Visibility = (?: ($this.SelectedValue -ne "custom") "Collapsed" "Visible")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Add-XamlEvent $script:wordForm "cbWordDocumentationLevel" "add_selectionChanged" {
|
||||||
|
$global:gdWordDocumentationLimitOptions.Visibility = (?: ($this.SelectedValue -ne "limited") "Collapsed" "Visible")
|
||||||
|
}
|
||||||
|
|
||||||
$script:wordForm
|
$script:wordForm
|
||||||
}
|
}
|
||||||
function Invoke-WordActivate
|
function Invoke-WordActivate
|
||||||
@@ -123,6 +137,11 @@ function Invoke-WordPreProcessItems
|
|||||||
Save-Setting "Documentation" "WordDocumentTemplate" $global:txtWordDocumentTemplate.Text
|
Save-Setting "Documentation" "WordDocumentTemplate" $global:txtWordDocumentTemplate.Text
|
||||||
Save-Setting "Documentation" "WordDocumentName" $global:txtWordDocumentName.Text
|
Save-Setting "Documentation" "WordDocumentName" $global:txtWordDocumentName.Text
|
||||||
|
|
||||||
|
Save-Setting "Documentation" "WordDocumentationLevel" $global:cbWordDocumentationLevel.SelectedValue
|
||||||
|
Save-Setting "Documentation" "WordDocumentationLimitMaxLength" $global:txtWordDocumentationLimitMaxLength.Text
|
||||||
|
Save-Setting "Documentation" "WordDocumentationLimitTruncateLength" $global:txtWordDocumentationLimitTruncateLength.Text
|
||||||
|
Save-Setting "Documentation" "WordDocumentationLimitAttatch" $global:chkWordDocumentationLimitAttatch.IsChecked
|
||||||
|
|
||||||
Save-Setting "Documentation" "WordAddCategories" $global:chkWordAddCategories.IsChecked
|
Save-Setting "Documentation" "WordAddCategories" $global:chkWordAddCategories.IsChecked
|
||||||
Save-Setting "Documentation" "WordAddSubCategories" $global:chkWordAddSubCategories.IsChecked
|
Save-Setting "Documentation" "WordAddSubCategories" $global:chkWordAddSubCategories.IsChecked
|
||||||
Save-Setting "Documentation" "WordOpenDocument" $global:chkWordOpenDocument.IsChecked
|
Save-Setting "Documentation" "WordOpenDocument" $global:chkWordOpenDocument.IsChecked
|
||||||
@@ -139,9 +158,58 @@ function Invoke-WordPreProcessItems
|
|||||||
|
|
||||||
Save-Setting "Documentation" "WordIncludeScripts" $global:chkWordIncludeScripts.IsChecked
|
Save-Setting "Documentation" "WordIncludeScripts" $global:chkWordIncludeScripts.IsChecked
|
||||||
Save-Setting "Documentation" "WordExcludeScriptSignature" $global:chkWordExcludeScriptSignature.IsChecked
|
Save-Setting "Documentation" "WordExcludeScriptSignature" $global:chkWordExcludeScriptSignature.IsChecked
|
||||||
|
Save-Setting "Documentation" "WordAttatchJsonFile" $global:chkWordAttatchJsonFile.IsChecked
|
||||||
|
|
||||||
Save-Setting "Documentation" "WordScriptTableStyle" $global:txtWordScriptTableStyle.Text
|
Save-Setting "Documentation" "WordScriptTableStyle" $global:txtWordScriptTableStyle.Text
|
||||||
Save-Setting "Documentation" "WordScriptStyle" $global:txtWordScriptStyle.Text
|
Save-Setting "Documentation" "WordScriptStyle" $global:txtWordScriptStyle.Text
|
||||||
|
|
||||||
|
$script:limitMaxValue = 100
|
||||||
|
$script:truncateValueLength = $script:limitMaxValue
|
||||||
|
|
||||||
|
if($global:cbWordDocumentationLevel.SelectedValue -eq "limited")
|
||||||
|
{
|
||||||
|
if($global:txtWordDocumentationLimitMaxLength.Text)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$script:limitMaxValue = [int]::Parse($global:txtWordDocumentationLimitMaxLength.Text)
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Write-LogError "Failed to parse $($global:txtWordDocumentationLimitMaxLength.Text) to int. Max value length will be set to 100." $_.Exception
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($global:txtWordDocumentationLimitTruncateLength.Text)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$script:truncateValueLength = [int]::Parse($global:txtWordDocumentationLimitTruncateLength.Text)
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Write-LogError "Failed to parse $($global:txtWordDocumentationLimitTruncateLength.Text) to int. Truncat length will be set to $script:limitMaxValue." $_.Exception
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($script:limitMaxValue -lt 20)
|
||||||
|
{
|
||||||
|
Write-Log "Max value length must be 20 or more. Changed to 20" 2
|
||||||
|
$script:limitMaxValue = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if($script:truncateValueLength -lt 0)
|
||||||
|
{
|
||||||
|
Write-Log "Truncate length must be 0 or more. Changed to 0" 2
|
||||||
|
$script:truncateValueLength = 0
|
||||||
|
}
|
||||||
|
elseif($script:truncateValueLength -gt $script:limitMaxValue)
|
||||||
|
{
|
||||||
|
Write-Log "Truncate length cannot be larger than Max value length. Canged to: $($script:limitMaxValue)" 2
|
||||||
|
$script:truncateValueLength = $script:limitMaxValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$script:wordApp = New-Object -ComObject Word.Application
|
$script:wordApp = New-Object -ComObject Word.Application
|
||||||
@@ -284,6 +352,17 @@ function Invoke-WordPreProcessItems
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(($script:doc.TablesOfContents | measure).Count -eq 0)
|
||||||
|
{
|
||||||
|
# Where should it be added?
|
||||||
|
# $script:doc.TablesOfContents.Add($script:wordApp.Selection.Range) | out-null
|
||||||
|
}
|
||||||
|
|
||||||
|
Invoke-DocGoToEnd
|
||||||
|
$script:wordApp.Selection.InsertNewPage()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-WordPostProcessItems
|
function Invoke-WordPostProcessItems
|
||||||
@@ -460,13 +539,21 @@ function Invoke-WordProcessItem
|
|||||||
$properties = (?? $documentedObj.DefaultDocumentationProperties (@("Name","Value")))
|
$properties = (?? $documentedObj.DefaultDocumentationProperties (@("Name","Value")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($global:cbWordDocumentationLevel.SelectedValue -eq "basic" -and $tableType -ne "BasicInfo")
|
||||||
|
{
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
$lngId = ?: ($tableType -eq "BasicInfo") "SettingDetails.basics" "TableHeaders.settings" -AddCategories
|
$lngId = ?: ($tableType -eq "BasicInfo") "SettingDetails.basics" "TableHeaders.settings" -AddCategories
|
||||||
|
|
||||||
Add-DocTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId `
|
Add-DocTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId `
|
||||||
-AddCategories:($global:chkWordAddCategories.IsChecked -eq $true) `
|
-AddCategories:($global:chkWordAddCategories.IsChecked -eq $true) `
|
||||||
-AddSubcategories:($global:chkWordAddSubCategories.IsChecked -eq $true)
|
-AddSubcategories:($global:chkWordAddSubCategories.IsChecked -eq $true) `
|
||||||
|
-ForceFullValue:($tableType -eq "BasicInfo")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($global:cbWordDocumentationLevel.SelectedValue -ne "basic")
|
||||||
|
{
|
||||||
if(($documentedObj.ComplianceActions | measure).Count -gt 0)
|
if(($documentedObj.ComplianceActions | measure).Count -gt 0)
|
||||||
{
|
{
|
||||||
$properties = @("Action","Schedule","MessageTemplate","EmailCC")
|
$properties = @("Action","Schedule","MessageTemplate","EmailCC")
|
||||||
@@ -482,6 +569,7 @@ function Invoke-WordProcessItem
|
|||||||
}
|
}
|
||||||
|
|
||||||
Add-DocObjectSettings $obj $objectType $documentedObj
|
Add-DocObjectSettings $obj $objectType $documentedObj
|
||||||
|
}
|
||||||
|
|
||||||
if(($documentedObj.Assignments | measure).Count -gt 0)
|
if(($documentedObj.Assignments | measure).Count -gt 0)
|
||||||
{
|
{
|
||||||
@@ -523,6 +611,20 @@ function Invoke-WordProcessItem
|
|||||||
|
|
||||||
Add-DocTableItems $obj $objectType $documentedObj.Assignments $properties "TableHeaders.assignments" @params
|
Add-DocTableItems $obj $objectType $documentedObj.Assignments $properties "TableHeaders.assignments" @params
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($global:chkWordAttatchJsonFile.IsChecked -eq $true)
|
||||||
|
{
|
||||||
|
$fileName = Export-GraphObject $obj $objectType ([IO.Path]::GetTempPath()) -IsFullObject -PassThru -SkipAddID
|
||||||
|
if($fileName)
|
||||||
|
{
|
||||||
|
$fi = [IO.FileInfo]$fileName
|
||||||
|
if($fi.Exists)
|
||||||
|
{
|
||||||
|
$script:doc.Application.Selection.InlineShapes.AddOLEObject("",$fi.FullName,$false,$true,"$($env:WinDir)\System32\Notepad.exe",0,$fi.Name)
|
||||||
|
try { $fi.Delete() } catch {} # Cleanup
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -606,7 +708,7 @@ function Set-WordColumnHeaderLanguageId
|
|||||||
|
|
||||||
function Add-DocTableItems
|
function Add-DocTableItems
|
||||||
{
|
{
|
||||||
param($obj, $objectType, $items, $properties, $lngId, [switch]$AddCategories, [switch]$AddSubcategories, $captionOverride)
|
param($obj, $objectType, $items, $properties, $lngId, [switch]$AddCategories, [switch]$AddSubcategories, $captionOverride, [switch]$forceFullValue)
|
||||||
|
|
||||||
$tblHeaderStyle = $global:txtWordTableHeaderStyle.Text
|
$tblHeaderStyle = $global:txtWordTableHeaderStyle.Text
|
||||||
$tblCategoryStyle = $global:txtWordCategoryHeaderStyle.Text
|
$tblCategoryStyle = $global:txtWordCategoryHeaderStyle.Text
|
||||||
@@ -665,7 +767,48 @@ function Add-DocTableItems
|
|||||||
{
|
{
|
||||||
$tmpObj = $tmpObj."$($propArr[$x])"
|
$tmpObj = $tmpObj."$($propArr[$x])"
|
||||||
}
|
}
|
||||||
$script:docTable.Cell($row, $i).Range.Text = "$($tmpObj.$propName)"
|
$propValue = "$($tmpObj.$propName)"
|
||||||
|
$propValueFull = $null
|
||||||
|
|
||||||
|
if($forceFullValue -ne $true -and $global:cbWordDocumentationLevel.SelectedValue -eq "limited" -and $propValue.Length -gt $script:limitMaxValue)
|
||||||
|
{
|
||||||
|
$propValueFull = $propValue
|
||||||
|
if($script:truncateValueLength -gt 0)
|
||||||
|
{
|
||||||
|
$propValue = ($propValue.Substring(0, $script:truncateValueLength) + "...")
|
||||||
|
if($global:chkWordDocumentationLimitAttatch.IsChecked -eq $true)
|
||||||
|
{
|
||||||
|
$propValue = ("`r`n" + $propValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$propValue = $null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($null -ne $propValue)
|
||||||
|
{
|
||||||
|
$script:docTable.Cell($row, $i).Range.Text = $propValue
|
||||||
|
}
|
||||||
|
|
||||||
|
if($propValueFull -and $global:chkWordDocumentationLimitAttatch.IsChecked -eq $true)
|
||||||
|
{
|
||||||
|
if($null -ne $propValue)
|
||||||
|
{
|
||||||
|
#$script:doc.Application.Selection.TypeParagraph()
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmpName = "$((Get-GraphObjectName $obj $objectType))-$propName"
|
||||||
|
|
||||||
|
$tmpFile = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), "$($tmpName).txt")
|
||||||
|
$tmpFile = Remove-InvalidFileNameChars $tmpFile
|
||||||
|
$propValueFull | Out-File -LiteralPath $tmpFile -Force
|
||||||
|
$fi = [IO.FileInfo]$tmpFile
|
||||||
|
[void]$script:docTable.Cell($row, $i).Range.InlineShapes.AddOLEObject("",$fi.FullName,$false,$true,"$($env:WinDir)\System32\Notepad.exe",0,"Full value")
|
||||||
|
#$script:doc.Application.Selection.InlineShapes.AddOLEObject("",$fi.FullName,$false,$true,"$($env:WinDir)\System32\Notepad.exe",0,"Full value", $script:docTable.Cell($row, $i).Range)
|
||||||
|
try { $fi.Delete() } catch {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ This module is for the Endpoint Manager/Intune View. It manages Export/Import/Co
|
|||||||
#>
|
#>
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'3.1.14'
|
'3.4.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-InitializeModule
|
function Invoke-InitializeModule
|
||||||
@@ -239,8 +239,9 @@ function Invoke-InitializeModule
|
|||||||
PreReplaceCommand = { Start-PreReplaceEnrollmentRestrictions @args } # Note: Uses same PreReplaceCommand as restrictions
|
PreReplaceCommand = { Start-PreReplaceEnrollmentRestrictions @args } # Note: Uses same PreReplaceCommand as restrictions
|
||||||
PostReplaceCommand = { Start-PostReplaceEnrollmentRestrictions @args } # Note: Uses same PostReplaceCommand as restrictions
|
PostReplaceCommand = { Start-PostReplaceEnrollmentRestrictions @args } # Note: Uses same PostReplaceCommand as restrictions
|
||||||
PreFilesImportCommand = { Start-PreFilesImportEnrollmentRestrictions @args } # Note: Uses same PreFilesImportCommand as restrictions
|
PreFilesImportCommand = { Start-PreFilesImportEnrollmentRestrictions @args } # Note: Uses same PreFilesImportCommand as restrictions
|
||||||
|
PostListCommand = { Start-PostListESP @args }
|
||||||
#PreUpdateCommand = { Start-PreUpdateEnrollmentRestrictions @args } # Note: Uses same PreUpdateCommand as restrictions
|
#PreUpdateCommand = { Start-PreUpdateEnrollmentRestrictions @args } # Note: Uses same PreUpdateCommand as restrictions
|
||||||
QUERYLIST = "`$filter=endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')"
|
#QUERYLIST = "`$filter=endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')"
|
||||||
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
|
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
|
||||||
SkipRemoveProperties = @('Id')
|
SkipRemoveProperties = @('Id')
|
||||||
AssignmentsType = "enrollmentConfigurationAssignments"
|
AssignmentsType = "enrollmentConfigurationAssignments"
|
||||||
@@ -253,19 +254,21 @@ function Invoke-InitializeModule
|
|||||||
Id = "EnrollmentRestrictions"
|
Id = "EnrollmentRestrictions"
|
||||||
API = "/deviceManagement/deviceEnrollmentConfigurations"
|
API = "/deviceManagement/deviceEnrollmentConfigurations"
|
||||||
ViewID = "IntuneGraphAPI"
|
ViewID = "IntuneGraphAPI"
|
||||||
QUERYLIST = "`$filter=not endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')"
|
#QUERYLIST = "`$filter=not endsWith(id,'Windows10EnrollmentCompletionPageConfiguration')"
|
||||||
PostExportCommand = { Start-PostExportEnrollmentRestrictions @args }
|
PostExportCommand = { Start-PostExportEnrollmentRestrictions @args }
|
||||||
PreImportCommand = { Start-PreImportEnrollmentRestrictions @args }
|
PreImportCommand = { Start-PreImportEnrollmentRestrictions @args }
|
||||||
PreDeleteCommand = { Start-PreDeleteEnrollmentRestrictions @args }
|
PreDeleteCommand = { Start-PreDeleteEnrollmentRestrictions @args }
|
||||||
PreReplaceCommand = { Start-PreReplaceEnrollmentRestrictions @args }
|
PreReplaceCommand = { Start-PreReplaceEnrollmentRestrictions @args }
|
||||||
PostReplaceCommand = { Start-PostReplaceEnrollmentRestrictions @args }
|
PostReplaceCommand = { Start-PostReplaceEnrollmentRestrictions @args }
|
||||||
PreFilesImportCommand = { Start-PreFilesImportEnrollmentRestrictions @args }
|
PreFilesImportCommand = { Start-PreFilesImportEnrollmentRestrictions @args }
|
||||||
|
PostListCommand = { Start-PostListEnrollmentRestrictions @args }
|
||||||
#PreUpdateCommand = { Start-PreUpdateEnrollmentRestrictions @args }
|
#PreUpdateCommand = { Start-PreUpdateEnrollmentRestrictions @args }
|
||||||
PropertiesToRemoveForUpdate = @('priority')
|
PropertiesToRemoveForUpdate = @('priority')
|
||||||
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
|
Permissons=@("DeviceManagementServiceConfig.ReadWrite.All")
|
||||||
SkipRemoveProperties = @('Id')
|
SkipRemoveProperties = @('Id')
|
||||||
AssignmentsType = "enrollmentConfigurationAssignments"
|
AssignmentsType = "enrollmentConfigurationAssignments"
|
||||||
GroupId = "EnrollmentRestrictions"
|
GroupId = "EnrollmentRestrictions"
|
||||||
|
ViewProperties = @("displayName","platformType","description","Id")
|
||||||
})
|
})
|
||||||
|
|
||||||
Add-ViewItem (New-Object PSObject -Property @{
|
Add-ViewItem (New-Object PSObject -Property @{
|
||||||
@@ -405,8 +408,10 @@ function Invoke-InitializeModule
|
|||||||
Expand="categories,assignments" # ODataMetadata is set to minimal so assignments can't be autodetected
|
Expand="categories,assignments" # ODataMetadata is set to minimal so assignments can't be autodetected
|
||||||
ODataMetadata="minimal" # categories property not supported with ODataMetadata full
|
ODataMetadata="minimal" # categories property not supported with ODataMetadata full
|
||||||
PostFileImportCommand = { Start-PostFileImportApplications @args }
|
PostFileImportCommand = { Start-PostFileImportApplications @args }
|
||||||
|
PostCopyCommand = { Start-PostCopyApplications @args }
|
||||||
PreUpdateCommand = { Start-PreUpdateApplication @args }
|
PreUpdateCommand = { Start-PreUpdateApplication @args }
|
||||||
PreImportCommand = { Start-PreImportCommandApplication @args }
|
PreImportCommand = { Start-PreImportCommandApplication @args }
|
||||||
|
DetailExtension = { Add-DetailExtensionApplications @args }
|
||||||
GroupId = "Apps"
|
GroupId = "Apps"
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -1322,10 +1327,13 @@ function Add-ScriptExportExtensions
|
|||||||
{
|
{
|
||||||
param($form, $buttonPanel, $index = 0)
|
param($form, $buttonPanel, $index = 0)
|
||||||
|
|
||||||
|
$ctrl = $form.FindName("chkExportScript")
|
||||||
|
if(-not $ctrl)
|
||||||
|
{
|
||||||
$xaml = @"
|
$xaml = @"
|
||||||
<StackPanel $($global:wpfNS) Orientation="Horizontal" Margin="0,0,5,0">
|
<StackPanel $($global:wpfNS) Orientation="Horizontal" Margin="0,0,5,0">
|
||||||
<Label Content="Export script" />
|
<Label Content="Export script" />
|
||||||
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Export the powershell script to a ps1 file" />
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Export the script associated with PowerShell or Shell profiles" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
"@
|
"@
|
||||||
$label = [Windows.Markup.XamlReader]::Parse($xaml)
|
$label = [Windows.Markup.XamlReader]::Parse($xaml)
|
||||||
@@ -1333,8 +1341,10 @@ function Add-ScriptExportExtensions
|
|||||||
$global:chkExportScript = [System.Windows.Controls.CheckBox]::new()
|
$global:chkExportScript = [System.Windows.Controls.CheckBox]::new()
|
||||||
$global:chkExportScript.IsChecked = $true
|
$global:chkExportScript.IsChecked = $true
|
||||||
$global:chkExportScript.VerticalAlignment = "Center"
|
$global:chkExportScript.VerticalAlignment = "Center"
|
||||||
|
$global:chkExportScript.Name = "chkExportScript"
|
||||||
|
|
||||||
@($label, $global:chkExportScript)
|
@($label, $global:chkExportScript)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Start-PostExportScripts
|
function Start-PostExportScripts
|
||||||
@@ -1672,14 +1682,38 @@ function Start-PreImportAssignmentsAppConfiguration
|
|||||||
#endregon
|
#endregon
|
||||||
|
|
||||||
#region Applications
|
#region Applications
|
||||||
|
|
||||||
|
function Start-PostCopyApplications
|
||||||
|
{
|
||||||
|
param($objCopyFrom, $objNew, $objectType)
|
||||||
|
|
||||||
|
Start-ImportApp $objNew
|
||||||
|
Write-Status ""
|
||||||
|
}
|
||||||
|
|
||||||
function Start-PostFileImportApplications
|
function Start-PostFileImportApplications
|
||||||
{
|
{
|
||||||
param($obj, $objectType, $file)
|
param($obj, $objectType, $file)
|
||||||
|
|
||||||
$tmpObj = Get-Content -LiteralPath $file | ConvertFrom-Json
|
$tmpObj = Get-Content -LiteralPath $file | ConvertFrom-Json
|
||||||
|
|
||||||
if(-not $tmpObj.'@odata.type') { return }
|
if(-not ($obj.PSObject.Properties | Where Name -eq '@odata.type'))
|
||||||
|
{
|
||||||
|
# Add @odata.type property if it is missing. Required by app package import
|
||||||
|
$obj | Add-Member -MemberType NoteProperty -Name '@odata.type' -Value $objectType.'@odata.type'
|
||||||
|
}
|
||||||
|
|
||||||
|
Start-ImportApp $obj
|
||||||
|
}
|
||||||
|
|
||||||
|
function local:Start-ImportApp
|
||||||
|
{
|
||||||
|
param($obj, $packageFile = $null)
|
||||||
|
|
||||||
|
if(-not $obj.'@odata.type') { return }
|
||||||
|
|
||||||
|
if($null -eq $packageFile)
|
||||||
|
{
|
||||||
$pkgPath = Get-SettingValue "EMIntuneAppPackages"
|
$pkgPath = Get-SettingValue "EMIntuneAppPackages"
|
||||||
|
|
||||||
if(-not $pkgPath -or [IO.Directory]::Exists($pkgPath) -eq $false)
|
if(-not $pkgPath -or [IO.Directory]::Exists($pkgPath) -eq $false)
|
||||||
@@ -1689,23 +1723,19 @@ function Start-PostFileImportApplications
|
|||||||
}
|
}
|
||||||
|
|
||||||
$packageFile = "$($pkgPath)\$($obj.fileName)"
|
$packageFile = "$($pkgPath)\$($obj.fileName)"
|
||||||
|
}
|
||||||
|
$fi = [IO.FileInfo]$packageFile
|
||||||
|
|
||||||
if([IO.File]::Exists($packageFile) -eq $false)
|
if($fi.Exists -eq $false)
|
||||||
{
|
{
|
||||||
Write-LogDebug "Package source file $packageFile not found" 2
|
Write-LogDebug "Package source file $($fi.FullName) not found" 2
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Status "Import appliction package file $($obj.fileName)"
|
Write-Status "Import appliction package file $($fi.FullName)"
|
||||||
Write-Log "Import application file '$($packageFile)' for $($obj.displayName)"
|
Write-Log "Import application file '$($($fi.FullName))' for $($obj.displayName)"
|
||||||
|
|
||||||
if(-not ($obj.PSObject.Properties | Where Name -eq '@odata.type'))
|
$appType = $obj.'@odata.type'.Trim('#')
|
||||||
{
|
|
||||||
# Add @odata.type property if it is missing. Required by app package import
|
|
||||||
$obj | Add-Member -MemberType NoteProperty -Name '@odata.type' -Value $tmpObj.'@odata.type'
|
|
||||||
}
|
|
||||||
|
|
||||||
$appType = $tmpObj.'@odata.type'.Trim('#')
|
|
||||||
|
|
||||||
if($appType -eq "microsoft.graph.win32LobApp")
|
if($appType -eq "microsoft.graph.win32LobApp")
|
||||||
{
|
{
|
||||||
@@ -1760,6 +1790,55 @@ function Start-PreImportCommandApplication
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Add-DetailExtensionApplications
|
||||||
|
{
|
||||||
|
param($form, $buttonPanel, $index = 0)
|
||||||
|
|
||||||
|
$btnUpload = New-Object System.Windows.Controls.Button
|
||||||
|
$btnUpload.Content = 'Upload'
|
||||||
|
$btnUpload.Name = 'btnUploadAppfile'
|
||||||
|
$btnUpload.Margin = "0,0,5,0"
|
||||||
|
$btnUpload.Width = "100"
|
||||||
|
|
||||||
|
$btnUpload.Add_Click({
|
||||||
|
if($global:dgObjects.SelectedItem.Object.publishingState -ne "notPublished")
|
||||||
|
{
|
||||||
|
# Only allow upload of not published apps
|
||||||
|
# Use portal to replace app file...
|
||||||
|
if(([System.Windows.MessageBox]::Show("Are you sure you want to upload a new file for the app?`n`nApplication:`n$($global:dgObjects.SelectedItem.Object.displayName)", "Update app file?", "YesNo", "Warning")) -ne "Yes")
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$pkgPath = Get-SettingValue "EMIntuneAppPackages"
|
||||||
|
|
||||||
|
$of = [System.Windows.Forms.OpenFileDialog]::new()
|
||||||
|
$of.FileName = $global:dgObjects.SelectedItem.Object.fileName
|
||||||
|
$of.DefaultExt = "*.intunewin"
|
||||||
|
$of.Filter = "Intune Win32 (*.intunewin)|*.*"
|
||||||
|
$of.Multiselect = $false
|
||||||
|
|
||||||
|
if($pkgPath -and [IO.Directory]::Exists($pkgPath))
|
||||||
|
{
|
||||||
|
$of.InitialDirectory = $pkgPath
|
||||||
|
}
|
||||||
|
|
||||||
|
if($of.ShowDialog() -eq "OK")
|
||||||
|
{
|
||||||
|
Write-Status "Import $($global:dgObjects.SelectedItem.Object.displayName) file"
|
||||||
|
Start-ImportApp $global:dgObjects.SelectedItem.Object $of.FileName
|
||||||
|
Write-Status ""
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
$tmp = $form.FindName($buttonPanel)
|
||||||
|
if($tmp)
|
||||||
|
{
|
||||||
|
$tmp.Children.Insert($index, $btnUpload)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Group Policy/Administrative Templates functions
|
#region Group Policy/Administrative Templates functions
|
||||||
@@ -2241,6 +2320,14 @@ function Start-PostExportESP
|
|||||||
Save-EMDefaultPolicy $obj $objectType $path
|
Save-EMDefaultPolicy $obj $objectType $path
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Start-PostListESP
|
||||||
|
{
|
||||||
|
param($objList, $objectType)
|
||||||
|
|
||||||
|
# endswith not working so filter them out
|
||||||
|
$objList | Where { $_.Object.'@OData.Type' -eq '#microsoft.graph.windows10EnrollmentCompletionPageConfiguration' }
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Enrollment Restriction functions
|
#region Enrollment Restriction functions
|
||||||
@@ -2326,6 +2413,19 @@ function Start-PreUpdateEnrollmentRestrictions
|
|||||||
Remove-Property $obj "priority"
|
Remove-Property $obj "priority"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Start-PostListEnrollmentRestrictions
|
||||||
|
{
|
||||||
|
param($objList, $objectType)
|
||||||
|
|
||||||
|
# endswith not working so filter them out
|
||||||
|
$objList | Where {
|
||||||
|
($_.Object.'@OData.Type' -eq '#microsoft.graph.deviceEnrollmentPlatformRestrictionConfiguration' -or
|
||||||
|
$_.Object.'@OData.Type' -eq '#microsoft.graph.deviceEnrollmentLimitConfiguration' -or
|
||||||
|
$_.Object.'@OData.Type' -eq '#microsoft.graph.deviceEnrollmentPlatformRestrictionsConfiguration') -and
|
||||||
|
$_.Object.id -notlike "*_PlatformRestrictions" -and $_.Object.platformType -ne "WindowsPhone" -and $_.Object.platformType -ne "AndroidAosp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ScopeTags
|
#region ScopeTags
|
||||||
@@ -2596,6 +2696,7 @@ function Add-ConditionalAccessImportExtensions
|
|||||||
$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
|
||||||
|
$global:cbImportCAState.Name = "cbImportCAState"
|
||||||
|
|
||||||
@($label, $global:cbImportCAState)
|
@($label, $global:cbImportCAState)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This module manages Application objects in Intune e.g. uploading application fil
|
|||||||
#>
|
#>
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'3.1.2'
|
'3.4.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
#########################################################################################
|
#########################################################################################
|
||||||
@@ -209,6 +209,8 @@ function Copy-Win32LOBPackage
|
|||||||
|
|
||||||
Remove-Item -Path $tmpFile
|
Remove-Item -Path $tmpFile
|
||||||
|
|
||||||
|
$fi = [IO.FileInfo]$intunewinFile
|
||||||
|
|
||||||
# Get encryption info from detection.xml and build encryptionInfo object
|
# Get encryption info from detection.xml and build encryptionInfo object
|
||||||
|
|
||||||
$encryptionInfo = @{}
|
$encryptionInfo = @{}
|
||||||
@@ -222,7 +224,7 @@ function Copy-Win32LOBPackage
|
|||||||
|
|
||||||
$tmpIntunewinPath = ([IO.Path]::GetTempPath() + [Guid]::NewGuid().ToString("n"))
|
$tmpIntunewinPath = ([IO.Path]::GetTempPath() + [Guid]::NewGuid().ToString("n"))
|
||||||
mkdir $tmpIntunewinPath | Out-Null
|
mkdir $tmpIntunewinPath | Out-Null
|
||||||
$tmpIntunewinFile = $tmpIntunewinPath + "\" + $DetectionXML.ApplicationInfo.FileName
|
$tmpIntunewinFile = $tmpIntunewinPath + "\" + $fi.Name
|
||||||
|
|
||||||
# Extract the encrypted file from the intunewin file
|
# Extract the encrypted file from the intunewin file
|
||||||
Export-IntunewinFileObject $intunewinFile $DetectionXML.ApplicationInfo.FileName $tmpIntunewinFile
|
Export-IntunewinFileObject $intunewinFile $DetectionXML.ApplicationInfo.FileName $tmpIntunewinFile
|
||||||
@@ -250,8 +252,8 @@ function Add-FileToIntuneApp
|
|||||||
{
|
{
|
||||||
param($appId, $appType, $appFile, $fileBody)
|
param($appId, $appType, $appFile, $fileBody)
|
||||||
|
|
||||||
$contentVersion = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions"
|
$contentVersion = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions" -HttpMethod POST -Content "{}"
|
||||||
$contentVersionId = $contentVersion.value[0].id
|
$contentVersionId = $contentVersion.id
|
||||||
$fileObj = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions/$contentVersionId/files" -HttpMethod POST -Content (ConvertTo-Json $fileBody -Depth 5)
|
$fileObj = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions/$contentVersionId/files" -HttpMethod POST -Content (ConvertTo-Json $fileBody -Depth 5)
|
||||||
|
|
||||||
if(-not $fileObj)
|
if(-not $fileObj)
|
||||||
@@ -274,10 +276,12 @@ function Add-FileToIntuneApp
|
|||||||
|
|
||||||
Wait-IntuneFileState "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions/$contentVersionId/files/$($fileObj.Id)" "CommitFile"
|
Wait-IntuneFileState "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions/$contentVersionId/files/$($fileObj.Id)" "CommitFile"
|
||||||
|
|
||||||
|
$fiUpload = [IO.FileInfo]$appFile
|
||||||
# Commit the content version
|
# Commit the content version
|
||||||
$commitAppBody = @{
|
$commitAppBody = @{
|
||||||
"@odata.type" = "#$appType"
|
"@odata.type" = "#$appType"
|
||||||
committedContentVersion = $contentVersionId
|
committedContentVersion = $contentVersionId
|
||||||
|
fileName = $fiUpload.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
$reponse = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId" -HttpMethod PATCH -Content (ConvertTo-Json $commitAppBody -Depth 5)
|
$reponse = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId" -HttpMethod PATCH -Content (ConvertTo-Json $commitAppBody -Depth 5)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ This module manages Authentication for the application with MSAL. It is also res
|
|||||||
#>
|
#>
|
||||||
function Get-ModuleVersion
|
function Get-ModuleVersion
|
||||||
{
|
{
|
||||||
'3.3.2'
|
'3.4.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
$global:msalAuthenticator = $null
|
$global:msalAuthenticator = $null
|
||||||
@@ -234,7 +234,7 @@ function Get-MSALUserInfo
|
|||||||
{
|
{
|
||||||
Write-Log "Get current user"
|
Write-Log "Get current user"
|
||||||
$tmpMe = MSGraph\Invoke-GraphRequest -Url "ME" -SkipAuthentication -ODataMetadata "Skip"
|
$tmpMe = MSGraph\Invoke-GraphRequest -Url "ME" -SkipAuthentication -ODataMetadata "Skip"
|
||||||
if($tmpMe.creationType -ne "Invitation")
|
if($null -ne $tmpMe -and $tmpMe.creationType -ne "Invitation")
|
||||||
{
|
{
|
||||||
### Only get user info from home tenant
|
### Only get user info from home tenant
|
||||||
$global:Me = $tmpMe
|
$global:Me = $tmpMe
|
||||||
@@ -342,6 +342,12 @@ function Install-MSALDependencyModule
|
|||||||
{
|
{
|
||||||
param($moduleToInstall, $button)
|
param($moduleToInstall, $button)
|
||||||
|
|
||||||
|
if($global:hideUI -eq $true)
|
||||||
|
{
|
||||||
|
Write-Log "Cannot install MSAL module in Silent mode"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
$forceUserInstallation = $false
|
$forceUserInstallation = $false
|
||||||
|
|
||||||
if($global:chkCurrentUser.IsChecked -eq $false -and (Get-IsAdmin) -eq $false)
|
if($global:chkCurrentUser.IsChecked -eq $false -and (Get-IsAdmin) -eq $false)
|
||||||
@@ -541,6 +547,38 @@ function Add-MSALPrereq
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Connect-MSALClientApp
|
||||||
|
{
|
||||||
|
param($clientId, $tenantId, $secret, $Certificate)
|
||||||
|
$scopes = [String[]]".default"
|
||||||
|
|
||||||
|
if(-not $script:MSALApp)
|
||||||
|
{
|
||||||
|
$authority = "https://login.microsoftonline.com/$tenantId"
|
||||||
|
#$redirectUri = "http://localhost"
|
||||||
|
|
||||||
|
if($secret)
|
||||||
|
{
|
||||||
|
$ClientApplicationBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithClientSecret($ClientSecret).WithAuthority([URI]::new($authority)) #.WithRedirectUri($redirectUri)
|
||||||
|
}
|
||||||
|
elseif($Certificate)
|
||||||
|
{
|
||||||
|
$ClientApplicationBuilder = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create($clientId).WithCertificate($ClientSecret).WithAuthority([URI]::new($authority)) #.WithRedirectUri($redirectUri)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$script:MSALApp = $ClientApplicationBuilder.Build()
|
||||||
|
}
|
||||||
|
|
||||||
|
if($script:MSALApp)
|
||||||
|
{
|
||||||
|
$accessTokenRequest = $script:MSALApp.AcquireTokenForClient($scopes)
|
||||||
|
$global:MSALToken = Get-MsalAuthenticationToken $accessTokenRequest
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function Get-MsalAuthenticationToken
|
function Get-MsalAuthenticationToken
|
||||||
{
|
{
|
||||||
param($aquireTokenObj)
|
param($aquireTokenObj)
|
||||||
@@ -689,6 +727,9 @@ function Connect-MSALUser
|
|||||||
[switch]
|
[switch]
|
||||||
$Interactive,
|
$Interactive,
|
||||||
|
|
||||||
|
[switch]
|
||||||
|
$ClientApp,
|
||||||
|
|
||||||
$Account,
|
$Account,
|
||||||
|
|
||||||
$Tenant
|
$Tenant
|
||||||
@@ -697,6 +738,24 @@ function Connect-MSALUser
|
|||||||
# No login during first time the app is started
|
# No login during first time the app is started
|
||||||
if($global:FirstTimeRunning -and $global:MainAppStarted -eq $false) { return }
|
if($global:FirstTimeRunning -and $global:MainAppStarted -eq $false) { return }
|
||||||
|
|
||||||
|
if($global:hideUI -eq $true)
|
||||||
|
{
|
||||||
|
if($global:AzureAppId -and $global:ClientSecret -and $global:TenantId)
|
||||||
|
{
|
||||||
|
Connect-MSALClientApp $global:AzureAppId $global:TenantId -secret $global:ClientSecret
|
||||||
|
}
|
||||||
|
elseif($global:AzureAppId -and $global:ClientCert -and $global:TenantId)
|
||||||
|
{
|
||||||
|
Connect-MSALClientApp $global:AzureAppId $global:TenantId -certificate $global:ClientCert
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-Log "Azure AppId, Tenant Id and Sercret/Cert must be specified for batch login" 3
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
Write-LogDebug "Authenticate"
|
Write-LogDebug "Authenticate"
|
||||||
|
|
||||||
if(-not $global:appObj.ClientId)
|
if(-not $global:appObj.ClientId)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
42
README.md
42
README.md
@@ -29,12 +29,48 @@ Before starting the app:
|
|||||||
|
|
||||||
Before logging on:
|
Before logging on:
|
||||||
|
|
||||||
* The app will use the Intune PowerShell Azure Enterprise Application by default but request all permissions required by the script. The will most likely cause a consent prompt since it uses more permission than the Intune module. Enable **Use Default Permissions** in Settings to only request the current permissions granted to the Enterprise App.
|
* The app will use the Intune PowerShell Azure Enterprise Application by default and only use the permissions granted to that appliction. Disable **Use Default Permissions** in Settings to request additional permissions. The will cause a consent prompt if one or more permissions are missing for the app.
|
||||||
**Note:** Using default permission might reduce functionality e.g. permissions for one or more object types might be missing
|
**Note:** If the app has not been approved for the organization, a consent prompt will be disablyed.
|
||||||
* Enable **Get Tenant List** in Settings if accessing multiple environments with the same account e.g. a guest account in other tenants. This might cause a Consent prompt
|
* Enable **Get Tenant List** in Settings if accessing multiple environments with the same account e.g. a guest account in other tenants. This might cause a Consent prompt
|
||||||
|
|
||||||
Start the script by running **Start.cmd**, **Start-WithJson.cmd**, **Start-WithConsole.cmd** or **Start-IntuneManagement.ps1**. **Start-WithConsole.cmd** will leave the command prompt window open so you can see the log while running the app.
|
Start the script by running **Start.cmd**, **Start-WithJson.cmd**, **Start-WithConsole.cmd** or **Start-IntuneManagement.ps1**. **Start-WithConsole.cmd** will leave the command prompt window open so you can see the log while running the app.
|
||||||
|
|
||||||
|
## Silent Batch Job (Beta)
|
||||||
|
|
||||||
|
The script can be executed without UI. This is to support DevOps environment.
|
||||||
|
|
||||||
|
Silent batch job is supported by the following features:
|
||||||
|
|
||||||
|
* Export
|
||||||
|
* Import
|
||||||
|
|
||||||
|
The Silent Batch Job feature requires an Azure App to be configured with a secret or a certificate. The app must also be delegated with the required permissions to Graph objects used by the tool.
|
||||||
|
|
||||||
|
The silent feature uses an exported json file with settings for the specified operation. This file can be generated in the Bulk Export/Import forms. Required settings for the silent job is configured in the form and then exported to a file. The path to the file is then passed on the command line. The file can be used for multiple environments if the **Add company name to the path** option is selected. Note that this requires that the appmust have at least read permission on the Organizations API.
|
||||||
|
|
||||||
|
The following variables can be used in the path and filename:
|
||||||
|
|
||||||
|
* %Date% - This will be translated to yyyy-MM-dd format (eg 2020-02-27)
|
||||||
|
* %DateTime% - This will be translated to yyyyMMdd-HHmm format (eg 20200227-1750)
|
||||||
|
* %Organization% - Name of the tenant
|
||||||
|
* Any environment variable
|
||||||
|
|
||||||
|
The tool will by default generate the files; `BulkExport.json` and `BulkImport.json`. These files can be merged into one file but that must be done manually. These files can also be edited manually. Each setting represents a control in the UI form. When the script is triggered silently, it will create the form in the background, populate it with the values from the file and then trigger the bulk function.
|
||||||
|
|
||||||
|
**Note** The Silent Batch feature use settings configured in the UI. If this is triggered in a DevOps envionment, it is recommended to generate a settings JSON file with the desired settings and then use that in the DevOps environment
|
||||||
|
|
||||||
|
The app authentication can either be passed on the command line or stored in the settings. Tennant Settings is required for multiple environments.
|
||||||
|
|
||||||
|
**Command line example:**
|
||||||
|
|
||||||
|
Start-IntuneManagement.ps1 -Silent -TenantId "<*TenantID*>" -SilentBatchFile <*PathToFile*> [-AppId <*AppId*>] [-Secret <*Secret*> | -Certificate <*CertThumb*>]
|
||||||
|
|
||||||
|
Start-IntuneManagement.ps1 -Silent -SilentBatchFile "C:\Temp\BatchImport.json" -TenantId "00000000-0000-0000-0000-000000000000" -AppId "00000000-0000-0000-0000-000000000001" -Secret "KJ76P~B9###9-.8I####-_MySecret"
|
||||||
|
|
||||||
|
**Setting example:**
|
||||||
|
|
||||||
|
Start-IntuneManagement.ps1 -Silent -SilentBatchFile "C:\Temp\BatchImport.json" -TenantId "00000000-0000-0000-0000-000000000000"
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
This script has an extension that can document profiles and policies in Intune. The output is using the same language strings as the Intune portal.
|
This script has an extension that can document profiles and policies in Intune. The output is using the same language strings as the Intune portal.
|
||||||
@@ -275,7 +311,7 @@ When multi tenant settings is Enabled/Disabled, the Profile Info is not updated
|
|||||||
|
|
||||||
The *List Applications* API might not list an imported app immediately after the import. Click *Refresh* to reload the application objects.
|
The *List Applications* API might not list an imported app immediately after the import. Click *Refresh* to reload the application objects.
|
||||||
|
|
||||||
~~When using the filter box to search for items, the checkbox must be clicked twice to select an item.~~</br />
|
~~When using the filter box to search for items, the checkbox must be clicked twice to select an item.~~<br />
|
||||||
Issue fixed in 3.3.2
|
Issue fixed in 3.3.2
|
||||||
|
|
||||||
Logout will only clear the token from cache and not from the browser e.g. if login is triggered after a logout, the user will still be listed in the 'Select user' dialog.
|
Logout will only clear the token from cache and not from the browser e.g. if login is triggered after a logout, the user will still be listed in the 'Select user' dialog.
|
||||||
|
|||||||
@@ -1,5 +1,91 @@
|
|||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
|
## 3.4.0 - 2022-03-01
|
||||||
|
|
||||||
|
**New features**
|
||||||
|
|
||||||
|
- **Silent batch job**
|
||||||
|
Export/Import can now be executed without UI<br />
|
||||||
|
See documentation for full requirements
|
||||||
|
|
||||||
|
**Note** Please report any issues to [Issue 39](https://github.com/Micke-K/IntuneManagement/issues/39)
|
||||||
|
|
||||||
|
This is based on [Issue 39](https://github.com/Micke-K/IntuneManagement/issues/39)
|
||||||
|
|
||||||
|
- **Documentation**
|
||||||
|
|
||||||
|
- Support for documenting an environment based on exported files<br />
|
||||||
|
|
||||||
|
Select the **Source files** folder in the Documentation Types (Bulk menu) dialog.
|
||||||
|
|
||||||
|
Note: Some values will NOT be included. These are referenced values and not a property on the object eg Certificate on a VPN profile, Root certificate on a SCEP profile etc. These values will be documented with ##TBD...<br />
|
||||||
|
|
||||||
|
This is based on [Issue 37](https://github.com/Micke-K/IntuneManagement/issues/37)
|
||||||
|
|
||||||
|
- Support for attaching the json file for the object in the word document
|
||||||
|
|
||||||
|
- Support for documentation output level (Word)<br />
|
||||||
|
Documenting the full environment can create a document with 1000+ pages depending on the amount of profiles and policies. The documentation output level can now be used to reduce the document size. The output level options are:
|
||||||
|
|
||||||
|
- Full - Document every single value
|
||||||
|
- Limited - Set max value and truncate size for documentation and as option, attach the original value as a text document to the value cell e.g. truncate all values over 500 characters to 10 characters and attach the full value as a text file in the document. This will reduce documentation size for profiles with large XML strings like ADMX ingestion
|
||||||
|
- Basic - Only include the Basic and Assignments tables in the documentation
|
||||||
|
|
||||||
|
- Added support for documenting Filters
|
||||||
|
|
||||||
|
- Added UI for configuring custom columns<br />
|
||||||
|
This can now be done in the Detail View<br />
|
||||||
|
This is based on [Issue 30](https://github.com/Micke-K/IntuneManagement/issues/30)<br />
|
||||||
|
|
||||||
|
- Added support for updating Name and Descriptions of the object in Detail View<br />
|
||||||
|
This is As-Is functionality. Not all object types have been tested.<br />
|
||||||
|
It is recommended to use the portal for this.<br />
|
||||||
|
This is based on a private request<br />
|
||||||
|
|
||||||
|
- Added support for copying an app
|
||||||
|
|
||||||
|
**Note** This requires that the **App packages folder** is specified in Settings and that the file for the app is available in that folder. If the app file is missing it can be uploaded manually in the Details view
|
||||||
|
|
||||||
|
This is based on [Issue 42](https://github.com/Micke-K/IntuneManagement/issues/42)
|
||||||
|
|
||||||
|
- Added support for manually upload an app file via the Details view
|
||||||
|
|
||||||
|
**Fixes**
|
||||||
|
|
||||||
|
- **Documentation**<br />
|
||||||
|
|
||||||
|
- Updated documentation files with support for new properties and removed unused values (Windows Updates, Windows Feature Updates etc.)
|
||||||
|
- Fixed an issue where VPN profiles in some cases was missing the Base VPN settings
|
||||||
|
- Fixed an issue when using a template<br />
|
||||||
|
A table of content will no longer be created. That should be included in the template
|
||||||
|
|
||||||
|
- **Application import**
|
||||||
|
|
||||||
|
- Minor change in the app Win32 upload functionality to align to portal APIs
|
||||||
|
- The File Name is now updated to be based on the actual uploaded file
|
||||||
|
|
||||||
|
**Important** Please create an issue if there are any problems
|
||||||
|
|
||||||
|
- Fixed an issue where ESP and Enrolment Restriction objects were not listed
|
||||||
|
The original filters stopped working
|
||||||
|
|
||||||
|
**Note** The Enrolment restrictions has changed in Graph. There is now one object for each OS type. So there will be multiple restriction objects exported. platformType column was added to identify each object
|
||||||
|
|
||||||
|
This is based on [Issue 41](https://github.com/Micke-K/IntuneManagement/issues/41)
|
||||||
|
|
||||||
|
- Minor fixes in Import/Export extensions - Required for silent batch job support
|
||||||
|
|
||||||
|
- Fixed an issue where PostListCommand was not triggered
|
||||||
|
|
||||||
|
- Additional Endpoint Security columns were not listed
|
||||||
|
- Azure Branding objects was missing the language column <br />
|
||||||
|
<br />
|
||||||
|
- Fixed issue where the Document button was not enabled when **Select All** was clicked (without selecting an object first)
|
||||||
|
|
||||||
|
This is based on [Issue 36](https://github.com/Micke-K/IntuneManagement/issues/36)
|
||||||
|
|
||||||
|
- Other minor bug fixes to support the new features
|
||||||
|
|
||||||
## 3.3.3 - 2021-12-15
|
## 3.3.3 - 2021-12-15
|
||||||
|
|
||||||
**Fixes**
|
**Fixes**
|
||||||
@@ -80,7 +166,7 @@ This is a **BETA** release. It contains core changes for Authentication and Sett
|
|||||||
|
|
||||||
**Default Settings Value Changes**
|
**Default Settings Value Changes**
|
||||||
|
|
||||||
* **Use Default Permissions** is now set to Disabled by default. With the Tenant Specific Settings feature, this can now be enabled globally or per tenant. Consultants accessing multiple environments might not have permissions to grant consent requests so this could be enabled on a global level and then disabled for tenants where the permissions can be added.
|
* **Use Default Permissions** is now set to Enabled by default. With the Tenant Specific Settings feature, this can now be enabled globally or per tenant. Consultants accessing multiple environments might not have permissions to grant consent requests so this could be enabled on a global level and then disabled for tenants where the permissions can be added.
|
||||||
|
|
||||||
**Fixes**
|
**Fixes**
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,20 @@ param(
|
|||||||
[switch]
|
[switch]
|
||||||
$JSonSettings,
|
$JSonSettings,
|
||||||
[string]
|
[string]
|
||||||
$JSonFile
|
$JSonFile,
|
||||||
|
[switch]
|
||||||
|
$Silent,
|
||||||
|
[string]
|
||||||
|
$SilentBatchFile = "",
|
||||||
|
[string]
|
||||||
|
$TenantId,
|
||||||
|
[string]
|
||||||
|
$AppId,
|
||||||
|
[string]
|
||||||
|
$Secret,
|
||||||
|
[string]
|
||||||
|
$Certificate
|
||||||
)
|
)
|
||||||
Import-Module ($PSScriptRoot + "\CloudAPIPowerShellManagement.psd1") -Force
|
Import-Module ($PSScriptRoot + "\CloudAPIPowerShellManagement.psd1") -Force
|
||||||
Initialize-CloudAPIManagement -View "IntuneGraphAPI" -ShowConsoleWindow:($ShowConsoleWindow) -JSonSettings:($JSonSettings) -JSonFile $JSonFile
|
$param = $PSBoundParameters
|
||||||
|
Initialize-CloudAPIManagement -View "IntuneGraphAPI" @param
|
||||||
|
|||||||
@@ -29,6 +29,65 @@
|
|||||||
</Style.Triggers>
|
</Style.Triggers>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
|
|
||||||
|
<Style x:Key='ErrorControl' TargetType='ContentControl'>
|
||||||
|
<Setter Property='Template'>
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType='ContentControl'>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Rectangle Width="16" Height="16" ToolTip="{Binding ToolTip}" Name="errorIcon" Visibility="Collapsed">
|
||||||
|
<Rectangle.Fill>
|
||||||
|
<DrawingBrush>
|
||||||
|
<DrawingBrush.Drawing>
|
||||||
|
<DrawingGroup>
|
||||||
|
<DrawingGroup.Children>
|
||||||
|
<GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
|
||||||
|
<GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M8,16C3.589,16 0,12.411 0,8 0,3.589 3.589,0 8,0 12.411,0 16,3.589 16,8 16,12.411 12.411,16 8,16" />
|
||||||
|
<GeometryDrawing Brush="#FFE41400" Geometry="F1M9,10L7,10 7,3 9,3z M9,13L7,13 7,11 9,11z M8,1C4.134,1 1,4.134 1,8 1,11.865 4.134,15 8,15 11.865,15 15,11.865 15,8 15,4.134 11.865,1 8,1" />
|
||||||
|
<GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M9,11L7,11 7,13 9,13z M9,10L7,10 7,3 9,3z" />
|
||||||
|
</DrawingGroup.Children>
|
||||||
|
</DrawingGroup>
|
||||||
|
</DrawingBrush.Drawing>
|
||||||
|
</DrawingBrush>
|
||||||
|
</Rectangle.Fill>
|
||||||
|
</Rectangle>
|
||||||
|
|
||||||
|
<ContentPresenter Grid.Column="1" Name="errorControl" />
|
||||||
|
</Grid>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource self},Path=Tag}" Value="True">
|
||||||
|
<Setter TargetName="errorIcon" Property="Visibility" Value="Visible" />
|
||||||
|
</DataTrigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
<ControlTemplate.Resources>
|
||||||
|
<Style TargetType="TextBox">
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding Path=Tag, RelativeSource={RelativeSource AncestorType={x:Type ContentControl}}}" Value="True">
|
||||||
|
<Setter Property="Border.BorderBrush" Value="Red" />
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</ControlTemplate.Resources>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
|
||||||
|
<Style x:Key="ErrorBorder" TargetType="Control">
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding HasErrors}" Value="True">
|
||||||
|
<Setter Property="Border.BorderBrush" Value="Red"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Style x:Key="HoverUnderlineStyleWithBackground" TargetType="TextBlock">
|
<Style x:Key="HoverUnderlineStyleWithBackground" TargetType="TextBlock">
|
||||||
<Style.Triggers>
|
<Style.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
@@ -131,4 +190,5 @@
|
|||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
|
|||||||
@@ -108,9 +108,19 @@
|
|||||||
-->
|
-->
|
||||||
</Grid >
|
</Grid >
|
||||||
|
|
||||||
<StackPanel Name="spExportSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row='2' Grid.ColumnSpan='2' >
|
<Grid Grid.Row='2' Grid.ColumnSpan='2' >
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" >
|
||||||
|
<Button Name="btnExportSettingsForSilentExport" Content="Save" Width='100' Margin="5,0,0,0" ToolTip="Save settings for batch job" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Name="spExportSubMenu" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right" >
|
||||||
<Button Name="btnExport" Content="Export" Width='100' Margin="5,0,0,0" />
|
<Button Name="btnExport" Content="Export" Width='100' Margin="5,0,0,0" />
|
||||||
<Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
|
<Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
</Grid >
|
||||||
|
|
||||||
</Grid >
|
</Grid >
|
||||||
|
|||||||
@@ -118,9 +118,19 @@
|
|||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<StackPanel Name="spImportSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row='2' Grid.ColumnSpan='2' >
|
<Grid Grid.Row='2' Grid.ColumnSpan='2' >
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" >
|
||||||
|
<Button Name="btnExportSettingsForSilentImport" Content="Save" Width='100' Margin="5,0,0,0" ToolTip="Save settings for batch job" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Name="spImportSubMenu" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right" >
|
||||||
<Button Name="btnImport" Content="Import" Width='100' Margin="5,0,0,0" />
|
<Button Name="btnImport" Content="Import" Width='100' Margin="5,0,0,0" />
|
||||||
<Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
|
<Button Name="btnClose" Content="Close" Width='100' Margin="5,0,0,0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
</Grid >
|
</Grid >
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@@ -65,6 +67,24 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
<CheckBox Grid.Column='1' Grid.Row='5' Name='chkSetDefaultValue' VerticalAlignment="Center" IsChecked="true" />
|
<CheckBox Grid.Column='1' Grid.Row='5' Name='chkSetDefaultValue' VerticalAlignment="Center" IsChecked="true" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="6" Grid.ColumnSpan="2" Name="spDocumentFromFolder">
|
||||||
|
<Label Content="Source files" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Create documentation from exported files" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<Grid Grid.Row='7' Margin="5,0,0,0" Grid.ColumnSpan="2" Name="grdDocumentFromFolder">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="5" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBox Text="" Name="txtDocumentFromFolder" />
|
||||||
|
<Button Grid.Column="2" Name="browseDocumentFromFolder" Padding="5,0,5,0" Width="50" ToolTip="Browse for export folder">...</Button>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
<Label Content="Objects to document" Grid.Row="0" Grid.Column="4" />
|
<Label Content="Objects to document" Grid.Row="0" Grid.Column="4" />
|
||||||
<DataGrid Name="grdDocumentObjects" Grid.Row="1" Grid.RowSpan="99" Grid.Column="4" CanUserAddRows="False" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" Margin="0,0,5,0">
|
<DataGrid Name="grdDocumentObjects" Grid.Row="1" Grid.RowSpan="99" Grid.Column="4" CanUserAddRows="False" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" Margin="0,0,5,0">
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@@ -30,6 +31,17 @@
|
|||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Grid Grid.ColumnSpan="2">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0">
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0">
|
||||||
<Label Content="Output Properties" />
|
<Label Content="Output Properties" />
|
||||||
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the output type. Simple will only add Value and Name for Settings. Extended will output the same as Raw Output. Use Custom to select custom properties" />
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the output type. Simple will only add Value and Name for Settings. Extended will output the same as Raw Output. Use Custom to select custom properties" />
|
||||||
@@ -43,6 +55,58 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBox Text="" Name="txtWordCustomProperties" Margin="0,5,5,5" Grid.Row="1" Grid.Column="1"/>
|
<TextBox Text="" Name="txtWordCustomProperties" Margin="0,5,5,5" Grid.Row="1" Grid.Column="1"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<Grid Grid.Row="1" Grid.ColumnSpan="2">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0">
|
||||||
|
<Label Content="Output Level" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the output level. Full will document full value of each setting, Limited will truncate the value if more than 100 characters and Basic will only include the basic information and assignments but no settings" />
|
||||||
|
</StackPanel>
|
||||||
|
<ComboBox Name="cbWordDocumentationLevel" Margin="0,5,0,0" MinWidth="250" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Left"
|
||||||
|
DisplayMemberPath="Name" SelectedValuePath="Value" />
|
||||||
|
|
||||||
|
<Grid Grid.Row="1" Grid.ColumnSpan="2" Name="gdWordDocumentationLimitOptions">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="TitleColumn" />
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" >
|
||||||
|
<Label Content="Attach full value" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attach value as a text file if exceeds the Max value length" />
|
||||||
|
</StackPanel>
|
||||||
|
<CheckBox Grid.Column='1' Name='chkWordDocumentationLimitAttatch' VerticalAlignment="Center" IsChecked="true" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1">
|
||||||
|
<Label Content="Max value length" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the max sting length of the value. Value over this size will be truncated. Default is 100" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Text="" Name="txtWordDocumentationLimitMaxLength" Margin="0,5,5,5" Width="100" Grid.Row="1" HorizontalAlignment="Left" Grid.Column="1"/>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="2">
|
||||||
|
<Label Content="Truncated value length" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the length for the truncate size. Default is same size as Max value length. Specify 0 to skip tuncated text and only include the attached value (must be enabled)" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Text="" Name="txtWordDocumentationLimitTruncateLength" Margin="0,5,5,5" Width="100" HorizontalAlignment="Left" Grid.Row="2" Grid.Column="1"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,0,5,0" Grid.Row="2">
|
<StackPanel Orientation="Horizontal" Margin="0,0,5,0" Grid.Row="2">
|
||||||
<Label Content="Word document template" />
|
<Label Content="Word document template" />
|
||||||
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="The document template (*.dotx) file to use for the documentation. Normal.dotx will be used if this is empty" />
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="The document template (*.dotx) file to use for the documentation. Normal.dotx will be used if this is empty" />
|
||||||
@@ -167,6 +231,12 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
<CheckBox Grid.Column='1' Grid.Row='19' Name='chkWordExcludeScriptSignature' VerticalAlignment="Center" IsChecked="true" />
|
<CheckBox Grid.Column='1' Grid.Row='19' Name='chkWordExcludeScriptSignature' VerticalAlignment="Center" IsChecked="true" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Grid.Row='20' Margin="0,0,5,0">
|
||||||
|
<Label Content="Attatch Json file" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Attatch the Json file to the documentation" />
|
||||||
|
</StackPanel>
|
||||||
|
<CheckBox Grid.Column='1' Grid.Row='20' Name='chkWordAttatchJsonFile' VerticalAlignment="Center" IsChecked="false" />
|
||||||
|
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="21">
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="21">
|
||||||
<Label Content="Script table style" />
|
<Label Content="Script table style" />
|
||||||
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the table style to use for scripts. Ducument table style will be use as default" />
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Specify the table style to use for scripts. Ducument table style will be use as default" />
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
<Grid Margin="0,5,0,5" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
<TabControl SelectedIndex="0" Margin="0,5,0,5" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
<TabItem Header="Json">
|
||||||
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="*" />
|
<ColumnDefinition Width="*" />
|
||||||
@@ -22,3 +24,127 @@
|
|||||||
<Button Name="btnCopy" MinWidth="100" Margin="0,0,0,0" ToolTip="Copy text to clipboard">Copy</Button>
|
<Button Name="btnCopy" MinWidth="100" Margin="0,0,0,0" ToolTip="Copy text to clipboard">Copy</Button>
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="Settings">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0" HorizontalAlignment="Left">
|
||||||
|
<Label Content="Name" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the object" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Name="txtObjectName" Margin="0,5,5,0" Grid.Row="0" Grid.Column="1" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1" HorizontalAlignment="Left">
|
||||||
|
<Label Content="Description" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Name of the object" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Name="txtObjectDescription" Margin="0,5,5,0" Grid.Row="1" Grid.Column="1" AcceptsReturn="True" Height="100" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Grid.Column="1" Margin="5,5,5,0" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Right">
|
||||||
|
<Button Name="btnObjectSettingsSave" Content="Save" Margin="0,0,0,0" Width="100" />
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="Columns">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,0,5,0" >
|
||||||
|
<Label Content="Properties" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Properties of the current object" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<ListBox Name="lstObjectProperties" SelectionMode="Single" Grid.Row="1" Grid.RowSpan="99" MinWidth="100" DisplayMemberPath="Name">
|
||||||
|
</ListBox>
|
||||||
|
|
||||||
|
<StackPanel Grid.Row="1" Grid.Column="1" Margin="5,0,5,0">
|
||||||
|
<Button Content=">" Name="btnObjectColumnsAdd" Width="50" ToolTip="Add property" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="1" Grid.Column="2">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<ListBox Name="lstObjectColumns" SelectionMode="Single" Grid.Row="0" MinWidth="150" DisplayMemberPath="Property" Height="200">
|
||||||
|
</ListBox>
|
||||||
|
|
||||||
|
<StackPanel Grid.Column="1" Margin="5,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
|
||||||
|
<Button Content="Up" Name="btnObjectColumnsMoveUp" Width="50" ToolTip="Move the selected column up" />
|
||||||
|
<Button Content="Down" Name="btnObjectColumnsMoveDown" Width="50" ToolTip="Move the selected column down" Margin="0,5,0,0"/>
|
||||||
|
<Button Content="Delete" Name="btnObjectColumnsDelete" Width="50" ToolTip="Delete the selected column" Margin="0,5,0,0"/>
|
||||||
|
<Button Content="Clear" Name="btnObjectColumnsClear" Width="50" ToolTip="Delete all custom columns" Margin="0,5,0,0"/>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<CheckBox Grid.Row='1' Name='chkObjectColumnOverride' Grid.ColumnSpan="2" Content="Override default columns" VerticalAlignment="Center" ToolTip="Do not add default columns first. If this is checked then only the properties in the list will be displayed" />
|
||||||
|
|
||||||
|
<Grid Grid.Row="3" Grid.ColumnSpan="2" Name="grdObjectColumns">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="0" HorizontalAlignment="Left">
|
||||||
|
<Label Content="Property" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Property to display. Sub properties and array values are supported eg files[0].displayName" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Name="txtObjectColumnsProperty" Text="{Binding Property}" Margin="0,5,5,0" Grid.Row="0" Grid.Column="1" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="1">
|
||||||
|
<Label Content="Header" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Header for the property. Name of property will be used if not specified" />
|
||||||
|
</StackPanel>
|
||||||
|
<TextBox Name="txtObjectColumnsHeader" Text="{Binding Header}" Margin="0,5,5,0" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="0,5,5,0" Grid.Row="2" HorizontalAlignment="Left">
|
||||||
|
<Label Content="Current settings:" />
|
||||||
|
<Rectangle Style="{DynamicResource InfoIcon}" ToolTip="Current property settings. Only updated when saved" />
|
||||||
|
</StackPanel>
|
||||||
|
<Label Name="lblObjectColumnsConfig" Content="" Margin="0,0,5,0" Grid.Row="3" />
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal" Grid.Column="1" Margin="5,5,5,0" Grid.Row="4" Grid.ColumnSpan="2" HorizontalAlignment="Right">
|
||||||
|
<Button Name="btnObjectColumnsReset" Content="Reset" Margin="0,0,5,0" Width="100" ToolTip="Revert all changes" />
|
||||||
|
<Button Name="btnObjectColumnsSave" Content="Save" Margin="0,0,0,0" Width="100" />
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
</TabControl>
|
||||||
Reference in New Issue
Block a user