mirror of
https://github.com/Micke-K/IntuneManagement.git
synced 2026-09-28 19:05:38 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1bd2151358 | ||
|
|
fb819949f5 | ||
|
|
f96037a9d0 | ||
|
|
0492b784a1 | ||
|
|
65ef411e20 | ||
|
|
ed45693344 | ||
|
|
f036c64d74 | ||
|
|
c3db7edb6e | ||
|
|
51e5966fa7 | ||
|
|
7cd93038da | ||
|
|
5bb84c8561 | ||
|
|
b6b9e9e34c | ||
|
|
bd84a61522 | ||
|
|
e09b3f71fa | ||
|
|
836c8a0c2e | ||
|
|
b6c94e78d5 | ||
|
|
e242865ef4 | ||
|
|
f7043ae4a2 | ||
|
|
71bb111a00 | ||
|
|
9ca756bfed | ||
|
|
4053b5c672 | ||
|
|
469408d29f | ||
|
|
7b87325776 | ||
|
|
7657fac645 | ||
|
|
37700847b5 | ||
|
|
e37a44dd87 | ||
|
|
cd26450a10 | ||
|
|
f1fdf5c078 | ||
|
|
03b27b1775 | ||
|
|
9bb966015e | ||
|
|
286f238fde | ||
|
|
8368af379f | ||
|
|
faffa95d8a | ||
|
|
485a9de855 | ||
|
|
951b583dd2 | ||
|
|
f27175d543 | ||
|
|
1ab13bf2dd | ||
|
|
8952e2894a | ||
|
|
a0bac61ba4 | ||
|
|
8fab983b25 | ||
|
|
6f6eba6959 | ||
|
|
b69cc227a4 | ||
|
|
4253901249 | ||
|
|
cfb0e5f6e4 | ||
|
|
125d2e2b44 | ||
|
|
95c38a2b3d | ||
|
|
9586ffb3fa | ||
|
|
5984acfca0 | ||
|
|
e1328ac7dd | ||
|
|
968fb4866c | ||
|
|
2169e91c9c | ||
|
|
ad5d6df95e | ||
|
|
9232769d5b | ||
|
|
06ab2c2023 | ||
|
|
8601a5b38e | ||
|
|
17e9b786be | ||
|
|
e2c40b0a67 | ||
|
|
381967c8cf | ||
|
|
28022615a1 | ||
|
|
ff539f9ec1 | ||
|
|
7bab923a1f | ||
|
|
4deea9a051 | ||
|
|
c6fcf58d4d |
@@ -0,0 +1,39 @@
|
||||
title: ""
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Ideas is for shaping something before it becomes a request. Say what you
|
||||
are trying to achieve rather than the control you picture, and it will be
|
||||
clear whether the application should grow a feature or already has one.
|
||||
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Which version are you using?
|
||||
options:
|
||||
- 4.0 beta
|
||||
- 3.x
|
||||
- Neither yet, just looking
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: goal
|
||||
attributes:
|
||||
label: What are you trying to achieve?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: idea
|
||||
attributes:
|
||||
label: How do you picture it working?
|
||||
|
||||
- type: textarea
|
||||
id: scale
|
||||
attributes:
|
||||
label: How often, and at what scale?
|
||||
description: >
|
||||
How many tenants, how many policies, how often you do it. Scale changes
|
||||
the answer more than anything else here.
|
||||
@@ -0,0 +1,64 @@
|
||||
title: "[Question] "
|
||||
labels: ["needs-triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Most questions here turn out to be one of four things: a sign-in method
|
||||
the embedded window cannot complete, a list that looks short because the
|
||||
version you are on stops paging, a permission the app registration does
|
||||
not hold, or an object type that has no public Graph endpoint. The fields
|
||||
below let that be spotted straight away.
|
||||
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
options:
|
||||
- 4.0 beta
|
||||
- 3.x
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: signin
|
||||
attributes:
|
||||
label: How do you sign in?
|
||||
options:
|
||||
- Interactive, embedded window (the default in v3)
|
||||
- Interactive, Web Account Manager (WAM)
|
||||
- Interactive, system browser (the default in v4)
|
||||
- Device code
|
||||
- Application and secret
|
||||
- Application and certificate
|
||||
- Managed identity or federated credential
|
||||
- Bring your own token
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: cloud
|
||||
attributes:
|
||||
label: Cloud
|
||||
options:
|
||||
- Public (commercial)
|
||||
- US Government (GCC High)
|
||||
- US Government (DoD)
|
||||
- China (21Vianet)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: question
|
||||
attributes:
|
||||
label: What are you trying to do?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: tried
|
||||
attributes:
|
||||
label: What have you tried, and what happened?
|
||||
description: >
|
||||
Paste any error text here. **Remove tenant identifiers, user names and
|
||||
tokens first.**
|
||||
@@ -0,0 +1,4 @@
|
||||
# GitHub renders this as the "Sponsor" button on the repository page
|
||||
# (public repositories, default branch). Buy Me a Coffee takes the
|
||||
# username, not the URL: https://buymeacoffee.com/MickeK
|
||||
buy_me_a_coffee: MickeK
|
||||
@@ -0,0 +1,116 @@
|
||||
name: Bug report (version 3.x)
|
||||
description: Something is wrong in the current release. Windows only.
|
||||
title: "[3.x] "
|
||||
labels: ["bug", "v3", "needs-triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Version 3 stays supported until 4.0 leaves beta.
|
||||
|
||||
Before filing, check whether 4.0 already fixes it. Several long-standing
|
||||
reports here are addressed there: sign-in with passkeys and other
|
||||
phishing-resistant methods, lists that stopped at 20, 100 or a few
|
||||
hundred objects, sovereign cloud sign-in, and running without a user
|
||||
present. The 4.0 beta lives on the `v4` branch.
|
||||
|
||||
- type: checkboxes
|
||||
id: preflight
|
||||
attributes:
|
||||
label: Before reporting
|
||||
options:
|
||||
- label: >
|
||||
If my sign-in involves a passkey, security key, Windows Hello or a
|
||||
phishing-resistant policy: I know the embedded sign-in window cannot
|
||||
complete those, and I have said so below rather than reporting it as
|
||||
a broken login.
|
||||
required: true
|
||||
- label: >
|
||||
I searched existing issues and discussions, including closed ones.
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
placeholder: 3.10.3
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: signin
|
||||
attributes:
|
||||
label: How did you sign in?
|
||||
options:
|
||||
- Interactive, embedded window (the default)
|
||||
- Interactive, other
|
||||
- Application and secret
|
||||
- Application and certificate
|
||||
- Not signed in / sign-in is the problem
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: cloud
|
||||
attributes:
|
||||
label: Cloud
|
||||
options:
|
||||
- Public (commercial)
|
||||
- US Government (GCC High)
|
||||
- US Government (DoD)
|
||||
- China (21Vianet)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: powershell
|
||||
attributes:
|
||||
label: PowerShell version
|
||||
description: Run `$PSVersionTable.PSVersion`.
|
||||
placeholder: "5.1.22621.4391"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Which part of the application?
|
||||
options:
|
||||
- Sign-in and authentication
|
||||
- Export
|
||||
- Import
|
||||
- Copy
|
||||
- Compare
|
||||
- Documentation output
|
||||
- Assignments, groups or filters
|
||||
- Bulk or silent operations
|
||||
- ADMX or tools
|
||||
- The user interface itself
|
||||
- Something else
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: what
|
||||
attributes:
|
||||
label: What happened, and what did you expect instead?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log
|
||||
attributes:
|
||||
label: Log
|
||||
description: >
|
||||
The relevant lines, or the error text. **Remove tenant identifiers, user
|
||||
names, access tokens and secrets before pasting.**
|
||||
render: text
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,154 @@
|
||||
name: Bug report (version 4.0 beta)
|
||||
description: Something is wrong in 4.0. Runs on Windows, macOS and Linux.
|
||||
title: "[4.0] "
|
||||
labels: ["bug", "v4", "needs-triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for testing the beta. Four fields below do most of the work:
|
||||
**how you signed in**, **which cloud**, **which operating system** and
|
||||
**the log**. Reports without them usually need a round trip before
|
||||
anything can happen.
|
||||
|
||||
- type: checkboxes
|
||||
id: preflight
|
||||
attributes:
|
||||
label: Before reporting
|
||||
description: These three cover the majority of beta reports so far.
|
||||
options:
|
||||
- label: >
|
||||
I read the release notes for this beta, including the breaking changes.
|
||||
required: true
|
||||
- label: >
|
||||
If my sign-in involves a passkey, security key, Windows Hello or any
|
||||
phishing-resistant policy: I enabled **Use Web Account Manager (WAM)
|
||||
for login** or **Use system browser for login** in Settings, and tried
|
||||
again. The embedded window cannot complete those methods.
|
||||
required: true
|
||||
- label: >
|
||||
My problem is not Inventory Policies returning 403. That endpoint is
|
||||
not published on the public Graph API, so the application cannot read
|
||||
it with a normal sign-in. It is a Microsoft limitation, not a bug.
|
||||
A bring-your-own-token sign-in can reach it.
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: The About dialog, or the ModuleVersion in IntuneManagement.psd1.
|
||||
placeholder: 4.0.0-beta1
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: signin
|
||||
attributes:
|
||||
label: How did you sign in?
|
||||
description: >
|
||||
The single most useful field in this form. Roughly a third of all reports
|
||||
on this project have turned out to be sign-in behaviour rather than the
|
||||
feature being reported.
|
||||
options:
|
||||
- Interactive, embedded window
|
||||
- Interactive, Web Account Manager (WAM)
|
||||
- Interactive, system browser (the default)
|
||||
- Device code
|
||||
- Application and secret
|
||||
- Application and certificate
|
||||
- Managed identity or federated credential
|
||||
- Bring your own token
|
||||
- Not signed in / sign-in is the problem
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: cloud
|
||||
attributes:
|
||||
label: Cloud
|
||||
options:
|
||||
- Public (commercial)
|
||||
- US Government (GCC High)
|
||||
- US Government (DoD)
|
||||
- China (21Vianet)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating system
|
||||
description: 4.0 runs the full application outside Windows, so this now matters.
|
||||
options:
|
||||
- Windows
|
||||
- macOS (Apple Silicon)
|
||||
- macOS (Intel)
|
||||
- Linux
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: powershell
|
||||
attributes:
|
||||
label: PowerShell edition and version
|
||||
description: Run `$PSVersionTable.PSVersion` and `$PSVersionTable.PSEdition`.
|
||||
placeholder: "7.4.6, Core"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Which part of the application?
|
||||
options:
|
||||
- Sign-in and authentication
|
||||
- Export
|
||||
- Import
|
||||
- Copy
|
||||
- Compare
|
||||
- Documentation output
|
||||
- Assignments, groups or filters
|
||||
- Bulk operations
|
||||
- ADMX or tools
|
||||
- The user interface itself
|
||||
- Automation through the PowerShell commands
|
||||
- Something else
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: objecttype
|
||||
attributes:
|
||||
label: Which object type, if it is specific to one
|
||||
placeholder: Settings Catalog, Conditional Access, Win32 app, ...
|
||||
|
||||
- type: textarea
|
||||
id: what
|
||||
attributes:
|
||||
label: What happened, and what did you expect instead?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
placeholder: |
|
||||
1. Sign in to ...
|
||||
2. Open ...
|
||||
3. Click ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log
|
||||
attributes:
|
||||
label: Log
|
||||
description: >
|
||||
The relevant lines from the log file, or the error text. **Remove tenant
|
||||
identifiers, user names, access tokens and secrets before pasting.** If
|
||||
an exported policy file is needed, redact it or use one from a lab tenant.
|
||||
render: text
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,17 @@
|
||||
# Turns off the "open a blank issue" escape hatch, so every report arrives
|
||||
# through a form with the fields that make it answerable. Questions go to
|
||||
# Discussions, which is where most of them already end up.
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Question, or not sure it is a bug
|
||||
url: https://github.com/Micke-K/IntuneManagement/discussions/categories/q-a
|
||||
about: Ask in Q&A. Most "it does not show my policies" reports are answered there in a day.
|
||||
- name: Feature idea worth discussing first
|
||||
url: https://github.com/Micke-K/IntuneManagement/discussions/categories/ideas
|
||||
about: Ideas that are still taking shape belong here. A concrete request can go straight to an issue.
|
||||
- name: Version 4.0 beta feedback
|
||||
url: https://github.com/Micke-K/IntuneManagement/discussions/categories/announcements
|
||||
about: Testing the 4.0 beta? Start at the pinned announcement, which lists what to try first.
|
||||
- name: Security vulnerability
|
||||
url: https://github.com/Micke-K/IntuneManagement/security/advisories/new
|
||||
about: Never report a security problem in a public issue. Use private reporting.
|
||||
@@ -0,0 +1,71 @@
|
||||
name: Feature request
|
||||
description: Something the application should do and does not.
|
||||
title: "[Request] "
|
||||
labels: ["enhancement", "needs-triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If the idea is still taking shape, [Ideas in
|
||||
Discussions](https://github.com/Micke-K/IntuneManagement/discussions/categories/ideas)
|
||||
is the better room. Use this form when you can describe the outcome you
|
||||
want.
|
||||
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Which version is this for?
|
||||
description: >
|
||||
This one is read by a human, not by automation, so say what you mean.
|
||||
A request that 4.0 already covers is worth checking against the release
|
||||
notes first.
|
||||
options:
|
||||
- Version 4.0
|
||||
- Version 3.x
|
||||
- Either
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: What are you trying to do?
|
||||
description: >
|
||||
The situation, not the solution. "I move policies between two tenants
|
||||
every month and have to redo the assignments by hand" tells more than
|
||||
"add a button".
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposal
|
||||
attributes:
|
||||
label: What would you like it to do?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: workaround
|
||||
attributes:
|
||||
label: How do you handle it today?
|
||||
description: Including "not at all", which is useful to know.
|
||||
|
||||
- type: dropdown
|
||||
id: area
|
||||
attributes:
|
||||
label: Which part of the application?
|
||||
options:
|
||||
- Export
|
||||
- Import
|
||||
- Copy
|
||||
- Compare
|
||||
- Documentation output
|
||||
- Assignments, groups or filters
|
||||
- Bulk operations
|
||||
- ADMX or tools
|
||||
- The user interface
|
||||
- Automation through the PowerShell commands
|
||||
- A policy type that is not supported yet
|
||||
- Something else
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,47 @@
|
||||
<!--
|
||||
Target branch
|
||||
|
||||
Fixing version 3? target Development
|
||||
Fixing version 4? target v4
|
||||
|
||||
A pull request opened against the default branch is retargeted to
|
||||
Development before review. Use the Edit button next to the title.
|
||||
-->
|
||||
|
||||
<!--
|
||||
How version 4 changes are applied during the beta
|
||||
|
||||
Version 4 is developed elsewhere and the v4 branch is published as one
|
||||
snapshot per release, not as a running history. An accepted change is
|
||||
applied upstream and appears in the next release, so your commit will not
|
||||
show up in this branch. You are credited in the release notes instead.
|
||||
Nothing is lost, and nothing needs doing on your side.
|
||||
-->
|
||||
|
||||
## What does this change?
|
||||
|
||||
<!-- One or two sentences. What was wrong, or what is now possible. -->
|
||||
|
||||
## Related issue
|
||||
|
||||
<!-- "Fixes #123", or "none" if there isn't one. -->
|
||||
|
||||
## How was it tested?
|
||||
|
||||
<!--
|
||||
Which version, which cloud, and which operating system, since 4.0 runs on
|
||||
three. If it touches sign-in, say which method you used: embedded window,
|
||||
Web Account Manager, system browser, device code, or an application identity.
|
||||
-->
|
||||
|
||||
- Version:
|
||||
- Cloud:
|
||||
- Operating system and PowerShell version:
|
||||
- Tests run:
|
||||
|
||||
## Anything a reviewer should know
|
||||
|
||||
<!--
|
||||
Behaviour that changes for existing users, a setting that moves, a file format
|
||||
that shifts. Say so here rather than leaving it to be discovered.
|
||||
-->
|
||||
@@ -8,5 +8,8 @@
|
||||
/*.new
|
||||
/*.old
|
||||
/Extensions/*.zip
|
||||
Extensions_dev/
|
||||
.gitignore
|
||||
CloudAPIPowerShellManagement.log
|
||||
AGENTS.md
|
||||
CLAUDE.md
|
||||
|
||||
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.
@@ -12,7 +12,7 @@
|
||||
RootModule = 'CloudAPIPowerShellManagement.psm1'
|
||||
|
||||
# Version number of this module.
|
||||
ModuleVersion = '3.9.7'
|
||||
ModuleVersion = '3.11.0'
|
||||
|
||||
# Supported PSEditions
|
||||
# CompatiblePSEditions = @()
|
||||
|
||||
@@ -85,7 +85,12 @@ function Initialize-CloudAPIManagement
|
||||
[string]
|
||||
$secret,
|
||||
[string]
|
||||
$certificate
|
||||
$certificate,
|
||||
[string]
|
||||
$GraphEnvironment,
|
||||
[string]
|
||||
$GCCType
|
||||
|
||||
)
|
||||
|
||||
$PSModuleAutoloadingPreference = "none"
|
||||
@@ -102,10 +107,57 @@ function Initialize-CloudAPIManagement
|
||||
|
||||
if($tenantId)
|
||||
{
|
||||
Write-Host "Using Tenant Id: $tenantId"
|
||||
$global:AzureAppId = $appId
|
||||
$global:ClientSecret = $secret
|
||||
$global:ClientCert = $certificate
|
||||
$global:UseGraphEnvironment = $GraphEnvironment
|
||||
$global:UseGCCType = $GCCType
|
||||
|
||||
if($global:AzureAppId)
|
||||
{
|
||||
Write-Host "Using Azure App Id: $($global:AzureAppId)"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Warning "Azure App Id is missing. Use -AppId <AppID> on the command line"
|
||||
}
|
||||
|
||||
if($global:ClientSecret -or $global:ClientCert)
|
||||
{
|
||||
if($global:ClientSecret)
|
||||
{
|
||||
Write-Host "Using Azure App Secret"
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "Using Azure App Certificate"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Warning "Azure App Secret or Certificate is missing. Use -Secret <Secret> or -Certificate <Certificate> on the command line"
|
||||
}
|
||||
|
||||
if($global:UseGraphEnvironment)
|
||||
{
|
||||
Write-Host "Using Azure Graph Environment: $($global:UseGraphEnvironment)"
|
||||
}
|
||||
|
||||
if($global:UseGCCType)
|
||||
{
|
||||
Write-Host "Using Graph Environment type: $($global:UseGCCType)"
|
||||
}
|
||||
}
|
||||
elseif($secret)
|
||||
{
|
||||
$global:ClientSecret = $secret
|
||||
}
|
||||
if($certificate)
|
||||
{
|
||||
$global:ClientCert = $certificate
|
||||
}
|
||||
|
||||
|
||||
if($global:hideUI -ne $true)
|
||||
{
|
||||
|
||||
@@ -86,8 +86,12 @@ function Start-CoreApp
|
||||
Write-Log "#####################################################################################"
|
||||
|
||||
Write-Log "PowerShell version: $($PSVersionTable.PSVersion.ToString())"
|
||||
if($PSVersionTable.BuildVersion) {
|
||||
Write-Log "PowerShell build: $($PSVersionTable.BuildVersion.ToString())"
|
||||
}
|
||||
if($PSVersionTable.CLRVersion) {
|
||||
Write-Log "PowerShell CLR: $($PSVersionTable.CLRVersion.ToString())"
|
||||
}
|
||||
Write-Log "PowerShell edition: $($PSVersionTable.PSEdition)"
|
||||
|
||||
try
|
||||
@@ -344,6 +348,14 @@ function Write-LogError
|
||||
}
|
||||
|
||||
Write-Log $Text 3
|
||||
|
||||
if((Get-SettingValue "ShowStackTrace") -eq $true)
|
||||
{
|
||||
Write-Log "Stack trace:`n $($Exception.StackTrace)"
|
||||
|
||||
Write-Log "Script stack trace:`n $($Exception.ScriptStackTrace)"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function Write-Status
|
||||
@@ -648,7 +660,7 @@ function Show-AboutDialog
|
||||
|
||||
Set-XamlProperty $script:dlgAbout "lstModules" "ItemsSource" $loadedItems
|
||||
|
||||
Add-XamlEvent $script:dlgAbout "linkSource" "Add_RequestNavigate" ({ [System.Diagnostics.Process]::Start($_.Uri.AbsoluteUri); $_.Handled = $true })
|
||||
Add-XamlEvent $script:dlgAbout "linkSource" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
|
||||
Show-ModalForm "About" $script:dlgAbout
|
||||
}
|
||||
@@ -665,6 +677,8 @@ function Show-UpdatesDialog
|
||||
Show-ModalObject
|
||||
}
|
||||
|
||||
Add-XamlEvent $script:dlgUpdates "linkSource" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
|
||||
$fileContent = Get-Content -Raw -Path ($global:AppRootFolder + "\ReleaseNotes.md")
|
||||
try
|
||||
{
|
||||
@@ -685,7 +699,11 @@ function Show-UpdatesDialog
|
||||
$params.Add("UseBasicParsing", $true)
|
||||
}
|
||||
|
||||
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/ReleaseNotes.md" @params
|
||||
# The notes at the newest 3.x release tag, never at the default branch: that
|
||||
# branch will carry version 4 once the branches are renamed.
|
||||
$latestVer = Get-LatestGitHubVersion $params
|
||||
$notesRef = if($latestVer) { "?ref=$($latestVer.ToString())" } else { "" }
|
||||
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/ReleaseNotes.md$notesRef" @params
|
||||
if($content)
|
||||
{
|
||||
$txt = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content)))
|
||||
@@ -710,6 +728,37 @@ function Show-UpdatesDialog
|
||||
Show-ModalForm "Release Notes" $script:dlgUpdates -HideButtons
|
||||
}
|
||||
|
||||
# Newest published 3.x release on GitHub, or $null.
|
||||
#
|
||||
# releases/latest answers the newest release of ANY version. The day 4.0.0 is
|
||||
# published it would tell every 3.x installation to upgrade to a breaking
|
||||
# change, and reading the manifest on the default branch stops working once the
|
||||
# branches are renamed for version 4. The releases list filtered to this major
|
||||
# is the one source that survives both. Pre-releases and drafts are skipped.
|
||||
function Get-LatestGitHubVersion
|
||||
{
|
||||
param($Params = @{})
|
||||
|
||||
$latest = $null
|
||||
try
|
||||
{
|
||||
$releases = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/releases?per_page=100" @Params
|
||||
foreach($release in @($releases))
|
||||
{
|
||||
if($release.draft -or $release.prerelease) { continue }
|
||||
$ver = $null
|
||||
try { $ver = [version](([string]$release.tag_name) -replace '^v','') } catch { continue }
|
||||
if($ver.Major -ne 3) { continue }
|
||||
if($null -eq $latest -or $ver -gt $latest) { $latest = $ver }
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Log "Failed to list GitHub releases: $($_.Exception.Message)" 2
|
||||
}
|
||||
return $latest
|
||||
}
|
||||
|
||||
function Get-IsLatestVersion
|
||||
{
|
||||
if($global:MainAppStarted -ne $true)
|
||||
@@ -728,35 +777,7 @@ function Get-IsLatestVersion
|
||||
$params.Add("UseBasicParsing", $true)
|
||||
}
|
||||
|
||||
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/releases/latest" @params
|
||||
if($content.Name)
|
||||
{
|
||||
try
|
||||
{
|
||||
$gitHubVer = [version]$content.Name
|
||||
}
|
||||
catch {}
|
||||
}
|
||||
|
||||
if($null -eq $gitHubVer)
|
||||
{
|
||||
$params = @{}
|
||||
$proxyURI = Get-ProxyURI
|
||||
if($proxyURI)
|
||||
{
|
||||
$params.Add("proxy", $proxyURI)
|
||||
$params.Add("UseBasicParsing", $true)
|
||||
}
|
||||
|
||||
$content = Invoke-RestMethod "https://api.github.com/repos/Micke-K/IntuneManagement/contents/CloudAPIPowerShellManagement.psd1" @params
|
||||
$gitHubText = [System.Text.Encoding]::UTF8.GetString(([System.Convert]::FromBase64String($content.content)))
|
||||
$gitHubInfo = Get-ModuleDataTable $gitHubText
|
||||
try
|
||||
{
|
||||
$gitHubVer = [version]$gitHubInfo.ModuleVersion
|
||||
}
|
||||
catch {}
|
||||
}
|
||||
$gitHubVer = Get-LatestGitHubVersion $params
|
||||
|
||||
if(-not $gitHubVer)
|
||||
{
|
||||
@@ -1069,7 +1090,7 @@ function Get-Folder
|
||||
{
|
||||
if($global:WindowsAPICodePackLoaded -eq $false)
|
||||
{
|
||||
$apiCodec = Join-Path $global:AppRootFolder "Microsoft.WindowsAPICodePack.Shell.dll"
|
||||
$apiCodec = Join-Path $global:AppRootFolder "Bin\Microsoft.WindowsAPICodePack.Shell.dll"
|
||||
if([IO.File]::Exists($apiCodec))
|
||||
{
|
||||
Add-Type -Path $apiCodec | Out-Null
|
||||
@@ -1100,7 +1121,7 @@ function Get-Folder
|
||||
{
|
||||
$dlgCOFD.InitialDirectory = $path
|
||||
}
|
||||
if($dlgCOFD.ShowDialog($window) = [Microsoft.WindowsAPICodePack.Dialogs.CommonFileDialogResult]::Ok)
|
||||
if($dlgCOFD.ShowDialog($window) -eq [Microsoft.WindowsAPICodePack.Dialogs.CommonFileDialogResult]::Ok)
|
||||
{
|
||||
$dlgCofd.FileName
|
||||
}
|
||||
@@ -1398,7 +1419,7 @@ function Remove-Setting
|
||||
try
|
||||
{
|
||||
$temp = Get-Item -LiteralPath $regPath -ErrorAction SilentlyContinue
|
||||
if(($temp.Property -contains $Key))
|
||||
if(($temp -and $temp.Property -contains $Key))
|
||||
{
|
||||
Remove-ItemProperty -Path $regPath -Name $Key -Force -ErrorAction Stop
|
||||
}
|
||||
@@ -1412,7 +1433,7 @@ function Remove-Setting
|
||||
|
||||
function Get-Setting
|
||||
{
|
||||
param($SubPath = "", $Key = "", $defautValue)
|
||||
param($SubPath = "", $Key = "", $defaultValue)
|
||||
|
||||
if(-not $key)
|
||||
{
|
||||
@@ -1477,7 +1498,7 @@ function Get-Setting
|
||||
|
||||
if(-not $val)
|
||||
{
|
||||
$defautValue
|
||||
$defaultValue
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1700,7 +1721,11 @@ function Add-SettingsItem
|
||||
{
|
||||
if($settingValue.Description)
|
||||
{
|
||||
$descriptionInfo = "<Rectangle Style=`"{DynamicResource InfoIcon}`" ToolTip=`"$($settingValue.Description)`" Margin=`"5,0,0,0`" />"
|
||||
$descriptionInfo = "<Rectangle Style=`"{DynamicResource InfoIcon}`" Margin=`"5,0,0,0`">" +
|
||||
"<Rectangle.ToolTip><TextBlock>" +
|
||||
$settingValue.Description +
|
||||
"</TextBlock></Rectangle.ToolTip>" +
|
||||
"</Rectangle>"
|
||||
}
|
||||
|
||||
$xaml = @"
|
||||
@@ -1990,6 +2015,14 @@ function Add-DefaultSettings
|
||||
DefaultValue = $true
|
||||
}) "General"
|
||||
|
||||
Add-SettingsObject (New-Object PSObject -Property @{
|
||||
Title = "Show stack error"
|
||||
Key = "ShowStackTrace"
|
||||
Type = "Boolean"
|
||||
Description = "Write exception stack trace info to the log."
|
||||
DefaultValue = $false
|
||||
}) "General"
|
||||
|
||||
Add-SettingsObject (New-Object PSObject -Property @{
|
||||
Title = "Debug"
|
||||
Key = "Debug"
|
||||
@@ -2461,9 +2494,9 @@ function Get-MainWindow
|
||||
{
|
||||
$script:welcomeForm = Get-XamlObject ($global:AppRootFolder + "\Xaml\Welcome.xaml") -AddVariables
|
||||
|
||||
Add-XamlEvent $script:welcomeForm "gitHubLink" "Add_RequestNavigate" ({ [System.Diagnostics.Process]::Start($_.Uri.AbsoluteUri); $_.Handled = $true })
|
||||
Add-XamlEvent $script:welcomeForm "licenseLink" "Add_RequestNavigate" ({ [System.Diagnostics.Process]::Start($_.Uri.AbsoluteUri); $_.Handled = $true })
|
||||
Add-XamlEvent $script:welcomeForm "addCustomApp" "Add_RequestNavigate" ({ [System.Diagnostics.Process]::Start($_.Uri.AbsoluteUri); $_.Handled = $true })
|
||||
Add-XamlEvent $script:welcomeForm "gitHubLink" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
Add-XamlEvent $script:welcomeForm "licenseLink" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
Add-XamlEvent $script:welcomeForm "addCustomApp" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
|
||||
Add-XamlEvent $script:welcomeForm "chkAcceptConditions" "add_click" {
|
||||
$global:btnAcceptConditions.IsEnabled = ($this.IsChecked -eq $true)
|
||||
@@ -2498,7 +2531,7 @@ function Get-MainWindow
|
||||
if($appIdChangeInformed -ne "true") {
|
||||
$script:oldAzureAppForm = Get-XamlObject ($global:AppRootFolder + "\Xaml\OldAzureApp.xaml")
|
||||
|
||||
Add-XamlEvent $script:oldAzureAppForm "addCustomApp" "Add_RequestNavigate" ({ [System.Diagnostics.Process]::Start($_.Uri.AbsoluteUri); $_.Handled = $true })
|
||||
Add-XamlEvent $script:oldAzureAppForm "addCustomApp" "Add_RequestNavigate" ({ Start-Process $_.Uri.AbsoluteUri; $_.Handled = $true })
|
||||
|
||||
Add-XamlEvent $script:oldAzureAppForm "btnOK" "add_click" {
|
||||
if((Get-XamlProperty $script:oldAzureAppForm "chkChangeApp" "IsChecked") -eq $true) {
|
||||
@@ -2737,6 +2770,27 @@ function Format-XML
|
||||
$StringWriter.ToString()
|
||||
}
|
||||
|
||||
function Update-XmlFormatting {
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory, ValueFromPipeline)]
|
||||
[string]$Xml
|
||||
)
|
||||
process {
|
||||
|
||||
$Xml = $Xml -replace '<([^\s/>]+)([^>]*)\s/>' , '<$1$2/>'
|
||||
|
||||
$Xml = ($Xml -split "`r?`n") |
|
||||
Where-Object { $_.Trim().Length -gt 0 } |
|
||||
ForEach-Object { $_ } |
|
||||
Out-String
|
||||
|
||||
$Xml = $Xml -replace "`r`n", "`n"
|
||||
|
||||
return $Xml.Trim()
|
||||
}
|
||||
}
|
||||
|
||||
function Show-LogView
|
||||
{
|
||||
if($script:LogViewObject -and -not $script:LogViewObject.ViewPanel)
|
||||
@@ -2890,6 +2944,19 @@ function Get-DataGridValues
|
||||
($dataGrid.ItemsSource | Select -Property $properties)
|
||||
}
|
||||
|
||||
function Get-GUIDs
|
||||
{
|
||||
param($text)
|
||||
|
||||
$regExpGuid = "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
|
||||
|
||||
$uniqueGuids = New-Object System.Collections.Generic.HashSet[String]
|
||||
|
||||
# Use regular expressions to extract the GUIDs
|
||||
[regex]::Matches($text, $regExpGuid) | ForEach-Object { $uniqueGuids.Add($_.Value) | Out-Null }
|
||||
|
||||
$uniqueGuids
|
||||
}
|
||||
|
||||
New-Alias -Name ?? -value Invoke-Coalesce
|
||||
New-Alias -Name ?: -value Invoke-IfTrue
|
||||
|
||||
@@ -101,6 +101,75 @@ The json files contains a definition of each property to document. This includes
|
||||
|
||||
The `DocumentationCustom.psm1` file also takes care of custom documentation for some object types e.g. Conditional Access. App Configuration policies etc. These objects are documented via a PowerShell function in the script.
|
||||
|
||||
**dataTypes Reference**
|
||||
|
||||
The following `dataType` values are supported in property-based ObjectInfo json files:
|
||||
|
||||
| Value | Name | Description |
|
||||
|---|---|---|
|
||||
| `0` | Boolean | Translated via the `booleanActions` field |
|
||||
| `1` | Base64 | Certificate or binary data decoded to a UTF-8 string; filename used if `filenameEntityKey` is set |
|
||||
| `2` | Multiline String | Multiline text or XML decoded from Base64 if needed; stored to a payload file if `filenameEntityKey` is set |
|
||||
| `3` | Image | Binary image; outputs "Image file" when a value is present |
|
||||
| `4` | Linked Certificate | Certificate resolved via OData navigation link |
|
||||
| `5` | Complex Options | Iterates child `complexOptions` as a sub-section |
|
||||
| `6` | Complex Option (sub-property) | Iterates `complexOptions` resolved via `entityKey` sub-property |
|
||||
| `7` | OMA DateTime | Raw OMA DateTime string |
|
||||
| `8` | Sub-category | Sets the current sub-category label from `nameResourceKey` |
|
||||
| `9` | Label / OData Type | Skipped — UI label or `@odata.type` property |
|
||||
| `10` | Information Box | Skipped — UI-only information box |
|
||||
| `11` | App Picker | Application picker |
|
||||
| `12` | Multiline String Array | Array of strings joined with the object separator |
|
||||
| `13` | Multi Option | Multiple selection; translated via `Invoke-TranslateMultiOption` |
|
||||
| `14` | Int32 | 32-bit integer |
|
||||
| `15` | Int64 | 64-bit integer |
|
||||
| `16` | Option | Single-select option; translated via `Invoke-TranslateOption` |
|
||||
| `19` | Option (variant) | Single-select option; translated via `Invoke-TranslateOption` |
|
||||
| `20` | String | Plain string |
|
||||
| `21` | Table | Sub-table; translated via `Invoke-TranslateTable` |
|
||||
| `22` | Scale Value | Numeric value combined with a unit from `scaleOptions` (e.g. "4 Years") |
|
||||
| `99` | Reserved | No-op placeholder |
|
||||
| `100` | Duration | Custom `Edm.Duration` formatting via `Invoke-TranslateDuration` |
|
||||
| `101` | Static Label | Language string taken from the `value` field |
|
||||
| `102` | Culture Name | Language/culture name string |
|
||||
| `103` | Boolean (hide on false) | Boolean via `booleanActions`; hides child properties when `false` |
|
||||
| `104` | Multi Option Boolean | Multi-option via boolean; hides children when `false` |
|
||||
| `105` | Multi Option Boolean (inverted) | Like `104` but treats `false` as the selected state |
|
||||
| `106` | Language Array | Array of culture/language names joined with the object separator |
|
||||
| `107` | Static Value | Literal string taken directly from the `value` field |
|
||||
| `108` | String with Format | String formatted using the `formatStringKey` language template |
|
||||
| `200` | Multi Option (language key) | Translated string looked up via `entityKey` as a language string ID |
|
||||
|
||||
**booleanActions Reference**
|
||||
|
||||
The `booleanActions` field controls the text shown for `true`/`false` values when `dataType` is `0`, `103`, `104`, or `105`.
|
||||
|
||||
Values `0`–`9` and `107`–`108` only display a custom label when `true`; a `false` value falls through to *Not Configured*.
|
||||
|
||||
| Value | `true` → | `false` → |
|
||||
|---|---|---|
|
||||
| `0` | Allow | *(Not Configured)* |
|
||||
| `1` | Require | *(Not Configured)* |
|
||||
| `2` | Enable | *(Not Configured)* |
|
||||
| `3` | Block | *(Not Configured)* |
|
||||
| `4` | Configured | *(Not Configured)* |
|
||||
| `5` | Disable | *(Not Configured)* |
|
||||
| `6` | Limit | *(Not Configured)* |
|
||||
| `7` | Show | *(Not Configured)* |
|
||||
| `8` | Hide | *(Not Configured)* |
|
||||
| `9` | Yes | *(Not Configured)* |
|
||||
| `100` | Block | Allow |
|
||||
| `101` | Require | Not Required |
|
||||
| `102` | Enable | Disable |
|
||||
| `107` | Show | *(Not Configured)* |
|
||||
| `108` | Hide | *(Not Configured)* |
|
||||
| `109` | Yes | No |
|
||||
| `110` | No | Yes |
|
||||
| `120` | On | Off |
|
||||
| `200` | Allow | Block |
|
||||
| `201` | Not Required | Require |
|
||||
| `220` | Off | On |
|
||||
|
||||
**Language Support**
|
||||
|
||||
The Settings based objects get their language strings from Graph APIs with a few exceptions.
|
||||
|
||||
@@ -151,5 +151,7 @@
|
||||
"149": "WiredNetwork",
|
||||
"150": "DefenderAntivirus",
|
||||
"151": "CustomCompliance",
|
||||
"152": "IosDefenderAtp"
|
||||
"152": "IosDefenderAtp",
|
||||
"153": "WSLCompliance",
|
||||
"154": "WindowsZtdns"
|
||||
}
|
||||
|
||||
@@ -314,6 +314,15 @@
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.androidWorkProfileMigrationConfiguration",
|
||||
"PolicyType": "AndroidForWorkMigrationPolicy",
|
||||
"PolicyTypeLanguageId": "androidForWorkMigrationPolicy",
|
||||
"PlatformLanguageId": "AndroidForWork",
|
||||
"Categories": [
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.androidForWorkVpnConfiguration",
|
||||
"PolicyType": "AndroidForWorkVpn",
|
||||
@@ -470,7 +479,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.hardwareConfiguration",
|
||||
"ObjectType": "#microsoft.graph.hardwareConfigurations",
|
||||
"PolicyType": "HardwareConfigurations",
|
||||
"PolicyTypeLanguageId": "hardwareConfigurations",
|
||||
"PlatformLanguageId": "Windows10",
|
||||
@@ -625,6 +634,15 @@
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.iosWiredNetworkConfiguration",
|
||||
"PolicyType": "IosWiredNetwork",
|
||||
"PolicyTypeLanguageId": "wiredNetwork",
|
||||
"PlatformLanguageId": "Ios",
|
||||
"Categories": [
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.iosEnterpriseWiFiConfiguration",
|
||||
"PolicyType": "IosWiFi",
|
||||
@@ -1197,6 +1215,15 @@
|
||||
"HealthMonitoring"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.windowsZtdnsConfiguration",
|
||||
"PolicyType": "Windows10Ztdns",
|
||||
"PolicyTypeLanguageId": "windowsZeroTrustDns",
|
||||
"PlatformLanguageId": "Windows10",
|
||||
"Categories": [
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"ObjectType": "#microsoft.graph.windows10XWifiConfiguration",
|
||||
"PolicyType": "Windows10XWifi",
|
||||
|
||||
@@ -855,22 +855,124 @@
|
||||
]
|
||||
},
|
||||
"complexOptions": [
|
||||
{
|
||||
"nameResourceKey": "Win32Program.installerTypeText",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "installerType",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"Children": [
|
||||
{
|
||||
"nameResourceKey": "Win32Program.installCommand",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "installCommandLine",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"Condition": {
|
||||
"Expressions": [
|
||||
{
|
||||
"property": "installCommandLine"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "Win32Program.installScript",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "activeInstallScript",
|
||||
"dataType": 6,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"complexOptions": [
|
||||
{
|
||||
"nameResourceKey": "TableHeaders.scriptName",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "scriptName",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "Win32Requirements.AdditionalRequirements.Script.enforceSignatureCheck",
|
||||
"descriptionResourceKey": "Win32Requirements.AdditionalRequirements.Script.enforceSignatureCheckTooltip",
|
||||
"entityKey": "enforceSignatureCheck",
|
||||
"dataType": 0,
|
||||
"booleanActions": 109,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "DetectionRules.CustomScript.runAs32Bit",
|
||||
"descriptionResourceKey": "DetectionRules.CustomScript.runAs32BitTooltip",
|
||||
"entityKey": "runAs32Bit",
|
||||
"dataType": 0,
|
||||
"booleanActions": 109,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "Win32Program.uninstallerTypeText",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "uninstallerType",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"Children": [
|
||||
{
|
||||
"nameResourceKey": "Win32Program.uninstallCommand",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "uninstallCommandLine",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"Condition": {
|
||||
"Expressions": [
|
||||
{
|
||||
"property": "uninstallCommandLine"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "Win32Program.uninstallScript",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "activeUninstallScript",
|
||||
"dataType": 6,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel",
|
||||
"complexOptions": [
|
||||
{
|
||||
"nameResourceKey": "TableHeaders.scriptName",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "scriptName",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "Win32Requirements.AdditionalRequirements.Script.enforceSignatureCheck",
|
||||
"descriptionResourceKey": "Win32Requirements.AdditionalRequirements.Script.enforceSignatureCheckTooltip",
|
||||
"entityKey": "enforceSignatureCheck",
|
||||
"dataType": 0,
|
||||
"booleanActions": 109,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "DetectionRules.CustomScript.runAs32Bit",
|
||||
"descriptionResourceKey": "DetectionRules.CustomScript.runAs32BitTooltip",
|
||||
"entityKey": "runAs32Bit",
|
||||
"dataType": 0,
|
||||
"booleanActions": 109,
|
||||
"category": "Win32Program.selectorLabel"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "",
|
||||
"descriptionResourceKey": "",
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"nameResourceKey": "TableHeaders.configurationType",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "PolicyType.hardwareConfigurations",
|
||||
"dataType": 200,
|
||||
"booleanActions": 0,
|
||||
"category": 1000
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "HardwareConfig.Settings.Tab.Configurations.hardware",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "vendor",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "SettingDetails.configurations"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "HardwareConfig.Settings.Tab.Configurations.perDevicePassword",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "perDevicePasswordDisabled",
|
||||
"dataType": 109,
|
||||
"booleanActions": 9,
|
||||
"category": "SettingDetails.configurations"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "HardwareConfig.Settings.Tab.Configurations.file",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "fileName",
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "SettingDetails.configurations"
|
||||
}
|
||||
]
|
||||
+39
-5
@@ -11,14 +11,22 @@
|
||||
"nameResourceKey": "EnrollmentStatusScreen.progressToggle",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "showInstallationProgress",
|
||||
"dataType": 0,
|
||||
"dataType": 16,
|
||||
"booleanActions": 109,
|
||||
"category": "TableHeaders.settings"
|
||||
"category": "TableHeaders.settings",
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "SettingDetails.no",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "BooleanActions.yes",
|
||||
"value": "true",
|
||||
"Children": [
|
||||
{
|
||||
"nameResourceKey": "EnrollmentStatusScreen.timeout",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "installProgressTimeoutInMinutes",
|
||||
"entityKey": "InstallProgressTimeout",
|
||||
"dataType": 14,
|
||||
"booleanActions": 0,
|
||||
"category": "TableHeaders.settings"
|
||||
@@ -27,10 +35,18 @@
|
||||
"nameResourceKey": "EnrollmentStatusScreen.customMessageToggle",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "showCustomErrorMessage",
|
||||
"dataType": 0,
|
||||
"dataType": 16,
|
||||
"booleanActions": 109,
|
||||
"category": "TableHeaders.settings"
|
||||
"category": "TableHeaders.settings",
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "SettingDetails.no",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "BooleanActions.yes",
|
||||
"value": "true",
|
||||
"Children": [
|
||||
{
|
||||
"nameResourceKey": "EnrollmentStatusScreen.customMessageTextBox",
|
||||
"descriptionResourceKey": "",
|
||||
@@ -38,6 +54,10 @@
|
||||
"dataType": 20,
|
||||
"booleanActions": 0,
|
||||
"category": "TableHeaders.settings"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "EnrollmentStatusScreen.collectLogToggle",
|
||||
@@ -93,10 +113,24 @@
|
||||
"entityKey": "waitForApps",
|
||||
"dataType": 14,
|
||||
"booleanActions": 0,
|
||||
"category": "TableHeaders.settings",
|
||||
"Children": [
|
||||
{
|
||||
"nameResourceKey": "EnrollmentStatusScreen.Apps.allowNonBlockingAppInstallation",
|
||||
"descriptionResourceKey": "",
|
||||
"entityKey": "allowNonBlockingAppInstallation",
|
||||
"dataType": 0,
|
||||
"booleanActions": 109,
|
||||
"category": "TableHeaders.settings"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
+27
-11
@@ -85,11 +85,37 @@
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 0,
|
||||
"dataType": 16,
|
||||
"category": 2,
|
||||
"nameResourceKey": "publicPlayStoreEnabledName",
|
||||
"descriptionResourceKey": "publicPlayStoreEnabledDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "publicPlayStoreSelectionNotConfigured",
|
||||
"value": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "publicPlayStoreSelectionAllowList",
|
||||
"value": "allowList",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "publicPlayStoreSelectionBlockList",
|
||||
"value": "blockList",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "playStoreMode",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "notConfigured",
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 2,
|
||||
@@ -103,16 +129,6 @@
|
||||
"booleanActions": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "publicPlayStoreEnabled",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
{
|
||||
"customcompliance_compliancewindows10": {
|
||||
"dataType": 0,
|
||||
"category": 151,
|
||||
"nameResourceKey": "AdminConfiguredComplianceSettingName",
|
||||
"descriptionResourceKey": "CustomComplianceToolTip",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 25,
|
||||
"category": 151,
|
||||
"childSettings": [
|
||||
@@ -8,8 +14,19 @@
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customCompliance",
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customComplianceRequired",
|
||||
"booleanActions": 1,
|
||||
"defaultValue": false,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,9 @@
|
||||
{
|
||||
"deviceexperience_androiddeviceownergeneral": {
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 46,
|
||||
"nameResourceKey": "fullyManagedAndDedicatedAndroidEnrollmentTypesHeaderName",
|
||||
"descriptionResourceKey": "fullyManagedAndDedicatedAndroidEnrollmentTypesHeaderDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -22,7 +14,7 @@
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeDedicatedDevice",
|
||||
"nameResourceKey": "deviceExperienceTypeKioskMode",
|
||||
"value": "dedicatedDevice",
|
||||
"children": [
|
||||
{
|
||||
@@ -75,6 +67,20 @@
|
||||
"nameResourceKey": "kioskModeSingle",
|
||||
"value": "singleAppMode",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 46,
|
||||
"nameResourceKey": "kioskSingleInfoBoxText",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
@@ -311,7 +317,7 @@
|
||||
"descriptionResourceKey": "kioskDropOutDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"dataType": 17,
|
||||
"category": 46,
|
||||
"nameResourceKey": "kioskModeExitCodeName",
|
||||
"descriptionResourceKey": "kioskModeExitCodeDescription",
|
||||
@@ -544,7 +550,6 @@
|
||||
],
|
||||
"entityKey": "kioskModeScreenSaverDisplayTimeInSeconds",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -562,7 +567,6 @@
|
||||
],
|
||||
"entityKey": "kioskModeScreenSaverStartDelayInSeconds",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 30,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -593,6 +597,14 @@
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 46,
|
||||
"nameResourceKey": "dedicatedAndroidEnrollmentTypesHeaderName",
|
||||
"descriptionResourceKey": "dedicatedAndroidEnrollmentTypesHeaderDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
@@ -720,7 +732,6 @@
|
||||
],
|
||||
"entityKey": "kioskModeManagedHomeScreenInactiveSignOutDelayInSeconds",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 300,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -738,7 +749,6 @@
|
||||
],
|
||||
"entityKey": "kioskModeManagedHomeScreenInactiveSignOutNoticeInSeconds",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 60,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
}
|
||||
@@ -763,6 +773,14 @@
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
@@ -775,7 +793,7 @@
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManaged",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncher",
|
||||
"value": "fullyManaged",
|
||||
"children": [
|
||||
{
|
||||
@@ -783,7 +801,7 @@
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedConfigureMicrosoftLauncher",
|
||||
"nameResourceKey": "deviceExperienceTypeConfigureMicrosoftLauncher",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -797,8 +815,8 @@
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMakeMicrosoftLauncherDefaultName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMakeMicrosoftLauncherDefaultDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMakeMicrosoftLauncherDefaultName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMakeMicrosoftLauncherDefaultDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -814,15 +832,15 @@
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperUrlName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperUrlDescription",
|
||||
"emptyValueResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperUrlEmptyValueKey",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperUrlName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperUrlDescription",
|
||||
"emptyValueResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperUrlEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -837,8 +855,8 @@
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperAllowUserModifyName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureCustomWallpaperAllowUserModifyDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperAllowUserModifyName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureCustomWallpaperAllowUserModifyDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -864,14 +882,14 @@
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherFeedName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherFeedDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherFeedName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherFeedDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherFeedAllowUserModifyName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherFeedAllowUserModifyDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherFeedAllowUserModifyName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherFeedAllowUserModifyDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -897,14 +915,14 @@
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherDockPresenceName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherDockPresenceDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherDockPresenceName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherDockPresenceDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherDockPresenceAllowUserModifyName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherDockPresenceAllowUserModifyDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherDockPresenceAllowUserModifyName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherDockPresenceAllowUserModifyDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -924,17 +942,17 @@
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureDockPresenceShow",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureDockPresenceShow",
|
||||
"value": "show",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureDockPresenceHide",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureDockPresenceHide",
|
||||
"value": "hide",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureDockPresenceDisabled",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureDockPresenceDisabled",
|
||||
"value": "disabled",
|
||||
"enabled": true
|
||||
}
|
||||
@@ -947,8 +965,8 @@
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 46,
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherSearchBarPlacementName",
|
||||
"descriptionResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureEnableLauncherSearchBarPlacementDescription",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherSearchBarPlacementName",
|
||||
"descriptionResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureEnableLauncherSearchBarPlacementDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -958,17 +976,17 @@
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureSearchBarPlacementTop",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureSearchBarPlacementTop",
|
||||
"value": "top",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureSearchBarPlacementBottom",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureSearchBarPlacementBottom",
|
||||
"value": "bottom",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "enrollmentProfileTypeFullyManagedMicrosoftLauncherConfigureSearchBarPlacementHide",
|
||||
"nameResourceKey": "deviceExperienceTypeMicrosoftLauncherConfigureSearchBarPlacementHide",
|
||||
"value": "hide",
|
||||
"enabled": true
|
||||
}
|
||||
@@ -988,12 +1006,4 @@
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
{
|
||||
"devicehealth_complianceandroiddeviceowner": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 39,
|
||||
"nameResourceKey": "complianceRootedAllowedName",
|
||||
"descriptionResourceKey": "complianceRootedAllowedDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "securityBlockJailbrokenDevices",
|
||||
"booleanActions": 3,
|
||||
"defaultValue": false,
|
||||
"policyType": 31,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 39,
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"dataType": 16,
|
||||
"category": 42,
|
||||
"nameResourceKey": "requiredPasswordTypeName",
|
||||
"descriptionResourceKey": "androidEnterpriseRequiredPasswordTypeDescription",
|
||||
"descriptionResourceKey": "androidEnterpriseConfigurationRequiredPasswordTypeDescription",
|
||||
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"dataType": 16,
|
||||
"category": 42,
|
||||
"nameResourceKey": "requiredPasswordTypeName",
|
||||
"descriptionResourceKey": "androidEnterpriseRequiredPasswordTypeDescription",
|
||||
"descriptionResourceKey": "aospConfigurationRequiredPasswordTypeDescription",
|
||||
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
|
||||
@@ -1150,8 +1150,8 @@
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 44,
|
||||
"nameResourceKey": "dedicatedAndroidEnrollmentTypesHeaderName",
|
||||
"descriptionResourceKey": "dedicatedAndroidEnrollmentTypesHeaderDescription",
|
||||
"nameResourceKey": "fullyManagedAndDedicatedAndroidEnrollmentTypesWithKioskHeaderName",
|
||||
"descriptionResourceKey": "fullyManagedAndDedicatedAndroidEnrollmentTypesWithKioskHeaderDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
@@ -1267,7 +1267,23 @@
|
||||
"defaultValue": false,
|
||||
"policyType": 2,
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 2,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 44,
|
||||
"nameResourceKey": "dedicatedAndroidEnrollmentTypesHeaderName",
|
||||
"descriptionResourceKey": "dedicatedAndroidEnrollmentTypesHeaderDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 44,
|
||||
|
||||
@@ -105,8 +105,8 @@
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 44,
|
||||
"nameResourceKey": "WifiTypeName",
|
||||
"descriptionResourceKey": "WiFiTypeDescription",
|
||||
"nameResourceKey": "wiFiPolicySecurityTypeName",
|
||||
"descriptionResourceKey": "wiFiPolicySecurityTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -274,7 +274,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 9,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -1421,7 +1421,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 9,
|
||||
"enabled": true
|
||||
},
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
{
|
||||
"importedpfx_macimportedpfx": {
|
||||
"importedpfx_macimportedpfx": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 69,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 62,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 69,
|
||||
"nameResourceKey": "PFXImportPolicyIntendedPurpose",
|
||||
@@ -33,4 +60,5 @@
|
||||
"policyType": 62,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,36 +1,5 @@
|
||||
{
|
||||
"password_androidgeneral": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 90,
|
||||
"nameResourceKey": "requireEncryptionName",
|
||||
"descriptionResourceKey": "requireEncryptionDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "storageRequireDeviceEncryption",
|
||||
"booleanActions": 1,
|
||||
"defaultValue": false,
|
||||
"policyType": 20,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 90,
|
||||
"nameResourceKey": "androidTenDeprecationInfoBox",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 20,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
@@ -62,6 +31,23 @@
|
||||
"policyType": 20,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 90,
|
||||
"nameResourceKey": "knoxRequireEncryptionName",
|
||||
"descriptionResourceKey": "requireEncryptionDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "storageRequireDeviceEncryption",
|
||||
"booleanActions": 1,
|
||||
"defaultValue": false,
|
||||
"policyType": 20,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 90,
|
||||
@@ -203,14 +189,14 @@
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 90,
|
||||
"nameResourceKey": "androidNineAndBelowPasswordHeader",
|
||||
"nameResourceKey": "knoxFifteenAndroidNineAndBelowPasswordHeader",
|
||||
"childSettings": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 90,
|
||||
"nameResourceKey": "androidNineAndBelowPasswordHeaderDescription",
|
||||
"nameResourceKey": "knoxFifteenAndroidNineAndBelowPasswordHeaderDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -438,7 +438,7 @@
|
||||
"dataType": 4,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -412,7 +412,7 @@
|
||||
"dataType": 4,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
"dataType": 4,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -438,7 +438,7 @@
|
||||
"dataType": 4,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
{
|
||||
"pkcs_macospkcs": [
|
||||
"pkcs_macospkcs": {
|
||||
"dataType": 16,
|
||||
"category": 93,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 93,
|
||||
@@ -227,6 +239,281 @@
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "certificateStore",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "user",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 93,
|
||||
"nameResourceKey": "MacOSAllowAllAppsAccess",
|
||||
"descriptionResourceKey": "MacOSAllowAllAppsAccess",
|
||||
"emptyValueResourceKey": "macOSAllowAllAppsAccessEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "allowAllAppsAccess",
|
||||
"booleanActions": 2,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicyRenewalThresholdName",
|
||||
"descriptionResourceKey": "sCEPPolicyRenewalThresholdDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "renewalThresholdPercentage",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"scaleOptions": [
|
||||
{
|
||||
"nameResourceKey": "days",
|
||||
"value": "days",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "months",
|
||||
"value": "months",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "years",
|
||||
"value": "years",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"scaleEntityKey": "certificateValidityPeriodScale",
|
||||
"defaultScale": "years",
|
||||
"dataType": 22,
|
||||
"category": 93,
|
||||
"nameResourceKey": "sCEPPolicyCertificateValidityPeriodName",
|
||||
"descriptionResourceKey": "sCEPPolicyCertificateValidityPeriodDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "certificateValidityPeriodValue",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 93,
|
||||
"nameResourceKey": "pKCSPolicyCertificationAuthorityName",
|
||||
"descriptionResourceKey": "pKCSPolicyCertificationAuthorityNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "certificationAuthority",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 93,
|
||||
"nameResourceKey": "pKCSPolicyCertificationAuthorityNameName",
|
||||
"descriptionResourceKey": "pKCSPolicyCertificationAuthorityNameNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "certificationAuthorityName",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 93,
|
||||
"nameResourceKey": "pKCSPolicyCertificateTemplateNameName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "certificateTemplateName",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 93,
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreUser",
|
||||
"value": "user",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 93,
|
||||
"nameResourceKey": "MacOSDeploymentChannelWarningBanner",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": "custom",
|
||||
"dataType": 9,
|
||||
"category": 93,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 93,
|
||||
"nameResourceKey": "SCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "sCEPPolicyCustomSubjectNameWithAadFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{UserName}},E={{EmailAddress}}",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 16,
|
||||
"category": 93,
|
||||
"nameResourceKey": "attribute",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "PolicyEmailAddress",
|
||||
"value": "emailAddress",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUserPrincipalName",
|
||||
"value": "userPrincipalName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyDomainNameService",
|
||||
"value": "domainNameService",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUniversalResourceIdentifier",
|
||||
"value": "universalResourceIdentifier",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyCustomAADAttribute",
|
||||
"value": "customAzureADAttribute",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "sanType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 93,
|
||||
"nameResourceKey": "value",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 93,
|
||||
"nameResourceKey": "PolicySubjectAlternativeName",
|
||||
"descriptionResourceKey": "PolicySubjectAlternativeNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customSubjectAlternativeNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreMachine",
|
||||
@@ -348,7 +635,7 @@
|
||||
],
|
||||
"entityKey": "certificateStore",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "user",
|
||||
"defaultValue": "machine",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -369,5 +656,14 @@
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 64,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -558,7 +558,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
{
|
||||
"scepproperties_macscep": [
|
||||
"scepproperties_macscep": {
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
@@ -120,118 +132,6 @@
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreMachine",
|
||||
"value": "machine",
|
||||
"children": [
|
||||
{
|
||||
"value": "custom",
|
||||
"dataType": 9,
|
||||
"category": 103,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "sCEPPolicySubjectNameFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{AAD_Device_ID}}",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "attribute",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "PolicyEmailAddress",
|
||||
"value": "emailAddress",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUserPrincipalName",
|
||||
"value": "userPrincipalName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyDomainNameService",
|
||||
"value": "domainNameService",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUniversalResourceIdentifier",
|
||||
"value": "universalResourceIdentifier",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "sanType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "value",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 103,
|
||||
"nameResourceKey": "PolicySubjectAlternativeName",
|
||||
"descriptionResourceKey": "PolicySubjectAlternativeNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customSubjectAlternativeNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "certificateStore",
|
||||
@@ -558,7 +458,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -742,5 +642,779 @@
|
||||
"policyType": 63,
|
||||
"enabled": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreUser",
|
||||
"value": "user",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 103,
|
||||
"nameResourceKey": "MacOSDeploymentChannelWarningBanner",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": "custom",
|
||||
"dataType": 9,
|
||||
"category": 103,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "sCEPPolicySubjectNameFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{UserName}},E={{EmailAddress}}",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "attribute",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "PolicyEmailAddress",
|
||||
"value": "emailAddress",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUserPrincipalName",
|
||||
"value": "userPrincipalName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyDomainNameService",
|
||||
"value": "domainNameService",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUniversalResourceIdentifier",
|
||||
"value": "universalResourceIdentifier",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "sanType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "value",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 103,
|
||||
"nameResourceKey": "PolicySubjectAlternativeName",
|
||||
"descriptionResourceKey": "PolicySubjectAlternativeNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customSubjectAlternativeNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "SCEPPolicyWindowsCertificateStoreMachine",
|
||||
"value": "machine",
|
||||
"children": [
|
||||
{
|
||||
"value": "custom",
|
||||
"dataType": 9,
|
||||
"category": 103,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "sCEPPolicySubjectNameFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{AAD_Device_ID}}",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "attribute",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "PolicyEmailAddress",
|
||||
"value": "emailAddress",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUserPrincipalName",
|
||||
"value": "userPrincipalName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyDomainNameService",
|
||||
"value": "domainNameService",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUniversalResourceIdentifier",
|
||||
"value": "universalResourceIdentifier",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "sanType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "value",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 103,
|
||||
"nameResourceKey": "PolicySubjectAlternativeName",
|
||||
"descriptionResourceKey": "PolicySubjectAlternativeNameDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customSubjectAlternativeNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "certificateStore",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "machine",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"scaleOptions": [
|
||||
{
|
||||
"nameResourceKey": "days",
|
||||
"value": "days",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "months",
|
||||
"value": "months",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "years",
|
||||
"value": "years",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"scaleEntityKey": "certificateValidityPeriodScale",
|
||||
"defaultScale": "years",
|
||||
"dataType": 22,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyCertificateValidityPeriodName",
|
||||
"descriptionResourceKey": "sCEPPolicyCertificateValidityPeriodDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "certificateValidityPeriodValue",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonName",
|
||||
"value": "commonName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsEmail",
|
||||
"value": "commonNameAsEmail",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"value": "custom",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"descriptionResourceKey": "sCEPPolicyCustomSubjectNameFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{UserName}},E={{EmailAddress}}",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonName",
|
||||
"value": "commonName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAndEmailAddress",
|
||||
"value": "commonNameIncludingEmail",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsEmail",
|
||||
"value": "commonNameAsEmail",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsIMEI",
|
||||
"value": "commonNameAsIMEI",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsSerialNumber",
|
||||
"value": "commonNameAsSerialNumber",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"value": "custom",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"descriptionResourceKey": "sCEPPolicyCustomSubjectNameFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{UserName}},E={{EmailAddress}}",
|
||||
"policyType": 63,
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonName",
|
||||
"value": "commonName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAndEmailAddress",
|
||||
"value": "commonNameIncludingEmail",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsEmail",
|
||||
"value": "commonNameAsEmail",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsIMEI",
|
||||
"value": "commonNameAsIMEI",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCommonNameAsSerialNumber",
|
||||
"value": "commonNameAsSerialNumber",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"value": "custom",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySubjectNameFormatCustom",
|
||||
"descriptionResourceKey": "sCEPPolicyCustomSubjectNameWithAadFormatDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "subjectNameFormatString",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "CN={{UserName}},E={{EmailAddress}}",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "subjectNameFormat",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 13,
|
||||
"category": 103,
|
||||
"nameResourceKey": "PolicySubjectAlternativeName",
|
||||
"descriptionResourceKey": "PolicySubjectAlternativeNameDescription",
|
||||
"emptyValueResourceKey": "notConfigured",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "PolicyEmailAddress",
|
||||
"value": "emailAddress",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "PolicyUserPrincipalName",
|
||||
"value": "userPrincipalName",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "subjectAlternativeNameType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 13,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyKeyUsageName",
|
||||
"descriptionResourceKey": "sCEPPolicyKeyUsageDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicyUseAsDigitialSignature",
|
||||
"value": "digitalSignature",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "sCEPPolicyUseForKeyEncipherment",
|
||||
"value": "keyEncipherment",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "keyUsage",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyKeySizeName",
|
||||
"descriptionResourceKey": "sCEPPolicyKeySizeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "",
|
||||
"displayText": "1024",
|
||||
"value": "size1024",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "",
|
||||
"displayText": "2048",
|
||||
"value": "size2048",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "",
|
||||
"displayText": "4096",
|
||||
"value": "size4096",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "keySize",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificate",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyExtendedKeyUsageAnyPurposeCloudCaWarning",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "eDPPolicyAppsListNameName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyObjectIdentifierColumnName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "objectIdentifier",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyExtendedKeyUsageName",
|
||||
"descriptionResourceKey": "sCEPPolicyExtendedKeyUsageDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "extendedKeyUsages",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 103,
|
||||
"nameResourceKey": "enrollmentSettingsHeading",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyRenewalThresholdName",
|
||||
"descriptionResourceKey": "sCEPPolicyRenewalThresholdDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "renewalThresholdPercentage",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyServerURLName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "sCEPPolicyServerURLSExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "sCEPPolicyServerURLName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicyServerURLSName",
|
||||
"descriptionResourceKey": "sCEPPolicyServerURLSDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "scepServerUrls",
|
||||
"booleanActions": 0,
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 103,
|
||||
"nameResourceKey": "MacOSAllowAllAppsAccess",
|
||||
"descriptionResourceKey": "MacOSAllowAllAppsAccess",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "allowAllAppsAccess",
|
||||
"booleanActions": 2,
|
||||
"policyType": 63,
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 63,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -501,7 +501,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -501,7 +501,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -278,7 +278,7 @@
|
||||
"dataType": 4,
|
||||
"category": 103,
|
||||
"nameResourceKey": "sCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "SCEPPolicySelectRootCertificateName",
|
||||
"descriptionResourceKey": "sCEPPolicySelectRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -187,51 +187,6 @@
|
||||
"policyType": 29,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 113,
|
||||
"nameResourceKey": "androidTenDeprecationInfoBox",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 29,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 113,
|
||||
"nameResourceKey": "allAndroidVersionsPasswordHeader",
|
||||
"childSettings": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 113,
|
||||
"nameResourceKey": "allAndroidVersionsPasswordHeaderDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 29,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 29,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 113,
|
||||
@@ -370,14 +325,14 @@
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 113,
|
||||
"nameResourceKey": "androidNineAndBelowPasswordHeader",
|
||||
"nameResourceKey": "knoxFifteenAndroidNineAndBelowPasswordHeader",
|
||||
"childSettings": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 113,
|
||||
"nameResourceKey": "androidNineAndBelowPasswordHeaderDescription",
|
||||
"nameResourceKey": "knoxFifteenAndroidNineAndBelowPasswordHeaderDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"dataType": 16,
|
||||
"category": 113,
|
||||
"nameResourceKey": "requiredPasswordTypeName",
|
||||
"descriptionResourceKey": "androidEnterpriseRequiredPasswordTypeDescription",
|
||||
"descriptionResourceKey": "androidEnterpriseComplianceRequiredPasswordTypeDescription",
|
||||
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"dataType": 16,
|
||||
"category": 113,
|
||||
"nameResourceKey": "requiredPasswordTypeName",
|
||||
"descriptionResourceKey": "androidEnterpriseRequiredPasswordTypeDescription",
|
||||
"descriptionResourceKey": "aospComplianceRequiredPasswordTypeDescription",
|
||||
"emptyValueResourceKey": "passwordExpirationInDaysEmptyValueKey",
|
||||
"childSettings": [
|
||||
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
{
|
||||
"trustedcert_mactrustedcertificate": {
|
||||
"trustedcert_mactrustedcertificate": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 115,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 65,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataEntityKey": "trustedRootCertificate",
|
||||
"filenameEntityKey": "certFileName",
|
||||
"dataType": 1,
|
||||
@@ -17,4 +44,5 @@
|
||||
"policyType": 65,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
{
|
||||
"vpn_macvpn": [
|
||||
"vpn_macvpn": {
|
||||
"dataType": 16,
|
||||
"category": 129,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
@@ -483,5 +495,504 @@
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicyConnectionName",
|
||||
"descriptionResourceKey": "vPNPolicyConnectionDescription",
|
||||
"emptyValueResourceKey": "vPNConnectionExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "connectionName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicyServerIPAddressOrFQDNName",
|
||||
"descriptionResourceKey": "vPNPolicyServerIPAddressOrFQDNDescription",
|
||||
"emptyValueResourceKey": "vPNAddressExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "address",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": "server",
|
||||
"dataType": 9,
|
||||
"category": 129,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "description",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
"dataType": 9,
|
||||
"category": 129,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "isDefaultServer",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 6,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicyServerIPAddressOrFQDNName",
|
||||
"descriptionResourceKey": "vPNPolicyServerIPAddressOrFQDNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "server",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 129,
|
||||
"nameResourceKey": "authenticationMethodName",
|
||||
"descriptionResourceKey": "vPNAuthMethodDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectAnAuthenticationMethod",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"value": "certificate",
|
||||
"children": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySelectAClientCertificateName",
|
||||
"descriptionResourceKey": "vPNPolicySelectAClientCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificate",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySelectAClientCertificateName",
|
||||
"descriptionResourceKey": "vPNPolicySelectAClientCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificate",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": false
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 129,
|
||||
"nameResourceKey": "authenticationCertificate",
|
||||
"descriptionResourceKey": "clientCertForClientAuthenticationDescription",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usernameAndPasswordOption",
|
||||
"value": "usernameAndPassword",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicyConnectionTypeName",
|
||||
"descriptionResourceKey": "vPNPolicyConnectionTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectAConnectionType",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "checkPointCapsuleVPNOption",
|
||||
"value": "checkPointCapsuleVpn",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 19,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNName",
|
||||
"descriptionResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "enableOption",
|
||||
"value": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "disableOption",
|
||||
"value": false,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "enableSplitTunneling",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ciscoAnyConnectOption",
|
||||
"value": "ciscoAnyConnect",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 19,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNName",
|
||||
"descriptionResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "enableOption",
|
||||
"value": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "disableOption",
|
||||
"value": false,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "enableSplitTunneling",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "dellSoniceWallMobileConnectOption",
|
||||
"value": "dellSonicWallMobileConnect",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 19,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNName",
|
||||
"descriptionResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "enableOption",
|
||||
"value": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "disableOption",
|
||||
"value": false,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "enableSplitTunneling",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "fFiveEdgeClientOption",
|
||||
"value": "f5EdgeClient",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 19,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNName",
|
||||
"descriptionResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "enableOption",
|
||||
"value": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "disableOption",
|
||||
"value": false,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "enableSplitTunneling",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "netMotionMobilityOption",
|
||||
"value": "netMotionMobility",
|
||||
"children": [
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "keyColumn",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "vPNCustomKeyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "key",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "valueColumn",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "vPNCustomValueExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "value",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNNetMotionMobilityCustomDataDescription",
|
||||
"descriptionResourceKey": "createAttributes",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customData",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "customVPNOption",
|
||||
"value": "customVpn",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNIdentifier",
|
||||
"descriptionResourceKey": "providedByVPNVendor",
|
||||
"emptyValueResourceKey": "vPNIdentifierExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identifier",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "keyColumn",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "vPNCustomKeyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "key",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 129,
|
||||
"nameResourceKey": "valueColumn",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "vPNCustomValueExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "value",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNCustomDataDescription",
|
||||
"descriptionResourceKey": "createAttributes",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "customData",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 19,
|
||||
"category": 129,
|
||||
"nameResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNName",
|
||||
"descriptionResourceKey": "vPNPolicySendAllNetworkTrafficThroughVPNDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "enableOption",
|
||||
"value": true,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "disableOption",
|
||||
"value": false,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "enableSplitTunneling",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "connectionType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 66,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4078,6 +4078,124 @@
|
||||
"defaultValue": false,
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 121,
|
||||
"nameResourceKey": "wiFiPolicySecurityTypeName",
|
||||
"descriptionResourceKey": "wiFiPolicySecurityTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "openOption",
|
||||
"value": "open",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "wEPPSKOption",
|
||||
"value": "wep",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 121,
|
||||
"nameResourceKey": "preSharedKeyName",
|
||||
"descriptionResourceKey": "preSharedKeyDescription",
|
||||
"emptyValueResourceKey": "wifiPasswordExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "preSharedKey",
|
||||
"booleanActions": 0,
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "wPAPSKOption",
|
||||
"value": "wpaPersonal",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 121,
|
||||
"nameResourceKey": "preSharedKeyName",
|
||||
"descriptionResourceKey": "preSharedKeyDescription",
|
||||
"emptyValueResourceKey": "wifiPasswordExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "preSharedKey",
|
||||
"booleanActions": 0,
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "wiFiSecurityType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 121,
|
||||
"nameResourceKey": "wiFiPolicyProxySettingsName",
|
||||
"descriptionResourceKey": "wiFiPolicyProxySettingsDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "noneOption",
|
||||
"value": "none",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "automaticOption",
|
||||
"value": "automatic",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 121,
|
||||
"nameResourceKey": "proxyServerURLName",
|
||||
"descriptionResourceKey": "proxyServerURLDescription",
|
||||
"emptyValueResourceKey": "proxyUrlExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "proxyAutomaticConfigurationUrl",
|
||||
"booleanActions": 0,
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
@@ -4954,7 +5072,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 19,
|
||||
"enabled": true
|
||||
}
|
||||
|
||||
@@ -105,8 +105,8 @@
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 121,
|
||||
"nameResourceKey": "WifiTypeName",
|
||||
"descriptionResourceKey": "WiFiTypeDescription",
|
||||
"nameResourceKey": "wiFiPolicySecurityTypeName",
|
||||
"descriptionResourceKey": "wiFiPolicySecurityTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
@@ -274,7 +274,7 @@
|
||||
"entityKey": "proxySetting",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 124,
|
||||
"enabled": false
|
||||
}
|
||||
@@ -1106,7 +1106,7 @@
|
||||
"entityKey": "proxySetting",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 124,
|
||||
"enabled": false
|
||||
}
|
||||
|
||||
@@ -144,6 +144,54 @@
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "wPA2PersonalOption",
|
||||
"value": "wpa2Personal",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 121,
|
||||
"nameResourceKey": "preSharedKeyName",
|
||||
"descriptionResourceKey": "preSharedKeyDescription",
|
||||
"emptyValueResourceKey": "wifiPasswordExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "preSharedKey",
|
||||
"booleanActions": 0,
|
||||
"policyType": 54,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "wPA3PersonalOption",
|
||||
"value": "wpa3Personal",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 121,
|
||||
"nameResourceKey": "preSharedKeyName",
|
||||
"descriptionResourceKey": "preSharedKeyDescription",
|
||||
"emptyValueResourceKey": "wifiPasswordExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "preSharedKey",
|
||||
"booleanActions": 0,
|
||||
"policyType": 54,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "wEPOption",
|
||||
"value": "wep",
|
||||
@@ -238,7 +286,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 54,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -1494,7 +1542,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 54,
|
||||
"enabled": true
|
||||
},
|
||||
@@ -1940,7 +1988,7 @@
|
||||
"entityKey": "proxySettings",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "none",
|
||||
"unconfiguredValue": "noneOption",
|
||||
"unconfiguredValue": "none",
|
||||
"policyType": 54,
|
||||
"enabled": true
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,909 @@
|
||||
{
|
||||
"windowsztdns_windows10ztdns": [
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsMinimumBuildInfoboxName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 9,
|
||||
"category": 154,
|
||||
"childSettings": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsModeHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsModeSelectionName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "ZtdnsNotConfiguredName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ztdnsModeSelectionAuditName",
|
||||
"value": "true",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ztdnsModeSelectionEnforceName",
|
||||
"value": "false",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsModeWarningName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "auditModeEnabled",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsModeChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDisplayNameName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDisplayNameDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerDisplayNamePlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "displayName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerIpAddressName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerIpAddressDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerIpAddressPlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "ipAddress",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 16,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerTypeName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "ZtdnsNotConfiguredName",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohOptionName",
|
||||
"value": "doh",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohHeaderName",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohUrlName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDohUrlDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerDohUrlPlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohQueryUrl",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohPortName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDohPortDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohHttpsPort",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 443,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotOptionName",
|
||||
"value": "dot",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotHeaderName",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotHostnameName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDotHostnameDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerDotHostnamePlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotCertificateSubjectName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotPortName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDotPortDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotTlsPort",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 853,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohAndDotOptionName",
|
||||
"value": "dohAndDot",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohHeaderName",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohUrlName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDohUrlDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerDohUrlPlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohQueryUrl",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohPortName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDohPortDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohHttpsPort",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 443,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotHeaderName",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotHostnameName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDotHostnameDescription",
|
||||
"emptyValueResourceKey": "ztdnsSecureDnsServerDotHostnamePlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotCertificateSubjectName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotPortName",
|
||||
"descriptionResourceKey": "ztdnsSecureDnsServerDotPortDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotTlsPort",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 853,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "serverType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotHostnameName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotCertificateSubjectName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDotPortName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dotTlsPort",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohUrlName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohQueryUrl",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerDohPortName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "dohHttpsPort",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "secureDnsServers",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsSecureDnsServerChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsTrustedCAHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsServerRootCertificateHeader",
|
||||
"descriptionResourceKey": "ztdnsRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsServerRootCertificateHeader",
|
||||
"descriptionResourceKey": "ztdnsRootCertificateDescription",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsTrustedCAChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRulesHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRuleDisplayNameName",
|
||||
"emptyValueResourceKey": "ztdnsExemptionRuleDisplayNamePlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "displayName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRuleIpAddressName",
|
||||
"emptyValueResourceKey": "ztdnsExemptionRuleIpAddressPlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "ipAddress",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRuleIpAddressesName",
|
||||
"descriptionResourceKey": "ztdnsExemptionRuleIpAddressesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "ipAddresses",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRuleDescriptionName",
|
||||
"emptyValueResourceKey": "ztdnsExemptionRuleDescriptionPlaceholder",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "description",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRulesName",
|
||||
"descriptionResourceKey": "ztdnsExemptionRulesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "exemptionRules",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsExemptionRulesChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsClientCertificateHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsClientRootCertificateHeader",
|
||||
"descriptionResourceKey": "ztdnsRootCertificateDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForClientValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsClientRootCertificateHeader",
|
||||
"descriptionResourceKey": "ztdnsRootCertificateDescription",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": true,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsClientCertificateEkuHeaderName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "eDPPolicyAppsListNameName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "name",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 154,
|
||||
"nameResourceKey": "sCEPPolicyObjectIdentifierColumnName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "objectIdentifier",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 154,
|
||||
"nameResourceKey": "sCEPPolicyExtendedKeyUsageName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "extendedKeyUsagesForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsClientCertificateChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsAdvancedSettingsLoopbackTrafficBlockedName",
|
||||
"descriptionResourceKey": "ztdnsAdvancedSettingsLoopbackTrafficBlockedDescription",
|
||||
"childSettings": [
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsAdvancedSettingsLoopbackDnsForwarderEnabledName",
|
||||
"descriptionResourceKey": "ztdnsAdvancedSettingsLoopbackDnsForwarderEnabledDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "loopbackDnsForwarderEnabled",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": false,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "loopbackTrafficBlocked",
|
||||
"booleanActions": 3,
|
||||
"defaultValue": false,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 0,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsAdvancedSettingsHostsFileResolutionEnabledName",
|
||||
"descriptionResourceKey": "ztdnsAdvancedSettingsHostsFileResolutionEnabledDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "hostsFileResolutionEnabled",
|
||||
"booleanActions": 3,
|
||||
"defaultValue": false,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 14,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsAdvancedSettingsMaximumConnectionTimeInSecondsName",
|
||||
"descriptionResourceKey": "ztdnsAdvancedSettingsMaximumConnectionTimeInSecondsDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "maximumConnectionTimeInSeconds",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": 86400,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 154,
|
||||
"nameResourceKey": "ztdnsAdvancedSettingsChevronName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 130,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,735 @@
|
||||
{
|
||||
"wirednetwork_ioswirednetwork": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "networkInterface",
|
||||
"descriptionResourceKey": "networkInterfaceDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "anyEthernet",
|
||||
"value": "anyEthernet",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "networkInterface",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "anyEthernet",
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "eAPTypeName",
|
||||
"descriptionResourceKey": "eAPTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectEAP",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPFASTName",
|
||||
"value": "eapFast",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "pACHeading",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "dontUsePACName",
|
||||
"value": "noProtectedAccessCredential",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usePACName",
|
||||
"value": "useProtectedAccessCredential",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "provisionPACName",
|
||||
"value": "useProtectedAccessCredentialAndProvision",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "provisionPACAnonName",
|
||||
"value": "useProtectedAccessCredentialAndProvisionAnonymously",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "eapFastConfiguration",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "noProtectedAccessCredential",
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPTLSName",
|
||||
"value": "eapTls",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": "certificate",
|
||||
"dataType": 9,
|
||||
"category": 149,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPTTLSName",
|
||||
"value": "eapTtls",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authenticationMethodName",
|
||||
"descriptionResourceKey": "authenticationMethodTTLSDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usernameAndPasswordOption",
|
||||
"value": "usernameAndPassword",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "nonEapMethodName",
|
||||
"descriptionResourceKey": "nonEapMethodDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectNonEapMethod",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "pAPName",
|
||||
"value": "unencryptedPassword",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "cHAPName",
|
||||
"value": "challengeHandshakeAuthenticationProtocol",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "mSCHAPName",
|
||||
"value": "microsoftChap",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "cHAPTWOName",
|
||||
"value": "microsoftChapVersionTwo",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "nonEapAuthenticationMethodForEapTtls",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"value": "certificate",
|
||||
"children": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPAKAName",
|
||||
"value": "eapAka",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "pEAPName",
|
||||
"value": "peap",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authenticationMethodName",
|
||||
"descriptionResourceKey": "authenticationMethodName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usernameAndPasswordOption",
|
||||
"value": "usernameAndPassword",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "outerIdentityPrivacyMaskValue",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"value": "certificate",
|
||||
"children": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "eapType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 131,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,17 @@
|
||||
{
|
||||
"wirednetwork_macwirednetwork": [
|
||||
"wirednetwork_macwirednetwork": {
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "MacOSDeploymentChannelName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelUserChannel",
|
||||
"value": "userChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
@@ -71,21 +83,6 @@
|
||||
"nameResourceKey": "eAPFASTName",
|
||||
"value": "eapFast",
|
||||
"children": [
|
||||
{
|
||||
"value": "certificate",
|
||||
"dataType": 9,
|
||||
"category": 149,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
@@ -796,5 +793,802 @@
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "MacOSDeploymentChannelDeviceChannel",
|
||||
"value": "deviceChannel",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "networkInterface",
|
||||
"descriptionResourceKey": "networkInterfaceDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectNetworkInterface",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "firstActiveEthernet",
|
||||
"value": "firstActiveEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "secondActiveEthernet",
|
||||
"value": "secondActiveEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "thirdActiveEthernet",
|
||||
"value": "thirdActiveEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "firstEthernet",
|
||||
"value": "firstEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "secondEthernet",
|
||||
"value": "secondEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "thirdEthernet",
|
||||
"value": "thirdEthernet",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "anyEthernet",
|
||||
"value": "anyEthernet",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "networkInterface",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "eAPTypeName",
|
||||
"descriptionResourceKey": "eAPTypeDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectEAP",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPFASTName",
|
||||
"value": "eapFast",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "pACHeading",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "dontUsePACName",
|
||||
"value": "noProtectedAccessCredential",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usePACName",
|
||||
"value": "useProtectedAccessCredential",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "provisionPACName",
|
||||
"value": "useProtectedAccessCredentialAndProvision",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "provisionPACAnonName",
|
||||
"value": "useProtectedAccessCredentialAndProvisionAnonymously",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "eapFastConfiguration",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "noProtectedAccessCredential",
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPTLSName",
|
||||
"value": "eapTls",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"value": "certificate",
|
||||
"dataType": 9,
|
||||
"category": 149,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "eAPTTLSName",
|
||||
"value": "eapTtls",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authenticationMethodName",
|
||||
"descriptionResourceKey": "authenticationMethodTTLSDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usernameAndPasswordOption",
|
||||
"value": "usernameAndPassword",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "nonEapMethodName",
|
||||
"descriptionResourceKey": "nonEapMethodDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "selectNonEapMethod",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "pAPName",
|
||||
"value": "unencryptedPassword",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "cHAPName",
|
||||
"value": "challengeHandshakeAuthenticationProtocol",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "mSCHAPName",
|
||||
"value": "microsoftChap",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "cHAPTWOName",
|
||||
"value": "microsoftChapVersionTwo",
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "nonEapAuthenticationMethodForEapTtls",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"value": "certificate",
|
||||
"children": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "lEAPName",
|
||||
"value": "leap",
|
||||
"children": [
|
||||
{
|
||||
"value": "certificate",
|
||||
"dataType": 9,
|
||||
"category": 149,
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "pEAPName",
|
||||
"value": "peap",
|
||||
"children": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trust",
|
||||
"descriptionResourceKey": "trustDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "trustedServerCertificateNameExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNamesName",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 149,
|
||||
"nameResourceKey": "trustedServerCertificateNamesName",
|
||||
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "trustedServerCertificateNames",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfiles",
|
||||
"descriptionResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "rootCertificatesForServerValidation",
|
||||
"booleanActions": 0,
|
||||
"unconfiguredValue": "notConfigured",
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectRootCertificatesForServerValidationName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificates",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authentication",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 16,
|
||||
"category": 149,
|
||||
"nameResourceKey": "authenticationMethodName",
|
||||
"descriptionResourceKey": "authenticationMethodName",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
{
|
||||
"nameResourceKey": "notConfigured",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "usernameAndPasswordOption",
|
||||
"value": "usernameAndPassword",
|
||||
"children": [
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"value": "certificate",
|
||||
"children": [
|
||||
{
|
||||
"complexOptions": [
|
||||
{
|
||||
"dataType": 4,
|
||||
"category": 149,
|
||||
"nameResourceKey": "selectCertificateProfile",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "identityCertificateForClientAuthentication",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"dataType": 5,
|
||||
"category": 149,
|
||||
"nameResourceKey": "certificatesOption",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "selectCertificate",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"dataType": 20,
|
||||
"category": 149,
|
||||
"nameResourceKey": "enableIdentityPrivacyName",
|
||||
"descriptionResourceKey": "enableIdentityPrivacyDescription",
|
||||
"emptyValueResourceKey": "identityPrivacyExample",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "enableOuterIdentityPrivacy",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "authenticationMethod",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "eapType",
|
||||
"booleanActions": 0,
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"entityKey": "deploymentChannel",
|
||||
"booleanActions": 0,
|
||||
"defaultValue": "deviceChannel",
|
||||
"policyType": 68,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"workprofile_androidforworkmigrationpolicy": [
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 127,
|
||||
"nameResourceKey": "migrationPolicyCannotBeUnassigned",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 129,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 127,
|
||||
"nameResourceKey": "androidForWorkMigrationPolicyDescriptionParagraph1",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 129,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 127,
|
||||
"nameResourceKey": "androidForWorkMigrationPolicyLearnMoreText",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 129,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"wslcompliance_compliancewindows10": [
|
||||
{
|
||||
"dataType": 10,
|
||||
"category": 153,
|
||||
"nameResourceKey": "windowsSubsystemLinuxComplianceInfoBox",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 153,
|
||||
"nameResourceKey": "windowsSubsystemLinuxComplianceDescription",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": true,
|
||||
"dataType": 8,
|
||||
"category": 153,
|
||||
"nameResourceKey": "windowsSubsystemLinuxComplianceHeader",
|
||||
"childSettings": [
|
||||
{
|
||||
"isSettingDescription": false,
|
||||
"showAsSectionHeader": false,
|
||||
"dataType": 8,
|
||||
"category": 153,
|
||||
"nameResourceKey": "windowsSubsystemLinuxComplianceLearnMore",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"columns": [
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 153,
|
||||
"nameResourceKey": "wSLPolicyDistributionName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "distribution",
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 153,
|
||||
"nameResourceKey": "wSLPolicyMinOSVersionName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "optionalValue",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "minimumOSVersion",
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"dataType": 20,
|
||||
"category": 153,
|
||||
"nameResourceKey": "wSLPolicyMaxOSVersionName",
|
||||
"descriptionResourceKey": "empty",
|
||||
"emptyValueResourceKey": "optionalValue",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "maximumOSVersion",
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"dataType": 21,
|
||||
"category": 153,
|
||||
"nameResourceKey": "empty",
|
||||
"descriptionResourceKey": "empty",
|
||||
"childSettings": [
|
||||
|
||||
],
|
||||
"options": [
|
||||
|
||||
],
|
||||
"entityKey": "wslDistributions",
|
||||
"booleanActions": 0,
|
||||
"policyType": 35,
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
+5137
-4722
File diff suppressed because it is too large
Load Diff
+5155
-4740
File diff suppressed because it is too large
Load Diff
+5123
-4708
File diff suppressed because it is too large
Load Diff
+5143
-4728
File diff suppressed because it is too large
Load Diff
+5168
-4753
File diff suppressed because it is too large
Load Diff
+5138
-4723
File diff suppressed because it is too large
Load Diff
+5159
-4744
File diff suppressed because it is too large
Load Diff
+5152
-4737
File diff suppressed because it is too large
Load Diff
+5145
-4730
File diff suppressed because it is too large
Load Diff
+5137
-4722
File diff suppressed because it is too large
Load Diff
+4989
-4574
File diff suppressed because it is too large
Load Diff
+5123
-4708
File diff suppressed because it is too large
Load Diff
+5117
-4702
File diff suppressed because it is too large
Load Diff
+5154
-4739
File diff suppressed because it is too large
Load Diff
+5102
-4687
File diff suppressed because it is too large
Load Diff
+5123
-4708
File diff suppressed because it is too large
Load Diff
+5123
-4708
File diff suppressed because it is too large
Load Diff
+5138
-4723
File diff suppressed because it is too large
Load Diff
+5143
-4728
File diff suppressed because it is too large
Load Diff
+5123
-4708
File diff suppressed because it is too large
Load Diff
+148
-27
@@ -11,7 +11,7 @@ Objects can be compared based on Properties or Documentatation info.
|
||||
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.1.0'
|
||||
'1.2.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
@@ -188,6 +188,12 @@ function Show-CompareBulkForm
|
||||
$global:chkSkipCompareAssignments.IsChecked = (Get-Setting "Compare" "SkipCompareAssignments") -eq "true"
|
||||
$global:chkSkipMissingSourcePolicies.IsChecked = (Get-Setting "Compare" "SkipMissingSourcePolicies") -eq "true"
|
||||
$global:chkSkipMissingDestinationPolicies.IsChecked = (Get-Setting "Compare" "SkipMissingDestinationPolicies") -eq "true"
|
||||
$global:chkBulkCompareSaveJson.IsChecked = (Get-Setting "Compare" "SaveJson") -eq "true"
|
||||
$global:chkBulkCompareRemoveOData.IsChecked = (Get-Setting "Compare" "RemoveOData") -eq "true"
|
||||
|
||||
$objectSeparator = "[ { Name: `"New line`",Value: `"$([System.Environment]::NewLine)`" }, {Name: `";`",Value: `";`" }, {Name: `"|`",Value: `"|`" }]" | ConvertFrom-Json
|
||||
$global:cbCompareMultiValueDelimiter.ItemsSource = $objectSeparator
|
||||
$global:cbCompareMultiValueDelimiter.SelectedValue = (Get-Setting "Compare" "ObjectSeparator" ([System.Environment]::NewLine))
|
||||
|
||||
$script:compareObjects = @()
|
||||
foreach($objType in $global:lstMenuItems.ItemsSource)
|
||||
@@ -239,6 +245,9 @@ function Show-CompareBulkForm
|
||||
Save-Setting "Compare" "SkipCompareAssignments" $global:chkSkipCompareAssignments.IsChecked
|
||||
Save-Setting "Compare" "SkipMissingSourcePolicies" $global:chkSkipMissingSourcePolicies.IsChecked
|
||||
Save-Setting "Compare" "SkipMissingDestinationPolicies" $global:chkSkipMissingDestinationPolicies.IsChecked
|
||||
Save-Setting "Compare" "SaveJson" $global:chkBulkCompareSaveJson.IsChecked
|
||||
Save-Setting "Compare" "RemoveOData" $global:chkBulkCompareRemoveOData.IsChecked
|
||||
Save-Setting "Compare" "ObjectSeparator" $global:cbCompareMultiValueDelimiter.SelectedValue
|
||||
|
||||
if($global:cbCompareProvider.SelectedItem.BulkCompare)
|
||||
{
|
||||
@@ -534,18 +543,26 @@ function Invoke-BulkCompareNamedObjects
|
||||
{
|
||||
$fileName = Remove-InvalidFileNameChars (Expand-FileName "Compare-$($graphObj.ObjectType.Id)-$sourcePattern-$comparePattern-%DateTime%.csv")
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $outputFolder $fileName) $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
$fileName = Remove-InvalidFileNameChars (Expand-FileName "Compare-$($graphObj.ObjectType.Id)-$sourcePattern-$comparePattern-%DateTime%.json")
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder $fileName)
|
||||
}
|
||||
}
|
||||
}
|
||||
#$fileName = Expand-FileName $fileName
|
||||
|
||||
if($compareObjectsResult.Count -eq 0)
|
||||
{
|
||||
[System.Windows.MessageBox]::Show("No objects were comparced. Verify name patterns", "Error", "OK", "Error")
|
||||
[System.Windows.MessageBox]::Show("No objects were compared. Verify name patterns", "Error", "OK", "Error")
|
||||
}
|
||||
elseif($outputType -eq "all")
|
||||
{
|
||||
$fileName = Remove-InvalidFileNameChars (Expand-FileName "Compare-$sourcePattern-$comparePattern-%DateTime%.csv")
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $outputFolder $fileName) $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
$fileName = Remove-InvalidFileNameChars (Expand-FileName "Compare-$($graphObj.ObjectType.Id)-$sourcePattern-$comparePattern-%DateTime%.json")
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder $fileName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,6 +657,7 @@ function Start-BulkCompareExportObjects
|
||||
{
|
||||
$sourceObj = Get-GraphObject $curObject.Object $curObject.ObjectType
|
||||
$fileObj.Object | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force
|
||||
$fileObj.Object | Add-Member Noteproperty -Name "@ObjectFileName" -Value $fileObj.FileInfo.FullName -Force
|
||||
$compareProperties = Compare-Objects $sourceObj.Object $fileObj.Object $item.ObjectType
|
||||
}
|
||||
|
||||
@@ -688,7 +706,7 @@ function Start-BulkCompareExportObjects
|
||||
$objName = Get-GraphObjectName (?? $compObj.Object1 $compObj.Object2) $item.ObjectType
|
||||
foreach($compValue in $compObj.Result)
|
||||
{
|
||||
$compResultValues += [PSCustomObject]@{
|
||||
$compResultValue = [PSCustomObject]@{
|
||||
ObjectName = $objName
|
||||
Id = $compObj.Id
|
||||
Type = $compObj.ObjectType.Title
|
||||
@@ -700,12 +718,34 @@ function Start-BulkCompareExportObjects
|
||||
SubCategory = $compValue.SubCategory
|
||||
Match = $compValue.Match
|
||||
}
|
||||
|
||||
if($global:chkBulkCompareRemoveOData.IsChecked -and ($compResultValue.Value1 -like "@odata*" -or $compResultValue.Value2 -like "@odata*")) {
|
||||
foreach($prop in $('Value1','Value2'))
|
||||
{
|
||||
$tmpValue1 = ""
|
||||
$tmpValue2 = ""
|
||||
$vauleString = $compResultValue.$prop
|
||||
if($vauleString -is [String]) {
|
||||
$vauleString = $vauleString -replace $compResultValue.Id, ""
|
||||
$tmpObj = $compResultValue.$prop | ConvertFrom-Json
|
||||
if($compResultValue.$prop -and $compResultValue.$prop -like "@odata*") {
|
||||
Remove-GraphODataProperties $tmpObj.$prop | ConvertTo-Json -Depth 50 | Set-Variable -Name "tmp$prop"
|
||||
}
|
||||
}
|
||||
}
|
||||
$compResultValue.Match = $tmpValue1 -eq $tmpValue2
|
||||
}
|
||||
$compResultValues += $compResultValue
|
||||
}
|
||||
}
|
||||
|
||||
if($outputType -eq "objectType")
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $folder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $folder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -716,7 +756,10 @@ function Start-BulkCompareExportObjects
|
||||
|
||||
if($outputType -eq "all" -and $compResultValues.Count -gt 0)
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMDD-HHmm"))).csv") $compareProps
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
|
||||
Write-Log "****************************************************************"
|
||||
@@ -725,7 +768,7 @@ function Start-BulkCompareExportObjects
|
||||
Write-Status ""
|
||||
if($compareObjectsResult.Count -eq 0)
|
||||
{
|
||||
[System.Windows.MessageBox]::Show("No objects were comparced. Verify folder and exported files", "Error", "OK", "Error")
|
||||
[System.Windows.MessageBox]::Show("No objects were compared. Verify folder and exported files", "Error", "OK", "Error")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -795,6 +838,7 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
|
||||
if($txtNameFilter -and $objName -notmatch [RegEx]::Escape($txtNameFilter))
|
||||
{
|
||||
Write-LogDebug "Excluded based on filter. Intune object name: '$($objName)'"
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -802,7 +846,7 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
|
||||
if(-not $fileObj)
|
||||
{
|
||||
# Add objects that are exported but deleted
|
||||
# Add objects that are in Intune but no exported file found
|
||||
if($global:chkSkipMissingDestinationPolicies.IsChecked -ne $true) {
|
||||
Write-Log "Object '$($objName)' with id $($fileObj.Object.Id) not found in exported folder. New Object?" 2
|
||||
$compareProperties = @([PSCustomObject]@{
|
||||
@@ -814,7 +858,7 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
}
|
||||
elseif(($fileObj | measure).Count -gt 1)
|
||||
{
|
||||
# Add objects that are exported but deleted
|
||||
# Add objects where multiple files match based on name
|
||||
Write-Log "Multiple exported objects found with name '$($objName)" 2
|
||||
$compareProperties = @([PSCustomObject]@{
|
||||
Object1Value = $objName
|
||||
@@ -826,6 +870,7 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
{
|
||||
$sourceObj = Get-GraphObject $graphObject.Object $graphObject.ObjectType
|
||||
$fileObj.Object | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force
|
||||
$fileObj.Object | Add-Member Noteproperty -Name "@ObjectFileName" -Value $fileObj.FileInfo.FullName -Force
|
||||
$compareProperties = Compare-Objects $sourceObj.Object $fileObj.Object $item.ObjectType
|
||||
}
|
||||
|
||||
@@ -841,12 +886,16 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
if($global:chkSkipMissingSourcePolicies.IsChecked -ne $true) {
|
||||
foreach ($fileObj in @($fileObjects))
|
||||
{
|
||||
# Add objects that are exported but not in Intune
|
||||
if(($compareObjectsResult | Where { $_.FileInfo.FullName -eq $fileObj.FileInfo.FullName})) { continue }
|
||||
# Skip objects if they are already processed
|
||||
if(($compareObjectsResult | Where { $_.Object2 -eq $fileObj.Object})) {
|
||||
Write-LogDebug "Skip already processed file '$($fileObj.FileInfo.FullName)'"
|
||||
continue
|
||||
}
|
||||
|
||||
$objName = Get-GraphObjectName $fileObj.Object $item.ObjectType
|
||||
if($txtNameFilter -and $objName -notmatch [RegEx]::Escape($txtNameFilter))
|
||||
{
|
||||
Write-LogDebug "Excluded based on filter. File: '$($fileObj.FileInfo.FullName)'"
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -892,6 +941,9 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
if($outputType -eq "objectType")
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $folder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -902,7 +954,10 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
|
||||
if($outputType -eq "all" -and $compResultValues.Count -gt 0)
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMDD-HHmm"))).csv") $compareProps
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
|
||||
Write-Log "****************************************************************"
|
||||
@@ -911,7 +966,7 @@ function Start-BulkCompareExportIntuneToNamedExportedObjects
|
||||
Write-Status ""
|
||||
if($compareObjectsResult.Count -eq 0)
|
||||
{
|
||||
[System.Windows.MessageBox]::Show("No objects were comparced. Verify folder and exported files", "Error", "OK", "Error")
|
||||
[System.Windows.MessageBox]::Show("No objects were compared. Verify folder and exported files", "Error", "OK", "Error")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1009,7 +1064,9 @@ function Start-BulkCompareExportFolders
|
||||
else
|
||||
{
|
||||
$fileSourceObj.Object | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force
|
||||
$fileSourceObj.Object | Add-Member Noteproperty -Name "@ObjectFileName" -Value $fileSourceObj.FileInfo.FullName -Force
|
||||
$compareObject.Object | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force
|
||||
$compareObject.Object | Add-Member Noteproperty -Name "@ObjectFileName" -Value $compareObject.FileInfo.FullName -Force
|
||||
$compareProperties = Compare-Objects $compareObject.Object $fileSourceObj.Object $item.ObjectType
|
||||
}
|
||||
|
||||
@@ -1076,6 +1133,9 @@ function Start-BulkCompareExportFolders
|
||||
if($outputType -eq "objectType")
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $folderSource "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1086,7 +1146,10 @@ function Start-BulkCompareExportFolders
|
||||
|
||||
if($outputType -eq "all" -and $compResultValues.Count -gt 0)
|
||||
{
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolderSource "Compare_$(((Get-Date).ToString("yyyyMMDD-HHmm"))).csv") $compareProps
|
||||
Save-BulkCompareResults $compResultValues (Join-Path $rootFolderSource "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).csv") $compareProps
|
||||
if($global:chkBulkCompareSaveJson.IsChecked) {
|
||||
Save-BulkCompareJsonResults $compResultValues (Join-Path $rootFolder "Compare_$(((Get-Date).ToString("yyyyMMdd-HHmm"))).json")
|
||||
}
|
||||
}
|
||||
|
||||
Write-Log "****************************************************************"
|
||||
@@ -1099,6 +1162,13 @@ function Start-BulkCompareExportFolders
|
||||
}
|
||||
}
|
||||
|
||||
function Save-BulkCompareJsonResults
|
||||
{
|
||||
param($CompareResults, $FileName)
|
||||
|
||||
$CompareResults | ConvertTo-Json -Depth 50 | Out-File $FileName -Force -Encoding UTF8
|
||||
}
|
||||
|
||||
function Save-BulkCompareResults
|
||||
{
|
||||
param($compResultValues, $file, $props)
|
||||
@@ -1297,6 +1367,7 @@ function Start-CompareExportObject
|
||||
}
|
||||
}
|
||||
|
||||
$compareObj | Add-Member Noteproperty -Name "@ObjectFileName" -Value $global:txtCompareFile.Text -Force
|
||||
$compareObj | Add-Member Noteproperty -Name "@ObjectFromFile" -Value $true -Force
|
||||
|
||||
$compareResult = Compare-Objects $obj.Object $compareObj $obj.ObjectType
|
||||
@@ -1354,7 +1425,7 @@ function Add-CompareProperty
|
||||
$value1 = if($value1 -eq $null) { "" } else { $value1.ToString().Trim("`"") }
|
||||
$value2 = if($value2 -eq $null) { "" } else { $value2.ToString().Trim("`"") }
|
||||
|
||||
$compare += [PSCustomObject]@{
|
||||
$compare = [PSCustomObject]@{
|
||||
PropertyName = $name
|
||||
Object1Value = $value1 #if($value1 -ne $null) { $value1.ToString().Trim("`"") } else { "" }
|
||||
Object2Value = $value2 #if($value2 -ne $null) { $value2.ToString().Trim("`"") } else { "" }
|
||||
@@ -1362,10 +1433,12 @@ function Add-CompareProperty
|
||||
SubCategory = $subCategory
|
||||
Match = ?? $match ($value1 -eq $value2)
|
||||
}
|
||||
|
||||
if($skip -eq $true) {
|
||||
$compare.Match = $null
|
||||
}
|
||||
|
||||
Write-LogDebug "Add property $($compare.PropertyName)"
|
||||
$script:compareProperties += $compare
|
||||
}
|
||||
|
||||
@@ -1381,7 +1454,7 @@ function Compare-ObjectsBasedonProperty
|
||||
|
||||
$coreProps = @((?? $objectType.NameProperty "displayName"), "Description", "Id", "createdDateTime", "lastModifiedDateTime", "version")
|
||||
$postProps = @("Advertisements")
|
||||
$skipProps = @("@ObjectFromFile")
|
||||
$skipProps = @("@ObjectFromFile","@ObjectFileName")
|
||||
$skipPropertiesToCompare = @()
|
||||
if($skipBasicProperties) {
|
||||
$skipPropertiesToCompare += "roleScopeTagIds"
|
||||
@@ -1469,17 +1542,19 @@ function Compare-ObjectsBasedonDocumentation
|
||||
# ToDo: set this based on configuration value
|
||||
$script:assignmentOutput = "simpleFullCompare"
|
||||
|
||||
$docObj1 = Invoke-ObjectDocumentation ([PSCustomObject]@{
|
||||
$tmpObj1 = ([PSCustomObject]@{
|
||||
Object = $obj1
|
||||
ObjectType = $objectType
|
||||
})
|
||||
ObjectType = $objectType})
|
||||
|
||||
$docObj1 = Invoke-ObjectDocumentation $tmpObj1 -ObjectSeparator ($global:cbCompareMultiValueDelimiter.SelectedValue)
|
||||
|
||||
$docObj2 = Invoke-ObjectDocumentation ([PSCustomObject]@{
|
||||
$tmpObj2 = ([PSCustomObject]@{
|
||||
Object = $obj2
|
||||
ObjectType = $objectType
|
||||
})
|
||||
|
||||
$docObj2 = Invoke-ObjectDocumentation $tmpObj2 -ObjectSeparator ($global:cbCompareMultiValueDelimiter.SelectedValue)
|
||||
|
||||
$settingsValue = ?? $objectType.CompareValue "Value"
|
||||
|
||||
$skipBasicProperties = Get-XamlProperty $script:cmpForm "chkSkipCompareBasicProperties" "IsChecked"
|
||||
@@ -1500,8 +1575,10 @@ function Compare-ObjectsBasedonDocumentation
|
||||
|
||||
$addedProperties = @()
|
||||
|
||||
if($docObj1.InputType -eq "Settings")
|
||||
if($docObj1.InputType -eq "Intent")
|
||||
{
|
||||
Set-ColumnVisibility $true ($null -ne ($docObj1.Settings | Where ParentSettingId -ne $null))
|
||||
|
||||
foreach ($prop in $docObj1.Settings)
|
||||
{
|
||||
if(($prop.SettingId + $prop.ParentSettingId + $prop.RowIndex) -in $addedProperties) { continue }
|
||||
@@ -1575,8 +1652,48 @@ function Compare-ObjectsBasedonDocumentation
|
||||
Add-CompareProperty $prop.Name $val1 $val2 $prop.Category
|
||||
}
|
||||
}
|
||||
elseif($docObj1.InputType -eq "Settings")
|
||||
{
|
||||
Set-ColumnVisibility $true ($null -ne ($docObj1.Settings | Where SubCategory -ne $null))
|
||||
|
||||
foreach ($prop in $docObj1.Settings)
|
||||
{
|
||||
if(($prop.SettingId + $prop.CategoryId + $prop.SubCategoryDefinition.Id) -in $addedProperties) { continue }
|
||||
|
||||
$addedProperties += ($prop.SettingId + $prop.CategoryId + $prop.SubCategoryDefinition.Id)
|
||||
$val1 = $prop.$settingsValue
|
||||
$prop2 = $docObj2.Settings | Where { $_.SettingId -eq $prop.SettingId -and $_.CategoryId -eq $prop.CategoryId -and $_.SubCategoryDefinition.Id -eq $prop.SubCategoryDefinition.Id }
|
||||
$val2 = $prop2.$settingsValue
|
||||
if($val1 -isnot [array] -and $val2 -is [array] -and $val2.Count -gt 1)
|
||||
{
|
||||
Write-Log "Multiple compare results returend for $($prop.Name). Using first result" 2
|
||||
$val2 = $val2[0]
|
||||
}
|
||||
Add-CompareProperty $prop.Name $val1 $val2 $prop.Category $prop.SubCategory
|
||||
}
|
||||
|
||||
# These objects are defined only on Object 2. They will be last in the table
|
||||
foreach ($prop in $docObj2.Settings)
|
||||
{
|
||||
if(($prop.SettingId + $prop.CategoryId + $prop.SubCategoryDefinition.Id) -in $addedProperties) { continue }
|
||||
|
||||
$addedProperties += ($prop.SettingId + $prop.CategoryId + $prop.SubCategoryDefinition.Id)
|
||||
$val2 = $prop.$settingsValue
|
||||
$prop2 = $docObj1.Settings | Where { $_.SettingId -eq $prop.SettingId -and $_.CategoryId -eq $prop.CategoryId -and $_.SubCategoryDefinition.Id -eq $prop.SubCategoryDefinition.Id }
|
||||
$val1 = $prop2.$settingsValue
|
||||
if($val2 -isnot [array] -and $val1 -is [array] -and $val1.Count -gt 1)
|
||||
{
|
||||
Write-Log "Multiple compare results returend for $($prop.Name). Using first result" 2
|
||||
$val1 = $val1[0]
|
||||
}
|
||||
|
||||
Add-CompareProperty $prop.Name $val1 $val2 $prop.Category $prop.SubCategory
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Set-ColumnVisibility $true ($null -ne ($docObj1.Settings | Where SubCategory -ne $null))
|
||||
|
||||
foreach ($prop in $docObj1.Settings)
|
||||
{
|
||||
if(($prop.EntityKey + $prop.Category + $prop.SubCategory) -in $addedProperties) { continue }
|
||||
@@ -1618,8 +1735,8 @@ function Compare-ObjectsBasedonDocumentation
|
||||
{
|
||||
$applicabilityRule2 = $docObj2.ApplicabilityRules | Where { $_.Id -eq $applicabilityRule.Id }
|
||||
$applicabilityRulesAdded += $applicabilityRule.Id
|
||||
$val1 = ($applicabilityRule.Rule + [environment]::NewLine + $applicabilityRule.Value)
|
||||
$val2 = ($applicabilityRule2.Rule + [environment]::NewLine + $applicabilityRule2.Value)
|
||||
$val1 = ($applicabilityRule.Rule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $applicabilityRule.Value)
|
||||
$val2 = ($applicabilityRule2.Rule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $applicabilityRule2.Value)
|
||||
|
||||
Add-CompareProperty $applicabilityRule.Property $val1 $val2 $applicabilityRule.Category
|
||||
}
|
||||
@@ -1629,8 +1746,8 @@ function Compare-ObjectsBasedonDocumentation
|
||||
if(($applicabilityRule.Id) -in $applicabilityRulesAdded) { continue }
|
||||
$applicabilityRule2 = $docObj1.ApplicabilityRules | Where { $_.Id -eq $applicabilityRule.Id }
|
||||
$script:applicabilityRulesAdded += $applicabilityRule.Id
|
||||
$val2 = ($applicabilityRule.Rule + [environment]::NewLine + $applicabilityRule.Value)
|
||||
$val1 = ($applicabilityRule2.Rule + [environment]::NewLine + $applicabilityRule2.Value)
|
||||
$val2 = ($applicabilityRule.Rule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $applicabilityRule.Value)
|
||||
$val1 = ($applicabilityRule2.Rule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $applicabilityRule2.Value)
|
||||
|
||||
Add-CompareProperty $applicabilityRule.Property $val1 $val2 $applicabilityRule.Category
|
||||
}
|
||||
@@ -1640,8 +1757,8 @@ function Compare-ObjectsBasedonDocumentation
|
||||
{
|
||||
$complianceAction2 = $docObj2.ComplianceActions | Where { $_.IdStr -eq $complianceAction.IdStr }
|
||||
$complianceActionsAdded += $complianceAction.IdStr
|
||||
$val1 = ($complianceAction.Action + [environment]::NewLine + $complianceAction.Schedule + [environment]::NewLine + $complianceAction.MessageTemplateId + [environment]::NewLine + $complianceAction.EmailCCIds)
|
||||
$val2 = ($complianceAction2.Action + [environment]::NewLine + $complianceAction2.Schedule + [environment]::NewLine + $complianceAction2.MessageTemplateId + [environment]::NewLine + $complianceAction2.EmailCCIds)
|
||||
$val1 = ($complianceAction.Action + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.Schedule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.MessageTemplateId + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.EmailCCIds)
|
||||
$val2 = ($complianceAction2.Action + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.Schedule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.MessageTemplateId + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.EmailCCIds)
|
||||
|
||||
Add-CompareProperty $complianceAction.Category $val1 $val2
|
||||
}
|
||||
@@ -1651,8 +1768,8 @@ function Compare-ObjectsBasedonDocumentation
|
||||
if(($complianceAction.IdStr) -in $complianceActionsAdded) { continue }
|
||||
$complianceAction2 = $docObj1.ComplianceActions | Where { $_.IdStr -eq $complianceAction.IdStr }
|
||||
$complianceActionsAdded += $complianceAction.IdStr
|
||||
$val2 = ($complianceAction.Action + [environment]::NewLine + $complianceAction.Schedule + [environment]::NewLine + $complianceAction.MessageTemplateId + [environment]::NewLine + $complianceAction.EmailCCIds)
|
||||
$val1 = ($complianceAction2.Action + [environment]::NewLine + $complianceAction2.Schedule + [environment]::NewLine + $complianceAction2.MessageTemplateId + [environment]::NewLine + $complianceAction2.EmailCCIds)
|
||||
$val2 = ($complianceAction.Action + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.Schedule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.MessageTemplateId + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction.EmailCCIds)
|
||||
$val1 = ($complianceAction2.Action + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.Schedule + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.MessageTemplateId + ($global:cbCompareMultiValueDelimiter.SelectedValue) + $complianceAction2.EmailCCIds)
|
||||
|
||||
Add-CompareProperty $complianceAction.Category $val1 $val2
|
||||
}
|
||||
@@ -1778,6 +1895,10 @@ function Invoke-SilentBatchJob
|
||||
$global:cbCompareCSVDelimiter.ItemsSource = @("", ",",";","-","|")
|
||||
$global:cbCompareCSVDelimiter.SelectedValue = ($settingsObj.BulkCompare | Where Name -eq "cbCompareCSVDelimiter").Value
|
||||
|
||||
$objectSeparator = "[ { Name: `"New line`",Value: `"$([System.Environment]::NewLine)`" }, {Name: `";`",Value: `";`" }, {Name: `"|`",Value: `"|`" }]" | ConvertFrom-Json
|
||||
$global:cbCompareMultiValueDelimiter.ItemsSource = $objectSeparator
|
||||
$global:cbCompareMultiValueDelimiter.SelectedValue = (Get-Setting "Compare" "ObjectSeparator" ([System.Environment]::NewLine))
|
||||
|
||||
Set-CompareProviderOptions $global:cbCompareProvider
|
||||
|
||||
Set-BatchProperties $settingsObj.BulkCompare $script:cmpForm -SkipMissingControlWarning
|
||||
|
||||
+220
-18
@@ -20,7 +20,7 @@ $global:documentationProviders = @()
|
||||
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'2.2.1'
|
||||
'2.3.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
@@ -40,6 +40,7 @@ function Invoke-InitializeModule
|
||||
useDeviceContext="SettingDetails.installContextLabel"
|
||||
uninstallOnDeviceRemoval="SettingDetails.UninstallOnRemoval"
|
||||
isRemovable="SettingDetails.installAsRemovable"
|
||||
preventManagedAppBackup="AppResources.AppSettingsUx.preventManagedAppBackup"
|
||||
vpnConfigurationId="PolicyType.vpn"
|
||||
Action="SettingDetails.actionColumnName"
|
||||
Schedule="ScheduledAction.List.schedule"
|
||||
@@ -228,6 +229,7 @@ function Get-ObjectDocumentation
|
||||
$script:applicabilityRules = @()
|
||||
$script:objectAssignments = @()
|
||||
$script:objectScripts = @()
|
||||
$script:customTables = @()
|
||||
$script:admxCategories = $null
|
||||
|
||||
$script:ObjectTypeFullTable = @{} # Hash table with objects that should be documented in a single table eg ScopeTags
|
||||
@@ -288,12 +290,20 @@ function Get-ObjectDocumentation
|
||||
$properties = @("Name","Value","RootCategory","Category","RawValue","RawJsonValue","DefaultValue","Description")
|
||||
}
|
||||
#endregion
|
||||
#region Compliance Policies V2
|
||||
elseif($type -eq "#microsoft.graph.deviceManagementCompliancePolicy")
|
||||
{
|
||||
Invoke-TranslateComplianceV2Object $obj $objectType | Out-Null
|
||||
$properties = @("Name","Value","RootCategory","Category","RawValue","RawJsonValue","DefaultValue","Description")
|
||||
}
|
||||
#endregion
|
||||
#region Endpoint Security
|
||||
elseif($type -eq "#microsoft.graph.deviceManagementIntent")
|
||||
{
|
||||
Invoke-TranslateIntentObject $obj $objectType | Out-Null
|
||||
$properties = @("Name","Value","Category","FullValueTable","RawValue","RecommendedValue","SettingId","Description")
|
||||
$defaultDocumentationProperties = @("Name","Value","RecommendedValue")
|
||||
$inputType = "Intent"
|
||||
}
|
||||
#endregion
|
||||
#region Administrative Templates
|
||||
@@ -351,6 +361,7 @@ function Get-ObjectDocumentation
|
||||
Settings = $script:objectSettingsData
|
||||
ComplianceActions = $script:objectComplianceActionData
|
||||
ApplicabilityRules = $script:applicabilityRules
|
||||
CustomTables = $script:customTables
|
||||
Assignments = $script:objectAssignments
|
||||
Scripts = $script:objectScripts
|
||||
DisplayProperties = $properties
|
||||
@@ -379,17 +390,51 @@ function Get-DocumentedSettings
|
||||
|
||||
function Invoke-ObjectDocumentation
|
||||
{
|
||||
param($documentationObj)
|
||||
param($documentationObj,
|
||||
$ObjectSeparator,
|
||||
$PropertySeparator,
|
||||
$DocumentationLanguage
|
||||
)
|
||||
|
||||
$global:intentCategories = $null
|
||||
$global:catRecommendedSettings = $null
|
||||
$global:intentCategoryDefs = $null
|
||||
$global:cfgCategories = $null
|
||||
$script:admxCategories = $null
|
||||
$script:migTable = $null
|
||||
$script:offlineObjects = @{}
|
||||
|
||||
$script:DocumentationLanguage = "en"
|
||||
$script:objectSeparator = [System.Environment]::NewLine
|
||||
$script:propertySeparator = ","
|
||||
$script:DocumentationLanguage = ?? $DocumentationLanguage "en"
|
||||
$script:objectSeparator = ?? $ObjectSeparator ([System.Environment]::NewLine)
|
||||
$script:propertySeparator = ?? $PropertySeparator ","
|
||||
|
||||
$loadExportedInfo = $false
|
||||
|
||||
if($documentationObj.Object."@ObjectFileName") {
|
||||
$path = [IO.Path]::GetDirectoryName($documentationObj.Object."@ObjectFileName")
|
||||
for($i = 0;$i -lt 2;$i++)
|
||||
{
|
||||
if($i -gt 0)
|
||||
{
|
||||
# Get parent directory
|
||||
$path = [io.path]::GetDirectoryName($path)
|
||||
}
|
||||
|
||||
$migFileName = Join-Path $path "MigrationTable.json"
|
||||
try
|
||||
{
|
||||
if([IO.File]::Exists($migFileName))
|
||||
{
|
||||
Write-Log "Load Migration table from $migFileName"
|
||||
$script:migTable = ConvertFrom-Json (Get-Content $migFileName -Raw)
|
||||
}
|
||||
}
|
||||
catch {}
|
||||
}
|
||||
if(-not $script:migTable) {
|
||||
Write-Log "Migration table not found" 2
|
||||
}
|
||||
}
|
||||
|
||||
Get-ObjectDocumentation $documentationObj
|
||||
}
|
||||
@@ -561,7 +606,7 @@ function Get-ObjectTypeString
|
||||
|
||||
function Add-BasicDefaultValues
|
||||
{
|
||||
param($obj, $objectType)
|
||||
param($obj, $objectType, $profileTypeName = $null)
|
||||
|
||||
Add-BasicPropertyValue (Get-LanguageString "SettingDetails.nameName") (Get-GraphObjectName $obj $objectType)
|
||||
Add-BasicPropertyValue (Get-LanguageString "SettingDetails.descriptionName") $obj.description
|
||||
@@ -572,7 +617,7 @@ function Add-BasicDefaultValues
|
||||
if($objInfo)
|
||||
{
|
||||
$platformType = Get-LanguageString "Platform.$($objInfo.PlatformLanguageId)"
|
||||
$profileType = Get-LanguageString "ConfigurationTypes.$($objInfo.PolicyType)"
|
||||
$profileType = (?? $profileTypeName (Get-LanguageString "ConfigurationTypes.$($objInfo.PolicyType)"))
|
||||
|
||||
if($platformType) { Add-BasicPropertyValue (Get-LanguageString "SettingDetails.platformSupported") $platformType }
|
||||
if($profileType) { Add-BasicPropertyValue (Get-LanguageString "TableHeaders.configurationType") $profileType }
|
||||
@@ -636,6 +681,19 @@ function Add-BasicDefaultValues
|
||||
}
|
||||
}
|
||||
|
||||
function Add-CustomTable
|
||||
{
|
||||
param($TableId, $Columns = @("Name", "Value"), $Values, [int]$Order = 100, $LanguageId = "")
|
||||
|
||||
$script:customTables += [PSCustomObject]@{
|
||||
Id = $TableId
|
||||
Columns = $Columns
|
||||
Values = $Values
|
||||
LanguageId = $LanguageId
|
||||
Order = $Order
|
||||
}
|
||||
}
|
||||
|
||||
function Add-BasicAdditionalValues
|
||||
{
|
||||
param($obj, $objectType)
|
||||
@@ -647,6 +705,10 @@ function Add-BasicAdditionalValues
|
||||
if($obj.createdDateTime -is [DateTime])
|
||||
{
|
||||
$tmpDate = $obj.createdDateTime
|
||||
if($tmpDate.Kind -eq "UTC")
|
||||
{
|
||||
$tmpDate = $tmpDate.ToLocalTime()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -670,6 +732,10 @@ function Add-BasicAdditionalValues
|
||||
if($obj.lastModifiedDateTime -is [DateTime])
|
||||
{
|
||||
$tmpDate = $obj.lastModifiedDateTime
|
||||
if($tmpDate.Kind -eq "UTC")
|
||||
{
|
||||
$tmpDate = $tmpDate.ToLocalTime()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -691,6 +757,10 @@ function Add-BasicAdditionalValues
|
||||
if($obj.modifiedDateTime -is [DateTime])
|
||||
{
|
||||
$tmpDate = $obj.modifiedDateTime
|
||||
if($tmpDate.Kind -eq "UTC")
|
||||
{
|
||||
$tmpDate = $tmpDate.ToLocalTime()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -993,15 +1063,26 @@ function Invoke-TranslateADMXObject
|
||||
$rawValues += $rawValue
|
||||
}
|
||||
$status = (?: ($definitionValue.enabled -eq $true) $enabledStr $disabledStr)
|
||||
|
||||
$combinedValue = $status
|
||||
if($values) {
|
||||
$combinedValue += $script:objectSeparator + ($values -join $script:objectSeparator)
|
||||
}
|
||||
|
||||
$combinedValueWithLabel = $status
|
||||
if($valuesWithLabel) {
|
||||
$combinedValueWithLabel += $script:objectSeparator + ($valuesWithLabel -join $script:objectSeparator)
|
||||
}
|
||||
|
||||
$script:objectSettingsData += New-Object PSObject -Property @{
|
||||
Name = $definitionValue.definition.displayName
|
||||
Description = $definitionValue.definition.explainText
|
||||
Status = $status
|
||||
Value = $values -join $script:objectSeparator
|
||||
CombinedValue = ($status + $script:objectSeparator + ($values -join $script:objectSeparator))
|
||||
CombinedValue = $combinedValue #($status + $script:objectSeparator + ($values -join $script:objectSeparator))
|
||||
ValueWithLabel = $valuesWithLabel -join $script:objectSeparator
|
||||
FullValueTable = $tableValue
|
||||
CombinedValueWithLabel = ($status + $script:objectSeparator + ($valuesWithLabel -join $script:objectSeparator))
|
||||
CombinedValueWithLabel = $combinedValueWithLabel #($status + $script:objectSeparator + ($valuesWithLabel -join $script:objectSeparator))
|
||||
RawValue = $rawValues -join $script:propertySeparator
|
||||
Class = $definitionValue.definition.classType
|
||||
DefinitionId = $definitionValue.definition.id
|
||||
@@ -1065,9 +1146,9 @@ function Invoke-TranslateSettingsObject
|
||||
$cfgSettings = $obj.Settings
|
||||
}
|
||||
|
||||
if(-not $global:cfgCategories)
|
||||
if(-not $global:cfgCategories -or -not ($global:cfgCategories | where { $_.settingUsage -eq "configuration" }))
|
||||
{
|
||||
$global:cfgCategories = (Invoke-GraphRequest "/deviceManagement/configurationCategories?`$filter=platforms has 'windows10' and technologies has 'mdm'" -ODataMetadata "minimal" @params).Value
|
||||
$global:cfgCategories += (Invoke-GraphRequest "/deviceManagement/configurationCategories?`$filter=platforms has 'windows10' and technologies has 'mdm'" -ODataMetadata "minimal" @params).Value
|
||||
}
|
||||
|
||||
if(-not $global:cachedCfgSettings)
|
||||
@@ -1166,13 +1247,23 @@ function Add-SettingsSetting
|
||||
$objCategory = $categoryDef
|
||||
}
|
||||
|
||||
$settingName = ""
|
||||
$settingDescription = ""
|
||||
if($settingsDef.displayName) {
|
||||
$settingName = $settingsDef.displayName.Trim([Environment]::NewLine).Trim("`n")
|
||||
}
|
||||
|
||||
if($settingsDef.description) {
|
||||
$settingDescription = $settingsDef.description.Trim([Environment]::NewLine).Trim("`n")
|
||||
}
|
||||
|
||||
$settingInfo = [PSCustomObject]@{
|
||||
SettingId = $settingsDef.Id
|
||||
SettingKey = ""
|
||||
SettingName = $settingsDef.Name
|
||||
Name = $settingsDef.displayName
|
||||
Description=$settingsDef.description
|
||||
CategortyId = $objCategory.id
|
||||
Name = $settingName
|
||||
Description = $settingDescription
|
||||
CategoryId = $objCategory.id
|
||||
Category=$objCategory.displayName
|
||||
CategoryDefinition=$objCategory
|
||||
SubCategory=$subCategory.displayName
|
||||
@@ -1348,6 +1439,85 @@ function Add-SettingsSetting
|
||||
|
||||
#endregion
|
||||
|
||||
#region Compliance V2 Policies - Based on Settings Catalog
|
||||
|
||||
function Invoke-TranslateComplianceV2Object
|
||||
{
|
||||
param($obj, $objectType)
|
||||
|
||||
$platformType = Get-LanguageString "Platform.$($obj.platforms)"
|
||||
|
||||
Add-BasicDefaultValues $obj $objectType
|
||||
Add-BasicPropertyValue (Get-LanguageString "TableHeaders.configurationType") (Get-LanguageString "ConfigurationTypes.settingsCatalog")
|
||||
Add-BasicPropertyValue (Get-LanguageString "SettingDetails.platformSupported") $platformType
|
||||
Add-BasicAdditionalValues $obj $objectType
|
||||
|
||||
$params = @{}
|
||||
## Set language
|
||||
if($script:DocumentationLanguage)
|
||||
{
|
||||
$params.Add("AdditionalHeaders", @{"Accept-Language"=$script:DocumentationLanguage})
|
||||
}
|
||||
|
||||
$cfgSettings = (Invoke-GraphRequest "/deviceManagement/compliancePolicies('$($obj.Id)')/settings?`$expand=settingDefinitions&top=1000" -ODataMetadata "minimal" @params).Value
|
||||
|
||||
if($obj.'@ObjectFromFile')
|
||||
{
|
||||
$cfgSettings = $obj.Settings
|
||||
}
|
||||
|
||||
if(-not $global:cfgCategories -or -not ($global:cfgCategories | where { $_.settingUsage -eq "compliance" }))
|
||||
{
|
||||
$global:cfgCategories += (Invoke-GraphRequest "/deviceManagement/complianceCategories?`$templateCategory=True&`$filter=platforms has 'linux' and technologies has 'linuxMdm'" -ODataMetadata "minimal" @params).Value
|
||||
}
|
||||
|
||||
if(-not $global:cachedCfgSettings)
|
||||
{
|
||||
$global:cachedCfgSettings = @{}
|
||||
}
|
||||
|
||||
$script:settingCatalogasCategories = @{}
|
||||
foreach($cfgSetting in $cfgSettings)
|
||||
{
|
||||
if($obj.'@ObjectFromFile' -and -not $cfgSetting.settingDefinitions)
|
||||
{
|
||||
if($global:cachedCfgSettings.ContainsKey($cfgSetting.settingInstance.settingDefinitionId) -eq $false)
|
||||
{
|
||||
$defObj = Invoke-GraphRequest "/deviceManagement/configurationSettings/$($cfgSetting.settingInstance.settingDefinitionId)"
|
||||
$global:cachedCfgSettings.Add($defObj.Id, $defObj)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$defObj = $cfgSetting.settingDefinitions | Where id -eq $cfgSetting.settingInstance.settingDefinitionId
|
||||
if($global:cachedCfgSettings.ContainsKey($cfgSetting.settingInstance.settingDefinitionId) -eq $false)
|
||||
{
|
||||
$global:cachedCfgSettings.Add($defObj.Id, $defObj)
|
||||
}
|
||||
}
|
||||
if(-not $defObj -or $script:settingCatalogasCategories.ContainsKey($defObj.categoryId)) { continue }
|
||||
|
||||
$catObj = $global:cfgCategories | Where Id -eq $defObj.categoryId
|
||||
$rootCatObj = $global:cfgCategories | Where Id -eq $catObj.rootCategoryId
|
||||
|
||||
$script:settingCatalogasCategories.Add($defObj.categoryId, (New-Object PSObject -Property @{
|
||||
Category=$catObj
|
||||
RootCategory=$rootCatObj
|
||||
}))
|
||||
}
|
||||
|
||||
$script:curSettingsCatologPolicy = @()
|
||||
|
||||
$cfgSettings | % { Add-SettingsSetting $_.settingInstance $_.settingDefinitions } | Out-Null
|
||||
|
||||
foreach($item in ($script:curSettingsCatologPolicy | Select @{l="CategoryID";e={$_.CategoryDefinition.Id}}, @{l="SubCategoryID";e={$_.SubCategoryDefinition.Id}} -Unique))
|
||||
{
|
||||
$script:objectSettingsData += ($script:curSettingsCatologPolicy | Where { $_.CategoryDefinition.Id -eq $item.CategoryID -and $_.SubCategoryDefinition.Id -eq $item.SubCategoryID })
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Intent Objects (Endpoint Security)
|
||||
|
||||
function Get-IntentCategory
|
||||
@@ -1530,7 +1700,7 @@ function Add-IntentSettingObjectToList
|
||||
{
|
||||
$passConstraint = ($dependencyItemObj.RawValue -ne $null -and $dependencyItemObj.RawValue.ToString() -ne "NotConfigured" -and $dependencyItemObj.RawValue.ToString() -ne "False")
|
||||
}
|
||||
if(-not $passConstraint) { break ]}
|
||||
if(-not $passConstraint) { break }
|
||||
}
|
||||
|
||||
if(-not $passConstraint)
|
||||
@@ -2122,6 +2292,7 @@ function Invoke-TranslateSection
|
||||
$value = $null
|
||||
$valueSet = $false
|
||||
$useParentProp = $false
|
||||
$payloadFile = $false
|
||||
|
||||
#if($prop.enabled -eq $false -and $objInfo.ShowDisabled -ne $true) { continue }
|
||||
|
||||
@@ -2353,6 +2524,7 @@ function Invoke-TranslateSection
|
||||
if($prop.filenameEntityKey -and $obj."$($prop.filenameEntityKey)")
|
||||
{
|
||||
$value = $obj."$($prop.filenameEntityKey)"
|
||||
$payloadFile = $true
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2506,6 +2678,23 @@ function Invoke-TranslateSection
|
||||
if($addPropertyInfo)
|
||||
{
|
||||
Add-PropertyInfo (?: ($useParentProp -and $parent) $parent $prop) $value $rawValue
|
||||
|
||||
if($payloadFile -eq $true -and $obj.payload)
|
||||
{
|
||||
# Add payload file conetent as a property
|
||||
$tmpProp = [PSCustomObject]@{
|
||||
nameResourceKey = "uploadResult"
|
||||
descriptionResourceKey = ""
|
||||
entityKey = "payloadData"
|
||||
dataType = 20
|
||||
booleanActions = 0
|
||||
category = $prop.Category
|
||||
}
|
||||
|
||||
$propValue = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($obj.payload))
|
||||
|
||||
Add-PropertyInfo $tmpProp $propValue -originalValue $obj.payload
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -3592,6 +3781,7 @@ function Invoke-TranslateAssignments
|
||||
"uninstallOnDeviceRemoval",
|
||||
"isRemovable",
|
||||
"useDeviceLicensing",
|
||||
"preventManagedAppBackup",
|
||||
"androidManagedStoreAppTrackIds",
|
||||
"deliveryOptimizationPriority",
|
||||
"installTimeSettings",
|
||||
@@ -3692,7 +3882,7 @@ function Invoke-TranslateAssignments
|
||||
}
|
||||
$value = $tmpStr -f $tmpType
|
||||
}
|
||||
elseif($assignment.settings.$settingProp -eq "notConfigured")
|
||||
elseif("$($assignment.settings.$settingProp)" -eq "notConfigured")
|
||||
{
|
||||
$value = Get-LanguageString "BooleanActions.notConfigured"
|
||||
}
|
||||
@@ -4234,7 +4424,7 @@ function local:Invoke-StartDocumentatiom
|
||||
$script:migTable = $null
|
||||
$script:scopeTags = $null
|
||||
|
||||
$diSource = $nul
|
||||
$diSource = $null
|
||||
$global:intentCategories = $null
|
||||
$global:catRecommendedSettings = $null
|
||||
$global:intentCategoryDefs = $null
|
||||
@@ -4296,7 +4486,7 @@ function local:Invoke-StartDocumentatiom
|
||||
$tmpObj | Add-Member Noteproperty -Name "GroupName" -Value (Get-ObjectTypeGroupName $tmpObj.ObjectType) -Force
|
||||
}
|
||||
|
||||
if($groupSourceList.Count -eq 0) { contnue }
|
||||
if($groupSourceList.Count -eq 0) { continue }
|
||||
|
||||
if($curObjectType.GroupId -eq "EndpointSecurity")
|
||||
{
|
||||
@@ -4550,14 +4740,22 @@ function local:Invoke-StartDocumentatiom
|
||||
{
|
||||
Write-Status "Process $((Get-GraphObjectName $tmpObj.Object $tmpObj.ObjectType)) ($($obj.ObjectType.Title)) - $($global:cbDocumentationType.SelectedItem.Name)"
|
||||
|
||||
$hasRawValue = $false
|
||||
$documentedObj.Settings | % { if(($_.PSObject.Properties | Where Name -eq "RawValue")) { $hasRawValue=$true } }
|
||||
$hasRawValue
|
||||
|
||||
$filteredSettings = @()
|
||||
foreach($item in $documentedObj.Settings)
|
||||
{
|
||||
if(-not ($item.PSObject.Properties | Where Name -eq "RawValue") -or $documentedObj.UpdateFilteredObject -eq $false)
|
||||
{
|
||||
if($hasRawValue -eq $false) {
|
||||
$filteredSettings = $documentedObj.Settings
|
||||
break
|
||||
}
|
||||
$filteredSettings += $item
|
||||
continue
|
||||
}
|
||||
|
||||
if($item.AlwaysAddValue -eq $true)
|
||||
{
|
||||
@@ -4929,6 +5127,10 @@ function Invoke-CSVProcessItem
|
||||
{
|
||||
$properties = @("GroupMode","Group","Category","SubCategory")
|
||||
}
|
||||
elseif($documentedObj.Assignments[0].Group)
|
||||
{
|
||||
$properties = @("GroupMode","Group","Category")
|
||||
}
|
||||
else
|
||||
{
|
||||
$properties = @("GroupMode","Groups","Category")
|
||||
|
||||
@@ -10,7 +10,7 @@ This module will also document some objects based on PowerShell functions
|
||||
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.6.5'
|
||||
'1.6.6'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
@@ -76,7 +76,8 @@ function Invoke-CDDocumentObject
|
||||
Properties = @("Name","Value")
|
||||
}
|
||||
}
|
||||
elseif($type -eq '#microsoft.graph.androidManagedStoreAppConfiguration') {
|
||||
elseif($type -eq '#microsoft.graph.androidForWorkMobileAppConfiguration' -or
|
||||
$type -eq '#microsoft.graph.androidManagedStoreAppConfiguration') {
|
||||
|
||||
Invoke-CDDocumentAndroidManagedStoreAppConfiguration $documentationObj
|
||||
|
||||
@@ -84,8 +85,7 @@ function Invoke-CDDocumentObject
|
||||
Properties = @("Name","Value","Category","SubCategory")
|
||||
}
|
||||
}
|
||||
elseif($type -eq '#microsoft.graph.androidForWorkMobileAppConfiguration' -or
|
||||
$type -eq '#microsoft.graph.iosMobileAppConfiguration')
|
||||
elseif($type -eq '#microsoft.graph.iosMobileAppConfiguration')
|
||||
{
|
||||
Invoke-CDDocumentMobileAppConfiguration $documentationObj
|
||||
return [PSCustomObject]@{
|
||||
@@ -186,7 +186,7 @@ function Get-CDAllCloudApps
|
||||
{
|
||||
if(-not $script:allCloudApps)
|
||||
{
|
||||
$script:allCloudApps = (Invoke-GraphRequest -url "/servicePrincipals?`$select=displayName,appId&top=999" -ODataMetadata "minimal").value
|
||||
$script:allCloudApps = (Invoke-GraphRequest -url "/servicePrincipals?`$select=displayName,appId&top=999" -ODataMetadata "minimal" -AllPages).value
|
||||
}
|
||||
$script:allCloudApps
|
||||
}
|
||||
@@ -198,7 +198,7 @@ function Get-CDAllTenantApps
|
||||
$script:allTenantApps = Get-DocOfflineObjects "Applications"
|
||||
if(-not $script:allTenantApps)
|
||||
{
|
||||
$script:allTenantApps =(Invoke-GraphRequest -url "/deviceAppManagement/mobileApps?`$select=displayName,id&top=999" -ODataMetadata "minimal").value
|
||||
$script:allTenantApps =(Invoke-GraphRequest -url "/deviceAppManagement/mobileApps?`$select=displayName,id&top=999" -ODataMetadata "minimal" -AllPages).value
|
||||
}
|
||||
}
|
||||
$script:allTenantApps
|
||||
@@ -422,7 +422,7 @@ function Add-CDDocumentCustomProfileValue
|
||||
$value = $obj.startMenuAppListVisibility
|
||||
if($value.IndexOf(", ") -eq -1)
|
||||
{
|
||||
$value = $value -replace ",",", " # Option values in json file has space afte , but value in object don't
|
||||
$value = $value -replace ",",", " # Option values in json file has space after , but value in object don't
|
||||
}
|
||||
Invoke-TranslateOption $obj $prop -PropValue $value
|
||||
return $false
|
||||
@@ -908,6 +908,27 @@ function Add-CDDocumentCustomProfileProperty
|
||||
}
|
||||
elseif($obj.'@OData.Type' -like "#microsoft.graph.iosDeviceFeaturesConfiguration")
|
||||
{
|
||||
foreach($configuration in $obj.iosSingleSignOnExtension.configurations)
|
||||
{
|
||||
$configurationType = "notConfigured"
|
||||
if($configuration."@OData.Type" -eq "#microsoft.graph.keyStringValuePair")
|
||||
{
|
||||
$configurationType = Get-LanguageString "SettingDetails.singleSignOnExtensionConfigurationsTypeColumnOptionString"
|
||||
}
|
||||
elseif($configuration."@OData.Type" -eq "#microsoft.graph.keyBooleanValuePair")
|
||||
{
|
||||
$configurationType = Get-LanguageString "SettingDetails.singleSignOnExtensionConfigurationsTypeColumnOptionBoolean"
|
||||
}
|
||||
elseif($configuration."@OData.Type" -eq "#microsoft.graph.keyIntegerValuePair")
|
||||
{
|
||||
$configurationType = Get-LanguageString "SettingDetails.singleSignOnExtensionConfigurationsTypeColumnOptionInteger"
|
||||
}
|
||||
|
||||
$configuration | Add-Member Noteproperty -Name "configurationKey" -Value $configuration.key -Force
|
||||
$configuration | Add-Member Noteproperty -Name "configurationValue" -Value $configuration.value -Force
|
||||
$configuration | Add-Member Noteproperty -Name "configurationType" -Value $configurationType -Force
|
||||
|
||||
}
|
||||
#singleSignOnSettings
|
||||
$obj | Add-Member Noteproperty -Name "kerberosPrincipalName" -Value (?? $obj.singleSignOnSettings.kerberosPrincipalName "notConfigured") -Force
|
||||
|
||||
@@ -1180,6 +1201,12 @@ function Add-CDDocumentCustomProfileProperty
|
||||
}
|
||||
elseif($obj.'@OData.Type' -eq "#microsoft.graph.windows10EnrollmentCompletionPageConfiguration")
|
||||
{
|
||||
$installProgressTimeout = $obj.installProgressTimeoutInMinutes
|
||||
if($installProgressTimeout -eq 0) {
|
||||
$installProgressTimeout = 60
|
||||
}
|
||||
$obj | Add-Member Noteproperty -Name "InstallProgressTimeout" -Value $installProgressTimeout
|
||||
|
||||
if($obj.selectedMobileAppIds.Count -eq 0)
|
||||
{
|
||||
$apps = Get-LanguageString "EnrollmentStatusScreen.Apps.useSelectedAppsAll"
|
||||
@@ -1212,6 +1239,10 @@ function Add-CDDocumentCustomProfileProperty
|
||||
$returnCodes = @()
|
||||
$detectionRules = @()
|
||||
$requirementRules = @()
|
||||
$activeScripts = @()
|
||||
$activeInstallScript = $null
|
||||
$activeUninstallScript = $null
|
||||
|
||||
foreach($rc in $obj.returnCodes)
|
||||
{
|
||||
$returnCodes += [PSCustomObject]@{
|
||||
@@ -1240,6 +1271,46 @@ function Add-CDDocumentCustomProfileProperty
|
||||
}
|
||||
}
|
||||
|
||||
if($obj.activeInstallScript.'#ScriptInfo')
|
||||
{
|
||||
$scriptType = "install"
|
||||
$obj.installCommandLine = $null
|
||||
$installType = "Win32Program.installScript"
|
||||
|
||||
$activeInstallScript = [PSCustomObject]@{
|
||||
scriptType = $scriptType
|
||||
scriptName = $obj.activeInstallScript.'#ScriptInfo'.displayName
|
||||
scriptContent = $obj.activeInstallScript.'#ScriptInfo'.ScriptContent
|
||||
enforceSignatureCheck = $obj.activeInstallScript.'#ScriptInfo'.enforceSignatureCheck
|
||||
runAs32Bit = $obj.activeInstallScript.'#ScriptInfo'.runAs32Bit
|
||||
}
|
||||
Add-ObjectScript $header ("{0} - {1}" -f @($obj.displayName,$obj.activeInstallScript.'#ScriptInfo'.displayName)) $obj.activeInstallScript.'#ScriptInfo'.content
|
||||
}
|
||||
else
|
||||
{
|
||||
$installType = "Win32Program.installCommand"
|
||||
}
|
||||
|
||||
if($obj.activeUninstallScript.'#ScriptInfo')
|
||||
{
|
||||
$scriptType = "uninstall"
|
||||
$obj.uninstallCommandLine = $null
|
||||
$uninstallType = "Win32Program.uninstallScript"
|
||||
|
||||
$activeUninstallScript = [PSCustomObject]@{
|
||||
scriptType = $scriptType
|
||||
scriptName = $obj.activeUninstallScript.'#ScriptInfo'.displayName
|
||||
scriptContent = $obj.activeUninstallScript.'#ScriptInfo'.ScriptContent
|
||||
enforceSignatureCheck = $obj.activeUninstallScript.'#ScriptInfo'.enforceSignatureCheck
|
||||
runAs32Bit = $obj.activeUninstallScript.'#ScriptInfo'.runAs32Bit
|
||||
}
|
||||
Add-ObjectScript $header ("{0} - {1}" -f @($obj.displayName,$obj.activeUninstallScript.'#ScriptInfo'.displayName)) $obj.activeUninstallScript.'#ScriptInfo'.content
|
||||
}
|
||||
else
|
||||
{
|
||||
$uninstallType = "Win32Program.uninstallCommand"
|
||||
}
|
||||
|
||||
foreach($rule in $obj.requirementRules)
|
||||
{
|
||||
if($rule.'@OData.Type' -eq "#microsoft.graph.win32LobAppFileSystemRequirement")
|
||||
@@ -1308,7 +1379,11 @@ function Add-CDDocumentCustomProfileProperty
|
||||
$obj | Add-Member Noteproperty -Name "requirementRulesTranslated" -Value $requirementRules -Force
|
||||
$obj | Add-Member Noteproperty -Name "detectionRulesTranslated" -Value $detectionRules -Force
|
||||
$obj | Add-Member Noteproperty -Name "returnCodes" -Value $returnCodes -Force
|
||||
$obj | Add-Member Noteproperty -Name "activeInstallScript" -Value $activeInstallScript -Force
|
||||
$obj | Add-Member Noteproperty -Name "activeUninstallScript" -Value $activeUninstallScript -Force
|
||||
$obj | Add-Member Noteproperty -Name "win10Release" -Value (Get-LanguageString "MinimumOperatingSystem.Windows.V10Release.release$($obj.minimumSupportedWindowsRelease)") -Force
|
||||
$obj | Add-Member Noteproperty -Name "installerType" -Value (Get-LanguageString $installType) -Force
|
||||
$obj | Add-Member Noteproperty -Name "uninstallerType" -Value (Get-LanguageString $uninstallType) -Force
|
||||
}
|
||||
elseif($obj.'@OData.Type' -eq "#microsoft.graph.deviceHealthScript")
|
||||
{
|
||||
@@ -1329,6 +1404,17 @@ function Add-CDDocumentCustomProfileProperty
|
||||
Add-ObjectScript $header ("{1} - {0}" -f $obj.displayName,$header) $obj.remediationScriptContent
|
||||
}
|
||||
}
|
||||
elseif($obj.'@OData.Type' -eq "#microsoft.graph.hardwareConfiguration")
|
||||
{
|
||||
$vendor = ?? (Get-LanguageString "HardwareConfig.Settings.Tab.HardwareDropDown.$($obj.hardwareConfigurationFormat)" -IgnoreMissing) $obj.hardwareConfigurationFormat
|
||||
$obj | Add-Member Noteproperty -Name "vendor" -Value $vendor
|
||||
if($obj.configurationFileContent)
|
||||
{
|
||||
$obj | Add-Member Noteproperty -Name "configurationFileContentString" -Value ([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(($obj.configurationFileContent))))
|
||||
$header = Get-LanguageString "HardwareConfig.Settings.Tab.Configurations.perDevicePassword"
|
||||
Add-ObjectScript $header ("{1} - {0}" -f $obj.displayName,$header) $obj.configurationFileContent
|
||||
}
|
||||
}
|
||||
elseif($obj.'@OData.Type' -eq "#microsoft.graph.deviceManagementScript")
|
||||
{
|
||||
if($obj.ScriptContent)
|
||||
@@ -1852,8 +1938,21 @@ function Invoke-CDDocumentAndroidManagedStoreAppConfiguration
|
||||
###################################################
|
||||
# Basic info
|
||||
###################################################
|
||||
$profileString = $null
|
||||
if($obj.profileApplicability -eq "default")
|
||||
{
|
||||
$profileString = Get-LanguageString "ProfileType.workProfileAndDeviceOwner"
|
||||
}
|
||||
elseif($obj.profileApplicability -eq "androidWorkProfile")
|
||||
{
|
||||
$profileString = Get-LanguageString "ProfileType.workProfileOnly"
|
||||
}
|
||||
elseif($obj.profileApplicability -eq "androidDeviceOwner")
|
||||
{
|
||||
$profileString = Get-LanguageString "ProfileType.deviceOwnerOnly"
|
||||
}
|
||||
|
||||
Add-BasicDefaultValues $obj $objectType
|
||||
Add-BasicDefaultValues $obj $objectType $profileString
|
||||
Add-BasicAdditionalValues $obj $objectType
|
||||
#Add-BasicPropertyValue (Get-LanguageString "TableHeaders.configurationType") (Get-LanguageString "SettingDetails.appConfiguration")
|
||||
#Add-BasicPropertyValue (Get-LanguageString "Inputs.enrollmentTypeLabel") (Get-LanguageString "EnrollmentType.devicesWithEnrollment")
|
||||
@@ -1885,26 +1984,20 @@ function Invoke-CDDocumentAndroidManagedStoreAppConfiguration
|
||||
}
|
||||
|
||||
# Not the best way. BundleId should be used but then full app info is required
|
||||
if($obj.packageId -eq "com.microsoft.office.outlook*")
|
||||
if($obj.packageId -eq "com.microsoft.office.outlook")
|
||||
{
|
||||
if([IO.File]::Exists(($global:AppRootFolder + "\Documentation\ObjectInfo\#AppConfigOutlookDevice.json")))
|
||||
{
|
||||
$tmp = $obj.settings | Where { $_.appConfigKey -eq "com.microsoft.outlook.EmailProfile.AccountType" }
|
||||
$tmp = $payloadData.managedProperty | Where { $_.key -eq "com.microsoft.outlook.EmailProfile.AccountType" }
|
||||
if($tmp){ $configEmail=$true }else{ $configEmail=$false }
|
||||
$outlookSettings = [PSCustomObject]@{
|
||||
configureEmail = $configEmail
|
||||
}
|
||||
foreach($setting in $obj.settings)
|
||||
|
||||
foreach($managedProperty in $payloadData.managedProperty)
|
||||
{
|
||||
if($setting.appConfigKeyType -eq "booleanType")
|
||||
{
|
||||
$value = $setting.appConfigKeyValue -eq "true"
|
||||
}
|
||||
else
|
||||
{
|
||||
$value = $setting.appConfigKeyValue
|
||||
}
|
||||
$outlookSettings | Add-Member Noteproperty -Name $setting.appConfigKey -Value $value -Force
|
||||
$valueProperty = $managedProperty.PSObject.Properties | Where-Object Name -like "value*"
|
||||
$outlookSettings | Add-Member Noteproperty -Name $managedProperty.key -Value $valueProperty.Value -Force
|
||||
}
|
||||
|
||||
$jsonObj = Get-Content ($global:AppRootFolder + "\Documentation\ObjectInfo\#AppConfigOutlookDevice.json") | ConvertFrom-Json
|
||||
@@ -1914,6 +2007,8 @@ function Invoke-CDDocumentAndroidManagedStoreAppConfiguration
|
||||
|
||||
$addedSettings = Get-DocumentedSettings
|
||||
|
||||
$additionalSettings = @()
|
||||
|
||||
foreach($managedProperty in $payloadData.managedProperty)
|
||||
{
|
||||
if(($addedSettings | Where EntityKey -eq $managedProperty.key)) { continue }
|
||||
@@ -1926,14 +2021,44 @@ function Invoke-CDDocumentAndroidManagedStoreAppConfiguration
|
||||
$value = $value -join ","
|
||||
}
|
||||
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
$additionalSettings += ([PSCustomObject]@{
|
||||
Name = $managedProperty.key
|
||||
ValueType = $valueProperty.Name.SubString(5)
|
||||
Value = $value
|
||||
EntityKey = $managedProperty.key
|
||||
Category = Get-LanguageString "TACSettings.generalSettings"
|
||||
SubCategory = Get-LanguageString "SettingDetails.additionalConfiguration"
|
||||
})
|
||||
}
|
||||
|
||||
if($additionalSettings.Count -gt 0) {
|
||||
Add-CustomTable "AdditionalSettings" @("Name","ValueType","Value") $additionalSettings -Order 110
|
||||
}
|
||||
|
||||
$permissions = @()
|
||||
|
||||
foreach($permission in $obj.permissionActions)
|
||||
{
|
||||
$permissionTemp = $permission.permission.Split('.')[-1]
|
||||
if($permissionTemp) {
|
||||
$permissionLngId = $permissionTemp -replace "_", ""
|
||||
|
||||
$permissionStr = ?? (Get-LanguageString "AndroidForWorkAppPermissions.Permissions.$($permissionLngId)") $permissionTemp
|
||||
}
|
||||
else {
|
||||
$permissionStr = $permission.permission
|
||||
}
|
||||
|
||||
$permissions += ([PSCustomObject]@{
|
||||
Permission = $permissionStr
|
||||
Action = ?? (Get-LanguageString "AndroidForWorkAppPermissions.Action.$($permission.action)") $permission.action
|
||||
EntityKey = $permission.permission
|
||||
})
|
||||
}
|
||||
|
||||
if($permissions.Count -gt 0) {
|
||||
Add-CustomTable "Permissions" @("Permission","Action") $permissions -Order 115 -LanguageId "AndroidForWorkAppPermissions.permissionsTitle"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1990,11 +2115,22 @@ function Invoke-CDDocumentMobileAppConfiguration
|
||||
{
|
||||
$name = $xml.dict.ChildNodes[$i].'#text'
|
||||
$i++
|
||||
|
||||
if($xml.dict.ChildNodes[$i].Name -eq "true" -or $xml.dict.ChildNodes[$i].Name -eq "false")
|
||||
{
|
||||
$value = $xml.dict.ChildNodes[$i].Name
|
||||
$type = "boolean"
|
||||
}
|
||||
else
|
||||
{
|
||||
$value = $xml.dict.ChildNodes[$i].'#text'
|
||||
$type = $xml.dict.ChildNodes[$i].Name
|
||||
}
|
||||
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
Name = $name
|
||||
Value = $value
|
||||
ValueType = $type
|
||||
EntityKey = $name
|
||||
Category = $category
|
||||
})
|
||||
@@ -2002,8 +2138,18 @@ function Invoke-CDDocumentMobileAppConfiguration
|
||||
}
|
||||
else
|
||||
{
|
||||
$isOutlook = $false
|
||||
|
||||
foreach($targetedAppId in $obj.targetedMobileApps) {
|
||||
$app = $allApps | Where Id -eq $targetedAppId
|
||||
if($app.displayName -eq "Microsoft Outlook") {
|
||||
$isOutlook = $true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
# Not the best way. BundleId should be used but then full app info is required
|
||||
if(($obj.packageId | Where { $_.appConfigKey -like "com.microsoft.outlook*" }))
|
||||
if($isOutlook -or ($obj.packageId | Where { $_.appConfigKey -like "com.microsoft.outlook*" }))
|
||||
{
|
||||
if([IO.File]::Exists(($global:AppRootFolder + "\Documentation\ObjectInfo\#AppConfigOutlookDevice.json")))
|
||||
{
|
||||
@@ -2164,7 +2310,7 @@ function Invoke-CDDocumentCountryNamedLocation
|
||||
$countryList = @()
|
||||
foreach($country in $obj.countriesAndRegions)
|
||||
{
|
||||
$countryList += Get-LanguageString "CountryNames.countryName$($country.ToLower())"
|
||||
$countryList += Get-LanguageString "AzureIAMCommon.CountryNames.countryName$($country.ToUpper())"
|
||||
}
|
||||
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
@@ -2263,6 +2409,10 @@ function Invoke-CDDocumentTermsOfUse
|
||||
if($obj.termsExpiration.startDateTime -is [DateTime])
|
||||
{
|
||||
$tmpDate = $obj.termsExpiration.startDateTime
|
||||
if($tmpDate.Kind -eq "UTC")
|
||||
{
|
||||
$tmpDate = $tmpDate.ToLocalTime()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3139,7 +3289,7 @@ function Invoke-CDDocumentConditionalAccess
|
||||
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
Name = Get-LanguageString "AzureCA.WhatIfBlade.authenticationStrength"
|
||||
Value = $termsOfUse -join $script:objectSeparator
|
||||
Value = $authenticationStrngth -join $script:objectSeparator
|
||||
Category = $category
|
||||
SubCategory = ""
|
||||
EntityKey = "authenticationStrength"
|
||||
@@ -4117,8 +4267,18 @@ function Invoke-CDDocumentWindowsKioskConfiguration
|
||||
if($obj.windowsKioskForceUpdateSchedule)
|
||||
{
|
||||
try
|
||||
{
|
||||
if($obj.windowsKioskForceUpdateSchedule.startDateTime -is [DateTime]) {
|
||||
$startDateObj = $obj.windowsKioskForceUpdateSchedule.startDateTime
|
||||
if($startDateObj.Kind -eq "UTC")
|
||||
{
|
||||
$startDateObj = $startDateObj.ToLocalTime()
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$startDateObj = Get-Date $obj.windowsKioskForceUpdateSchedule.startDateTime -ErrorAction Stop
|
||||
}
|
||||
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
Name = Get-LanguageString "SettingDetails.kioskStartDateTime"
|
||||
@@ -4572,15 +4732,18 @@ function Invoke-CDDocumentTranslateSectionFile
|
||||
if($null -eq $obj.deviceCompliancePolicyScript)
|
||||
{
|
||||
$propValue = Get-LanguageString "BooleanActions.notConfigured"
|
||||
$rawValue = "notConfigured"
|
||||
}
|
||||
else
|
||||
{
|
||||
$propValue = Get-LanguageString "BooleanActions.require"
|
||||
$rawValue = "require"
|
||||
}
|
||||
Add-CustomSettingObject ([PSCustomObject]@{
|
||||
Name = Get-LanguageString "SettingDetails.adminConfiguredComplianceSettingName"
|
||||
Value = $propValue
|
||||
EntityKey = "deviceCompliancePolicyScript"
|
||||
RawValue = $rawValue
|
||||
Category = $category
|
||||
SubCategory = $null
|
||||
})
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.0.1'
|
||||
'1.1.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
@@ -74,7 +74,7 @@ function Invoke-HTMLPreProcessItems
|
||||
Write-Log "CSS file not specified. Using default" 2
|
||||
$HTMLCssFile = $defaultCSSFile
|
||||
}
|
||||
elseif([IO.File]::Exists($HTMLCssFile) -eq -$false)
|
||||
elseif([IO.File]::Exists($HTMLCssFile) -eq $false)
|
||||
{
|
||||
Write-Log "CSS file $($HTMLCssFile) not found. Using default" 2
|
||||
$HTMLCssFile = $defaultCSSFile
|
||||
@@ -332,8 +332,10 @@ function Invoke-HTMLProcessItem
|
||||
|
||||
$lngId = ?: ($tableType -eq "BasicInfo") "SettingDetails.basics" "TableHeaders.settings" -AddCategories
|
||||
|
||||
if(($documentedObj.$tableType).Count -gt 0) {
|
||||
Add-HTMLTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId -AddCategories -AddSubcategories
|
||||
}
|
||||
}
|
||||
|
||||
if(($documentedObj.ComplianceActions | measure).Count -gt 0)
|
||||
{
|
||||
@@ -351,6 +353,11 @@ function Invoke-HTMLProcessItem
|
||||
|
||||
Add-HTMLObjectSettings $obj $objectType $documentedObj
|
||||
|
||||
foreach($customTable in ($documentedObj.CustomTables | Sort-Object -Property Order))
|
||||
{
|
||||
Add-HTMLTableItems $obj $objectType $customTable.Values $customTable.Columns $customTable.LanguageId -AddCategories -AddSubcategories
|
||||
}
|
||||
|
||||
if(($documentedObj.Assignments | measure).Count -gt 0)
|
||||
{
|
||||
if($documentedObj.Assignments[0].RawIntent)
|
||||
|
||||
@@ -0,0 +1,265 @@
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.0.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
{
|
||||
Add-OutputType ([PSCustomObject]@{
|
||||
Name = "Json"
|
||||
Value = "json"
|
||||
OutputOptions = (Add-JsonOptionsControl)
|
||||
PreProcess = { Invoke-JsonPreProcessItems @args }
|
||||
NewObjectGroup = { Invoke-JsonNewObjectGroup @args }
|
||||
NewObjectType = { Invoke-JsonNewObjectType @args }
|
||||
Process = { Invoke-JsonProcessItem @args }
|
||||
PostProcess = { Invoke-JsonPostProcessItems @args }
|
||||
})
|
||||
}
|
||||
|
||||
function Add-JsonOptionsControl
|
||||
{
|
||||
$script:jsonForm = Get-XamlObject ($global:AppRootFolder + "\Xaml\DocumentationJsonOptions.xaml") -AddVariables
|
||||
|
||||
Set-XamlProperty $script:jsonForm "txtJsonFileName" "Text" (Get-Setting "Documentation" "JsonDocumentName" "")
|
||||
Set-XamlProperty $script:jsonForm "chkJsonOpenDocument" "IsChecked" (Get-Setting "Documentation" "JsonOpenFile" $true)
|
||||
$outputFileTypes = '[ { "Name": "Single file", "Value": "Full" }, { "Name": "One file per object type", "Value": "ObjectType" } ]' | ConvertFrom-Json
|
||||
Set-XamlProperty $script:jsonForm "cbJsonOutputFile" "ItemsSource" $outputFileTypes
|
||||
Set-XamlProperty $script:jsonForm "cbJsonOutputFile" "SelectedValue" (Get-Setting "Documentation" "JsonOutputFileType" "Full")
|
||||
|
||||
Add-XamlEvent $script:jsonForm "browseJsonFileName" "add_click" {
|
||||
$sf = [System.Windows.Forms.SaveFileDialog]::new()
|
||||
$sf.DefaultExt = "json"
|
||||
$sf.Filter = "Json (*.json)|*.json|All files (*.*)|*.*"
|
||||
if ($sf.ShowDialog() -eq "OK")
|
||||
{
|
||||
Set-XamlProperty $script:jsonForm "txtJsonFileName" "Text" $sf.FileName
|
||||
Save-Setting "Documentation" "JsonDocumentName" $sf.FileName
|
||||
}
|
||||
}
|
||||
|
||||
$script:jsonForm
|
||||
}
|
||||
|
||||
function Invoke-JsonPreProcessItems
|
||||
{
|
||||
$script:jsonAllObjects = [System.Collections.Generic.List[object]]::new()
|
||||
$script:jsonCurrentTypeObjects = [System.Collections.Generic.List[object]]::new()
|
||||
$script:jsonCurrentTypeName = $null
|
||||
|
||||
$script:jsonOutputType = Get-XamlProperty $script:jsonForm "cbJsonOutputFile" "SelectedValue" "Full"
|
||||
|
||||
$jsonFileName = Get-XamlProperty $script:jsonForm "txtJsonFileName" "Text" ""
|
||||
|
||||
Save-Setting "Documentation" "JsonDocumentName" $jsonFileName
|
||||
Save-Setting "Documentation" "JsonOpenFile" (Get-XamlProperty $script:jsonForm "chkJsonOpenDocument" "IsChecked")
|
||||
Save-Setting "Documentation" "JsonOutputFileType" $script:jsonOutputType
|
||||
|
||||
$script:jsonOutFile = Expand-FileName (?? $jsonFileName "%MyDocuments%\%Organization%-%Date%.json")
|
||||
$script:jsonDocumentPath = [IO.Path]::GetDirectoryName($script:jsonOutFile)
|
||||
}
|
||||
|
||||
function Invoke-JsonNewObjectGroup
|
||||
{
|
||||
param($groupId)
|
||||
# Groups are not used in flat Json output
|
||||
}
|
||||
|
||||
function Invoke-JsonNewObjectType
|
||||
{
|
||||
param($objectTypeName)
|
||||
|
||||
if ($script:jsonOutputType -eq "ObjectType" -and
|
||||
$script:jsonCurrentTypeName -and
|
||||
$script:jsonCurrentTypeObjects.Count -gt 0)
|
||||
{
|
||||
Save-JsonTypeFile $script:jsonCurrentTypeName $script:jsonCurrentTypeObjects
|
||||
}
|
||||
|
||||
$script:jsonCurrentTypeName = $objectTypeName
|
||||
$script:jsonCurrentTypeObjects = [System.Collections.Generic.List[object]]::new()
|
||||
}
|
||||
|
||||
function Invoke-JsonProcessItem
|
||||
{
|
||||
param($obj, $objectType, $documentedObj)
|
||||
|
||||
if (-not $documentedObj -or -not $obj -or -not $objectType) { return }
|
||||
|
||||
$objName = Get-GraphObjectName $obj $objectType
|
||||
|
||||
try
|
||||
{
|
||||
$jsonObj = [ordered]@{
|
||||
objectType = $objectType.Title
|
||||
name = $objName
|
||||
}
|
||||
|
||||
# BasicInfo as a flat key/value object
|
||||
if ($documentedObj.BasicInfo.Count -gt 0)
|
||||
{
|
||||
$basicInfo = [ordered]@{}
|
||||
foreach ($item in $documentedObj.BasicInfo)
|
||||
{
|
||||
if ($item.Name) { $basicInfo[$item.Name] = $item.Value }
|
||||
}
|
||||
$jsonObj.basicInfo = $basicInfo
|
||||
}
|
||||
|
||||
# Detailed settings as an array
|
||||
if ($documentedObj.FilteredSettings.Count -gt 0)
|
||||
{
|
||||
$settings = [System.Collections.Generic.List[object]]::new()
|
||||
foreach ($item in $documentedObj.FilteredSettings)
|
||||
{
|
||||
$setting = [ordered]@{ name = $item.Name; value = $item.Value }
|
||||
if ($item.Category) { $setting.category = $item.Category }
|
||||
if ($item.SubCategory) { $setting.subCategory = $item.SubCategory }
|
||||
$settings.Add($setting)
|
||||
}
|
||||
$jsonObj.settings = $settings
|
||||
}
|
||||
|
||||
# Compliance actions
|
||||
if (($documentedObj.ComplianceActions | Measure-Object).Count -gt 0)
|
||||
{
|
||||
$actions = [System.Collections.Generic.List[object]]::new()
|
||||
foreach ($item in $documentedObj.ComplianceActions)
|
||||
{
|
||||
$actions.Add([ordered]@{
|
||||
action = $item.Action
|
||||
schedule = $item.Schedule
|
||||
messageTemplate = $item.MessageTemplate
|
||||
emailCC = $item.EmailCC
|
||||
})
|
||||
}
|
||||
$jsonObj.complianceActions = $actions
|
||||
}
|
||||
|
||||
# Applicability rules
|
||||
if (($documentedObj.ApplicabilityRules | Measure-Object).Count -gt 0)
|
||||
{
|
||||
$rules = [System.Collections.Generic.List[object]]::new()
|
||||
foreach ($item in $documentedObj.ApplicabilityRules)
|
||||
{
|
||||
$rules.Add([ordered]@{
|
||||
rule = $item.Rule
|
||||
property = $item.Property
|
||||
value = $item.Value
|
||||
})
|
||||
}
|
||||
$jsonObj.applicabilityRules = $rules
|
||||
}
|
||||
|
||||
# Custom tables — each becomes a top-level array keyed by the last segment of the language ID
|
||||
foreach ($customTable in ($documentedObj.CustomTables | Sort-Object -Property Order))
|
||||
{
|
||||
if (-not $customTable.Values -or ($customTable.Values | Measure-Object).Count -eq 0) { continue }
|
||||
|
||||
$tableKey = if ($customTable.LanguageId) { $customTable.LanguageId.Split('.')[-1] } else { "customTable" }
|
||||
$tableArr = [System.Collections.Generic.List[object]]::new()
|
||||
|
||||
foreach ($item in $customTable.Values)
|
||||
{
|
||||
$tableObj = [ordered]@{}
|
||||
foreach ($col in $customTable.Columns)
|
||||
{
|
||||
$colName = $col.Split('.')[-1]
|
||||
$tableObj[$colName] = "$($item.$colName)"
|
||||
}
|
||||
$tableArr.Add($tableObj)
|
||||
}
|
||||
$jsonObj[$tableKey] = $tableArr
|
||||
}
|
||||
|
||||
# Assignments
|
||||
if (($documentedObj.Assignments | Measure-Object).Count -gt 0)
|
||||
{
|
||||
$assignments = [System.Collections.Generic.List[object]]::new()
|
||||
$hasRawIntent = $null -ne $documentedObj.Assignments[0].RawIntent
|
||||
|
||||
foreach ($item in $documentedObj.Assignments)
|
||||
{
|
||||
if ($hasRawIntent)
|
||||
{
|
||||
$assignObj = [ordered]@{
|
||||
groupMode = $item.GroupMode
|
||||
group = $item.Group
|
||||
}
|
||||
if ($null -ne $item.Filter) { $assignObj.filter = $item.Filter }
|
||||
if ($null -ne $item.FilterMode) { $assignObj.filterMode = $item.FilterMode }
|
||||
if ($item.Settings)
|
||||
{
|
||||
$settingsObj = [ordered]@{}
|
||||
foreach ($key in $item.Settings.Keys)
|
||||
{
|
||||
if ($key -in @("Category","RawIntent")) { continue }
|
||||
$settingsObj[$key] = $item.Settings[$key]
|
||||
}
|
||||
$assignObj.settings = $settingsObj
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$assignObj = [ordered]@{ group = $item.Group }
|
||||
if ($item.PSObject.Properties.Name -contains "Filter") { $assignObj.filter = $item.Filter }
|
||||
if ($item.PSObject.Properties.Name -contains "FilterMode") { $assignObj.filterMode = $item.FilterMode }
|
||||
}
|
||||
$assignments.Add($assignObj)
|
||||
}
|
||||
$jsonObj.assignments = $assignments
|
||||
}
|
||||
|
||||
# Scripts — included when "Document scripts" is checked in the documentation form
|
||||
if ($global:chkIncludeScripts.IsChecked -and ($documentedObj.Scripts | Measure-Object).Count -gt 0)
|
||||
{
|
||||
$scripts = [System.Collections.Generic.List[object]]::new()
|
||||
foreach ($scriptItem in $documentedObj.Scripts)
|
||||
{
|
||||
if (-not $scriptItem.ScriptContent) { continue }
|
||||
$scripts.Add([ordered]@{
|
||||
caption = $scriptItem.Caption
|
||||
content = $scriptItem.ScriptContent
|
||||
})
|
||||
}
|
||||
if ($scripts.Count -gt 0) { $jsonObj.scripts = $scripts }
|
||||
}
|
||||
|
||||
$script:jsonCurrentTypeObjects.Add($jsonObj)
|
||||
if ($script:jsonOutputType -ne "ObjectType") { $script:jsonAllObjects.Add($jsonObj) }
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-LogError "Failed to process object $objName" $_.Exception
|
||||
}
|
||||
}
|
||||
|
||||
function Invoke-JsonPostProcessItems
|
||||
{
|
||||
$openFile = (Get-XamlProperty $script:jsonForm "chkJsonOpenDocument" "IsChecked") -eq $true
|
||||
|
||||
if ($script:jsonOutputType -eq "ObjectType")
|
||||
{
|
||||
if ($script:jsonCurrentTypeName -and $script:jsonCurrentTypeObjects.Count -gt 0)
|
||||
{
|
||||
Save-JsonTypeFile $script:jsonCurrentTypeName $script:jsonCurrentTypeObjects
|
||||
}
|
||||
Write-Log "Json documentation saved to folder: $($script:jsonDocumentPath)"
|
||||
}
|
||||
else
|
||||
{
|
||||
$jsonContent = ConvertTo-Json -InputObject @($script:jsonAllObjects) -Depth 20
|
||||
Save-DocumentationFile $jsonContent $script:jsonOutFile -OpenFile:$openFile
|
||||
}
|
||||
}
|
||||
|
||||
function Save-JsonTypeFile
|
||||
{
|
||||
param($typeName, $objects)
|
||||
|
||||
$safeTypeName = Remove-InvalidFileNameChars ($typeName.Replace(" ", "_"))
|
||||
$typeFileName = [IO.Path]::Combine($script:jsonDocumentPath, "$safeTypeName.json")
|
||||
$jsonContent = ConvertTo-Json -InputObject @($objects) -Depth 20
|
||||
Save-DocumentationFile $jsonContent $typeFileName
|
||||
Write-Log "Saved $($objects.Count) objects to $typeFileName"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.1.1'
|
||||
'1.2.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
@@ -29,6 +29,7 @@ function Add-MDOptionsControl
|
||||
Set-XamlProperty $script:mdForm "chkMDOpenDocument" "IsChecked" (Get-Setting "Documentation" "MDOpenFile" $true)
|
||||
Set-XamlProperty $script:mdForm "cbMDDocumentOutputFile" "ItemsSource" ("[ { Name: `"Single file`",Value: `"Full`" }, { Name: `"One file per object`",Value: `"Object`" }]" | ConvertFrom-Json)
|
||||
Set-XamlProperty $script:mdForm "cbMDDocumentOutputFile" "SelectedValue" (Get-Setting "Documentation" "MDDocumentFileType" "Full")
|
||||
Set-XamlProperty $script:mdForm "cbMDDocumentSkipDate" "IsChecked" ((Get-Setting "Documentation" "MDDocumentSkipDate" "False") -eq "True")
|
||||
|
||||
Add-XamlEvent $script:mdForm "browseMDDocumentName" "add_click" {
|
||||
$sf = [System.Windows.Forms.SaveFileDialog]::new()
|
||||
@@ -72,6 +73,7 @@ function Invoke-MDPreProcessItems
|
||||
Save-Setting "Documentation" "MDCSSFile" (Get-XamlProperty $script:mdForm "txtMDCSSFile" "Text" "")
|
||||
Save-Setting "Documentation" "MDOpenFile" (Get-XamlProperty $script:mdForm "chkMDOpenDocument" "IsChecked")
|
||||
Save-Setting "Documentation" "MDDocumentFileType" (Get-XamlProperty $script:mdForm "cbMDDocumentOutputFile" "SelectedValue" '')
|
||||
Save-Setting "Documentation" "MDDocumentSkipDate" (Get-XamlProperty $script:mdForm "cbMDDocumentSkipDate" "IsChecked")
|
||||
|
||||
$defaultCSSFile = $global:AppRootFolder + "\Documentation\DefaultMDStyle.css"
|
||||
$MDCssFile = Get-XamlProperty $script:mdForm "txtMDCSSFile" "Text" $defaultCSSFile
|
||||
@@ -81,7 +83,7 @@ function Invoke-MDPreProcessItems
|
||||
Write-Log "CSS file not specified. Using default" 2
|
||||
$MDCssFile = $defaultCSSFile
|
||||
}
|
||||
elseif([IO.File]::Exists($MDCssFile) -eq -$false)
|
||||
elseif([IO.File]::Exists($MDCssFile) -eq $false)
|
||||
{
|
||||
Write-Log "CSS file $($MDCssFile) not found. Using default" 2
|
||||
$MDCssFile = $defaultCSSFile
|
||||
@@ -142,7 +144,9 @@ function Invoke-MDPostProcessItems
|
||||
|
||||
$script:mdContent.AppendLine("*Organization:* $($global:Organization.displayName)`n")
|
||||
$script:mdContent.AppendLine("*Generated by:* $userName$mail`n")
|
||||
if((Get-XamlProperty $script:mdForm "cbMDDocumentSkipDate" "IsChecked") -ne $true) {
|
||||
$script:mdContent.AppendLine("*Generated:* $((Get-Date).ToShortDateString()) $((Get-Date).ToLongTimeString())`n")
|
||||
}
|
||||
|
||||
if($script:sectionAnchors.Count -gt 0)
|
||||
{
|
||||
@@ -265,7 +269,7 @@ function Invoke-MDProcessItem
|
||||
|
||||
foreach($prop in $global:txtMDCustomProperties.Text.Split(","))
|
||||
{
|
||||
# This will add language support for custom columens (or replacing existing header)
|
||||
# This will add language support for custom columns (or replacing existing header)
|
||||
$propInfo = $prop.Split('=')
|
||||
if(($propInfo | measure).Count -gt 1)
|
||||
{
|
||||
@@ -285,7 +289,9 @@ function Invoke-MDProcessItem
|
||||
|
||||
$lngId = ?: ($tableType -eq "BasicInfo") "SettingDetails.basics" "TableHeaders.settings" -AddCategories
|
||||
|
||||
if(($documentedObj.$tableType).Count -gt 0) {
|
||||
Add-MDTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId -AddCategories -AddSubcategories
|
||||
}
|
||||
|
||||
#Add-MDTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId `
|
||||
# -AddCategories:($global:chkMDAddCategories.IsChecked -eq $true) `
|
||||
@@ -308,6 +314,11 @@ function Invoke-MDProcessItem
|
||||
|
||||
Add-MDObjectSettings $obj $objectType $documentedObj
|
||||
|
||||
foreach($customTable in ($documentedObj.CustomTables | Sort-Object -Property Order))
|
||||
{
|
||||
Add-MDTableItems $obj $objectType $customTable.Values $customTable.Columns $customTable.LanguageId -AddCategories -AddSubcategories
|
||||
}
|
||||
|
||||
if(($documentedObj.Assignments | measure).Count -gt 0)
|
||||
{
|
||||
if($documentedObj.Assignments[0].RawIntent)
|
||||
|
||||
@@ -3,22 +3,39 @@
|
||||
#https://docs.microsoft.com/en-us/office/vba/api/overview/word
|
||||
function Get-ModuleVersion
|
||||
{
|
||||
'1.6.0'
|
||||
'1.7.0'
|
||||
}
|
||||
|
||||
function Invoke-InitializeModule
|
||||
{
|
||||
if(!("Microsoft.Office.Interop.Word.Application" -as [Type]))
|
||||
{
|
||||
$loaded = $false
|
||||
try
|
||||
{
|
||||
Add-Type -AssemblyName Microsoft.Office.Interop.Word
|
||||
$loaded = $true
|
||||
}
|
||||
catch { }
|
||||
try
|
||||
{
|
||||
$wordFile = Get-ChildItem -path "$($env:windir)\assembly\GAC_MSIL" -Filter "Microsoft.Office.Interop.Word.dll" -Recurse
|
||||
if($wordFile -and $wordFile.Exists)
|
||||
{
|
||||
Add-Type -Path $wordFile.FullName
|
||||
$loaded = $true
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-LogError "Failed to add Word Interop type. Cannot create word documents. Verify that Word is installed properly." $_.Exception
|
||||
return
|
||||
}
|
||||
|
||||
if(-not $loaded) {
|
||||
Write-LogError "Word Interop type not found. Cannot create word documents. Verify that Word is installed properly." $_.Exception
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Add-OutputType ([PSCustomObject]@{
|
||||
@@ -46,6 +63,18 @@ function Add-WordOptionsControl
|
||||
$global:spWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
||||
$global:txtWordCustomProperties.Visibility = (?: ($global:cbWordDocumentationProperties.SelectedValue -ne "custom") "Collapsed" "Visible")
|
||||
|
||||
$global:cbWordDocumentationFormat.ItemsSource = ("[ { Name: `"Word default document (docx)`",Value: `"wdFormatDocumentDefault`" }, { Name: `"Strict Open XML document`",Value: `"wdFormatStrictOpenXMLDocument`" }, { Name: `"PDF`",Value: `"wdFormatPDF`" }]" | ConvertFrom-Json)
|
||||
$currentFormat = (Get-Setting "Documentation" "WordDocumentFormat" "wdFormatDocumentDefault")
|
||||
if($currentFormat -eq "pdf")
|
||||
{
|
||||
$currentFormat = "wdFormatPDF"
|
||||
}
|
||||
elseif($currentFormat -eq "docx")
|
||||
{
|
||||
$currentFormat = "wdFormatDocumentDefault"
|
||||
}
|
||||
$global:cbWordDocumentationFormat.SelectedValue = $currentFormat
|
||||
|
||||
$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")
|
||||
|
||||
@@ -114,6 +143,7 @@ function Invoke-WordPreProcessItems
|
||||
{
|
||||
Save-Setting "Documentation" "WordExportProperties" $global:cbWordDocumentationProperties.SelectedValue
|
||||
Save-Setting "Documentation" "WordCustomDisplayProperties" $global:txtWordCustomProperties.Text
|
||||
Save-Setting "Documentation" "WordDocumentFormat" $global:cbWordDocumentationFormat.SelectedValue
|
||||
Save-Setting "Documentation" "WordDocumentTemplate" $global:txtWordDocumentTemplate.Text
|
||||
Save-Setting "Documentation" "WordDocumentName" $global:txtWordDocumentName.Text
|
||||
|
||||
@@ -208,7 +238,7 @@ function Invoke-WordPreProcessItems
|
||||
{
|
||||
try
|
||||
{
|
||||
$script:doc = $wordApp.Documents.Add($global:txtWordDocumentTemplate.Text)
|
||||
$script:doc = $script:wordApp.Documents.Add($global:txtWordDocumentTemplate.Text)
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -217,7 +247,7 @@ function Invoke-WordPreProcessItems
|
||||
}
|
||||
else
|
||||
{
|
||||
$script:doc = $wordApp.Documents.Add()
|
||||
$script:doc = $script:wordApp.Documents.Add()
|
||||
}
|
||||
|
||||
#Get BuiltIn properties
|
||||
@@ -262,7 +292,7 @@ function Invoke-WordPreProcessItems
|
||||
|
||||
$script:wordStyles = @()
|
||||
$script:doc.Styles | foreach {
|
||||
$script:wordStyles += [PSCUstomObject]@{
|
||||
$script:wordStyles += [PSCustomObject]@{
|
||||
Name=$_.NameLocal
|
||||
Type=$_.Type
|
||||
Style=$_
|
||||
@@ -379,10 +409,51 @@ function Invoke-WordPostProcessItems
|
||||
catch {}
|
||||
|
||||
#update fields, ToC etc.
|
||||
try {
|
||||
$script:doc.Fields | ForEach-Object -Process { $_.Update() | Out-Null }
|
||||
}
|
||||
catch {
|
||||
Write-LogError "Failed to update document fields" $_.Exception
|
||||
}
|
||||
try {
|
||||
$script:doc.TablesOfContents | ForEach-Object -Process { $_.Update() | Out-Null }
|
||||
}
|
||||
catch {
|
||||
Write-LogError "Failed to update Table of Contents" $_.Exception
|
||||
}
|
||||
try {
|
||||
$script:doc.TablesOfFigures | ForEach-Object -Process { $_.Update() | Out-Null }
|
||||
}
|
||||
catch {
|
||||
Write-LogError "Failed to update Table of Figures" $_.Exception
|
||||
}
|
||||
try {
|
||||
$script:doc.TablesOfAuthorities | ForEach-Object -Process { $_.Update() | Out-Null }
|
||||
}
|
||||
catch {
|
||||
Write-LogError "Failed to update Table of Authorities" $_.Exception
|
||||
}
|
||||
|
||||
|
||||
Write-Log "Using document format: $($global:cbWordDocumentationFormat.SelectedValue)"
|
||||
try {
|
||||
$format = [Microsoft.Office.Interop.Word.WdSaveFormat]$global:cbWordDocumentationFormat.SelectedValue
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-LogError "Document validation failed" $_.Exception
|
||||
$format = [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatDocumentDefault
|
||||
}
|
||||
|
||||
<#
|
||||
if($global:cbWordDocumentationFormat.SelectedValue -eq "pdf")
|
||||
{
|
||||
$format = [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatPDF
|
||||
}
|
||||
else {
|
||||
$format = [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatDocumentDefault
|
||||
}
|
||||
#>
|
||||
|
||||
$fileName = $global:txtWordDocumentName.Text
|
||||
if(-not $fileName)
|
||||
@@ -392,7 +463,10 @@ function Invoke-WordPostProcessItems
|
||||
|
||||
$fileName = Expand-FileName $fileName
|
||||
|
||||
$format = [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatDocumentDefault
|
||||
if($format -eq [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatPDF -and $fileName -notlike "*.pdf")
|
||||
{
|
||||
$fileName = [IO.Path]::ChangeExtension($fileName, ".pdf")
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
@@ -404,6 +478,7 @@ function Invoke-WordPostProcessItems
|
||||
Write-LogError "Failed to save file $fileName" $_.Excption
|
||||
}
|
||||
|
||||
try {
|
||||
if($global:chkWordOpenDocument.IsChecked -eq $true -and $global:hideUI -ne $true)
|
||||
{
|
||||
$script:wordApp.Visible = $true
|
||||
@@ -416,6 +491,16 @@ function Invoke-WordPostProcessItems
|
||||
$script:doc.Close([Microsoft.Office.Interop.Word.WdSaveOptions]::wdDoNotSaveChanges)
|
||||
$script:wordApp.Quit()
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-LogError "Failed to close the Word application" $_.Exception
|
||||
}
|
||||
finally {
|
||||
[void][Runtime.InteropServices.Marshal]::ReleaseComObject($script:doc)
|
||||
[void][Runtime.InteropServices.Marshal]::ReleaseComObject($script:wordApp)
|
||||
[GC]::Collect(); [GC]::WaitForPendingFinalizers()
|
||||
}
|
||||
}
|
||||
|
||||
function Set-WordContentControlText
|
||||
@@ -547,11 +632,13 @@ function Invoke-WordProcessItem
|
||||
|
||||
$lngId = ?: ($tableType -eq "BasicInfo") "SettingDetails.basics" "TableHeaders.settings" -AddCategories
|
||||
|
||||
if(($documentedObj.$tableType).Count -gt 0) {
|
||||
Add-DocTableItems $obj $objectType ($documentedObj.$tableType) $properties $lngId `
|
||||
-AddCategories:($global:chkWordAddCategories.IsChecked -eq $true) `
|
||||
-AddSubcategories:($global:chkWordAddSubCategories.IsChecked -eq $true) `
|
||||
-ForceFullValue:($tableType -eq "BasicInfo")
|
||||
}
|
||||
}
|
||||
|
||||
if($global:cbWordDocumentationLevel.SelectedValue -ne "basic")
|
||||
{
|
||||
@@ -570,6 +657,11 @@ function Invoke-WordProcessItem
|
||||
}
|
||||
|
||||
Add-DocObjectSettings $obj $objectType $documentedObj
|
||||
|
||||
foreach($customTable in ($documentedObj.CustomTables | Sort-Object -Property Order))
|
||||
{
|
||||
Add-DocTableItems $obj $objectType $customTable.Values $customTable.Columns $customTable.LanguageId -AddCategories -AddSubcategories
|
||||
}
|
||||
}
|
||||
|
||||
if(($documentedObj.Assignments | measure).Count -gt 0)
|
||||
@@ -671,6 +763,10 @@ function Set-DocTableSettingsItems
|
||||
$cellRow = $row
|
||||
foreach($settingProp in $properties)
|
||||
{
|
||||
if([String]::IsNullOrEmpty($settingProp)) {
|
||||
continue
|
||||
}
|
||||
|
||||
$script:docTable.Cell($cellRow, $firstColumn).Range.Text = (Invoke-DocTranslateColumnHeader ($settingProp.Split('.')[-1]))
|
||||
|
||||
$propArr = $settingProp.Split('.')
|
||||
@@ -772,6 +868,9 @@ function Add-DocTableItems
|
||||
$i = 1
|
||||
foreach($prop in $properties)
|
||||
{
|
||||
if([String]::IsNullOrEmpty($prop)) {
|
||||
continue
|
||||
}
|
||||
$script:docTable.Cell(1, $i).Range.Text = (Invoke-DocTranslateColumnHeader ($prop.Split(".")[-1]))
|
||||
$i++
|
||||
}
|
||||
|
||||
+657
-25
File diff suppressed because it is too large
Load Diff
@@ -35,7 +35,7 @@ function Invoke-InitializeModule
|
||||
Add-ViewObject $global:EMInfoViewObject
|
||||
|
||||
Add-ViewItem (New-Object PSObject -Property @{
|
||||
Title = "Baseline Templates"
|
||||
Title = "Baseline Templates - Intent"
|
||||
Id = "BaselineTemplates"
|
||||
ViewID = "EMInfoGraphAPI"
|
||||
API = "/deviceManagement/templates"
|
||||
@@ -45,6 +45,19 @@ function Invoke-InitializeModule
|
||||
ExpandAssignmentsList = $false
|
||||
})
|
||||
|
||||
Add-ViewItem (New-Object PSObject -Property @{
|
||||
Title = "Baseline Templates - Settings Catalog"
|
||||
Id = "BaselineTemplatesSettingsCatalog"
|
||||
ViewID = "EMInfoGraphAPI"
|
||||
API = "/deviceManagement/configurationPolicyTemplates"
|
||||
QUERYLIST = "`$filter=(templateFamily eq 'Baseline')"
|
||||
ShowButtons = @("Export","View")
|
||||
DefaultColumns = "0,displayName=Template Name,displayVersion=Version,lifecycleState=State,baseId=Template Id,id"
|
||||
Permissons=@("DeviceManagementConfiguration.ReadWrite.All")
|
||||
Icon="EndpointSecurity"
|
||||
ExpandAssignmentsList = $false
|
||||
})
|
||||
|
||||
Add-ViewItem (New-Object PSObject -Property @{
|
||||
Title = "Android Google Play"
|
||||
Id = "AndroidGooglePlay"
|
||||
|
||||
@@ -521,6 +521,13 @@ function Write-AzureStorageChunk
|
||||
"Content-Type" = "application/octet-stream"
|
||||
}
|
||||
|
||||
# In PowerShell (Core) 7 v7.4+, the web cmdlets (Invoke-WebRequest, Invoke-RestMethod)
|
||||
# consistently encode text-based request bodies as UTF-8, unless explicitly specified otherwise.
|
||||
if ($PSVersionTable.PSVersion -ge [Version]"7.4")
|
||||
{
|
||||
$headers["Content-Type"] += "; charset=iso-8859-1"
|
||||
}
|
||||
|
||||
$curProgressPreference = $ProgressPreference
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
@@ -783,7 +790,7 @@ function Start-DownloadAppContent
|
||||
{
|
||||
foreach($file in $contentFiles.value)
|
||||
{
|
||||
if($contentFiles.value[-1].Id -eq $file.id) { continune }
|
||||
if($contentFiles.value[-1].Id -eq $file.id) { continue }
|
||||
|
||||
# NOT happy about this. file objects are not always returned in the order of upload.
|
||||
$contentFile = Invoke-GraphRequest -Url "/deviceAppManagement/mobileApps/$appId/$appType/contentVersions/$contentVerId/files/$($file.Id)" -NoError
|
||||
|
||||
@@ -348,7 +348,7 @@ function Get-EMIntuneFilterUsage
|
||||
|
||||
foreach($groupID in $loadedGroups.Keys)
|
||||
{
|
||||
$filterObjs = $script:objFilterUsage | WHere GroupID -eq $groupID
|
||||
$filterObjs = $script:objFilterUsage | Where GroupID -eq $groupID
|
||||
if($filterObjs -and $loadedGroups[$groupID])
|
||||
{
|
||||
foreach($filterObj in $filterObjs) {
|
||||
|
||||
+57
-11
@@ -59,6 +59,21 @@ function Invoke-InitializeModule
|
||||
</policies>
|
||||
</policyDefinitions>
|
||||
"@
|
||||
|
||||
# Add settings
|
||||
$global:appSettingSections += (New-Object PSObject -Property @{
|
||||
Title = "Intune Tools"
|
||||
Id = "IntuneTools"
|
||||
Values = @()
|
||||
})
|
||||
|
||||
Add-SettingsObject (New-Object PSObject -Property @{
|
||||
Title = "Format OM-URI Settings"
|
||||
Key = "FormatOMAURI"
|
||||
Type = "Boolean"
|
||||
DefaultValue = $false
|
||||
Description = "Formats the XML for OMA-URI settings e.g. removes unnecessary spaces and empty lines."
|
||||
}) "IntuneTools"
|
||||
}
|
||||
|
||||
function Add-EMToolsViewItem
|
||||
@@ -704,7 +719,10 @@ function Invoke-LoadADMXSettings
|
||||
$tvItem | Add-Member -MemberType NoteProperty -Name "AllPolicies" -Value $true
|
||||
}
|
||||
|
||||
try {
|
||||
$global:tvADMXCategories.Items[1].Items.Add($tvItem) | Out-Null
|
||||
}
|
||||
catch{}
|
||||
}
|
||||
|
||||
function Set-ADMXSettingStatusText
|
||||
@@ -854,6 +872,7 @@ function Get-ADMXCategoryNamePath
|
||||
}
|
||||
|
||||
$catObj = $script:admxXML.policyDefinitions.categories.selectSingleNode("$($script:xmlNSPrefix)category[@name='$($categoryId)']",$script:xmlNS)
|
||||
#$catObj = $script:admxXML.policyDefinitions.categories.category | Where Name -eq "$categoryId"
|
||||
|
||||
$categories = @()
|
||||
while($catObj)
|
||||
@@ -862,6 +881,7 @@ function Get-ADMXCategoryNamePath
|
||||
if($catObj.parentCategory.ref)
|
||||
{
|
||||
$catObj = $script:admxXML.policyDefinitions.categories.selectSingleNode("$($script:xmlNSPrefix)category[@name='$($catObj.parentCategory.ref)']", $script:xmlNS)
|
||||
#$catObj = $script:admxXML.policyDefinitions.categories.category | where name -eq $catObj.parentCategory.ref
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1037,17 +1057,18 @@ function Set-ADMXElementsPanel
|
||||
}
|
||||
elseif($valItem.value.longDecimal)
|
||||
{
|
||||
$value = $valItem.value.longDecimal.'#text'
|
||||
$value = ?? $valItem.value.longDecimal.'#text' $valItem.value.longDecimal
|
||||
}
|
||||
elseif($valItem.value.string)
|
||||
{
|
||||
$value = $valItem.value.string.'#text'
|
||||
$value = ?? $valItem.value.string.'#text' $valItem.value.string
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Log "Unsupported value type for $($elementNode.Id): $($valItem.value.InnerXml)" 2
|
||||
$value = "<SET MANUALLY!!!>"
|
||||
}
|
||||
|
||||
$valItems += [PSCustomObject]@{
|
||||
Name = $displayName
|
||||
Value = $value
|
||||
@@ -1151,7 +1172,7 @@ function Set-ADMXElementsPanel
|
||||
}
|
||||
elseif($valItem.value.string)
|
||||
{
|
||||
$value = $valItem.value.string.'#text'
|
||||
$value = ?? $valItem.value.string.'#text' $valItem.value.string
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1403,20 +1424,25 @@ function Import-ADMXPolicy
|
||||
{
|
||||
if($admxPolicy.SettingStatus -eq 0)
|
||||
{
|
||||
$policyValue = "<disabled />"
|
||||
$policyValue = "<disabled/>"
|
||||
}
|
||||
else
|
||||
{
|
||||
$policyValue = "<enabled />"
|
||||
$policyValue = "<enabled/>"
|
||||
|
||||
$strValue = $admxPolicy.PolicySettings
|
||||
|
||||
if($strValue)
|
||||
{
|
||||
$policyValue += "`n`n$strValue"
|
||||
$policyValue += "`n$strValue"
|
||||
}
|
||||
}
|
||||
|
||||
if((Get-SettingValue "FormatOMAURI") -eq $true)
|
||||
{
|
||||
$policyValue = Update-XmlFormatting $policyValue
|
||||
}
|
||||
|
||||
$catPath = Get-ADMXCategoryOMAURIPath $admxPolicy.Definition.parentCategory.ref
|
||||
|
||||
$omaUriPath = "./$($admxPolicy.SettingClass)/Vendor/MSFT/Policy/Config/$($global:txtADMXPolicyAppName.Text)~Policy~$catPath/$($admxPolicy.Definition.name)"
|
||||
@@ -1458,12 +1484,18 @@ function Import-ADMXPolicy
|
||||
|
||||
if($global:chkADMXPolicyIngest.IsChecked)
|
||||
{
|
||||
$xmlString = Format-XML $script:admxXML
|
||||
if((Get-SettingValue "FormatOMAURI") -eq $true)
|
||||
{
|
||||
$xmlString = Update-XmlFormatting $xmlString
|
||||
}
|
||||
|
||||
$intuneObj.omaSettings += [PSCustomObject]@{
|
||||
"@odata.type" = "#microsoft.graph.omaSettingString"
|
||||
"displayName" = (?? $global:txtADMXPolicyIngestName.Text ("$($script:currentADMXFile.Name) Ingestion"))
|
||||
"description" = $null
|
||||
"omaUri" = "./Device/Vendor/MSFT/Policy/ConfigOperations/ADMXInstall/$($global:txtADMXPolicyAppName.Text)/Policy/$($global:txtADMXPolicyFileName.Text)"
|
||||
"value" = (Format-XML $script:admxXML)
|
||||
"value" = $xmlString
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1780,7 +1812,7 @@ function Get-ADMXRegIsKeySupported
|
||||
|
||||
if($blockedSource)
|
||||
{
|
||||
[System.Windows.MessageBox]::Show("The registry key '$($global:txtADMXRegKey.Text)' is not supported" + [Environment]::NewLine + [Environment]::NewLine + "Blocked by root key: $blockedSource", "Unsupported reg ket", "OK", "Error")
|
||||
[System.Windows.MessageBox]::Show("The registry key '$($global:txtADMXRegKey.Text)' is not supported" + [Environment]::NewLine + [Environment]::NewLine + "Blocked by root key: $blockedSource", "Unsupported reg key", "OK", "Error")
|
||||
return $false
|
||||
}
|
||||
return $true
|
||||
@@ -1927,6 +1959,11 @@ function Import-ADMXRegProfile
|
||||
$OMAURIString = ($OMAURIString + [Environment]::NewLine + [Environment]::NewLine + ($omaUriItems -join [Environment]::NewLine))
|
||||
}
|
||||
|
||||
if((Get-SettingValue "FormatOMAURI") -eq $true)
|
||||
{
|
||||
$OMAURIString = Update-XmlFormatting $OMAURIString
|
||||
}
|
||||
|
||||
$xml.policyDefinitions.SelectSingleNode("policies").AppendChild($newNode) | Out-Null
|
||||
|
||||
$admxRegSettings += [PSCustomObject]@{
|
||||
@@ -1939,12 +1976,18 @@ function Import-ADMXRegProfile
|
||||
|
||||
$xml.policyDefinitions.SelectSingleNode("policies").RemoveChild($xml.policyDefinitions.policies.SelectSingleNode("policy")) | Out-Null
|
||||
|
||||
$xmlString = Format-XML $xml
|
||||
if((Get-SettingValue "FormatOMAURI") -eq $true)
|
||||
{
|
||||
$xmlString = Update-XmlFormatting $xmlString
|
||||
}
|
||||
|
||||
$intuneObj.omaSettings += [PSCustomObject]@{
|
||||
"@odata.type" = "#microsoft.graph.omaSettingString"
|
||||
"displayName" = "Reg ADMX Ingestion"
|
||||
"description" = "This XML is generated by Intune Managemet tool"
|
||||
"omaUri" = "./Device/Vendor/MSFT/Policy/ConfigOperations/ADMXInstall/IntuneManagementReg/$(($script:frmADMXRegProfile.DataContext.PolicyType))/$($rgPolicyFileName)"
|
||||
"value" = (Format-XML $xml)
|
||||
"value" = $xmlString
|
||||
}
|
||||
|
||||
$intuneObj.omaSettings += $admxRegSettings
|
||||
@@ -1981,9 +2024,11 @@ function Add-ADMXRegClasses
|
||||
}
|
||||
|
||||
$classDef = @"
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
public class ADMXRegPolicyElement : INotifyPropertyChanged
|
||||
public class ADMXRegPolicyElement : System.ComponentModel.INotifyPropertyChanged
|
||||
{
|
||||
public string DataType { get { return _dataType; } set { _dataType = value; NotifyPropertyChanged("DataType"); NotifyPropertyChanged("DataTypeDisplayString"); } }
|
||||
private string _dataType = null;
|
||||
@@ -2069,8 +2114,9 @@ function Add-ADMXRegClasses
|
||||
}
|
||||
}
|
||||
"@
|
||||
[Reflection.Assembly]::LoadWithPartialName("mscorlib") | Out-Null
|
||||
[Reflection.Assembly]::LoadWithPartialName("System.ComponentModel") | Out-Null
|
||||
Add-Type -TypeDefinition $classDef -IgnoreWarnings -ReferencedAssemblies @('System.ComponentModel')
|
||||
Add-Type -TypeDefinition $classDef
|
||||
}
|
||||
|
||||
#endregion
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user