This commit is contained in:
Mikael Karlsson
2021-10-07 20:06:31 +11:00
parent b852e9163c
commit 5976b0bffd
33 changed files with 1598 additions and 392 deletions

View File

@@ -12,7 +12,7 @@ This module handles the WPF UI
function Get-ModuleVersion
{
'3.1.6'
'3.1.7'
}
function Start-CoreApp
@@ -1095,6 +1095,14 @@ function Add-DefaultSettings
Type = "Boolean"
DefaultValue = $false
}) "General"
Add-SettingsObject (New-Object PSObject -Property @{
Title = "Preview"
Key = "PreviewFeatures"
Type = "Boolean"
DefaultValue = $false
Description = "Enable featurs that are marked as Preview. This might require a restart and prompt for consent"
}) "General"
}
function Add-SettingsObject

View File

@@ -665,6 +665,7 @@
"PolicyTypeLanguageId": "deviceRestrictions",
"PlatformLanguageId": "MacOS",
"Categories": [
"ApplicationsAndGames",
"BuiltinApps",
"CloudAndStorage",
"ConnectedDevices",

View File

@@ -108,6 +108,112 @@
"booleanActions": 0,
"policyType": 2,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 2,
"nameResourceKey": "dedicatedAndroidEnrollmentTypesHeaderName",
"descriptionResourceKey": "dedicatedAndroidEnrollmentTypesHeaderDescription",
"childSettings": [
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appNameName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "name",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "packageName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appId",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appUrlName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "appStoreUrl",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
},
{
"metadata": {
"dataType": 20,
"category": 2,
"nameResourceKey": "appPublisherName",
"descriptionResourceKey": "Empty",
"childSettings": [
],
"options": [
],
"entityKey": "publisher",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
}
],
"dataType": 21,
"category": 2,
"nameResourceKey": "aadSharedDeviceDataClearAppsName",
"descriptionResourceKey": "aadSharedDeviceDataClearAppsDescription",
"childSettings": [
],
"options": [
],
"entityKey": "azureAdSharedDeviceDataClearApps",
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
],
"options": [
],
"booleanActions": 0,
"policyType": 2,
"enabled": false
}
]
}

View File

@@ -1883,6 +1883,23 @@
"defaultValue": false,
"policyType": 46,
"enabled": true
},
{
"dataType": 0,
"category": 7,
"nameResourceKey": "managedPasteboardRequiredName",
"descriptionResourceKey": "managedPasteboardRequiredDescription",
"childSettings": [
],
"options": [
],
"entityKey": "managedPasteboardRequired",
"booleanActions": 9,
"defaultValue": false,
"policyType": 46,
"enabled": true
}
],
"options": [

View File

@@ -0,0 +1,69 @@
{
"applicationsandgames_macgeneral": {
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 7,
"nameResourceKey": "automatedDeviceEnrollmentHeaderNameMac",
"descriptionResourceKey": "automatedDeviceEnrollmentHeaderDescriptionMac",
"childSettings": [
{
"dataType": 0,
"category": 7,
"nameResourceKey": "addingGameCenterFriendsBlockedMacName",
"descriptionResourceKey": "addingGameCenterFriendsBlockedMacDescription",
"childSettings": [
],
"options": [
],
"entityKey": "addingGameCenterFriendsBlocked",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
},
{
"dataType": 0,
"category": 7,
"nameResourceKey": "gameCenterBlockedMacName",
"descriptionResourceKey": "gameCenterBlockedMacDescription",
"childSettings": [
],
"options": [
],
"entityKey": "gameCenterBlocked",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
},
{
"dataType": 0,
"category": 7,
"nameResourceKey": "multiplayerGamingBlockedMacName",
"descriptionResourceKey": "multiplayerGamingBlockedMacDescription",
"childSettings": [
],
"options": [
],
"entityKey": "multiplayerGamingBlocked",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 61,
"enabled": true
}
}

View File

@@ -173,6 +173,23 @@
"defaultValue": false,
"policyType": 46,
"enabled": true
},
{
"dataType": 0,
"category": 16,
"nameResourceKey": "onDeviceOnlyTranslationForcedName",
"descriptionResourceKey": "onDeviceOnlyTranslationForcedDescription",
"childSettings": [
],
"options": [
],
"entityKey": "onDeviceOnlyTranslationForced",
"booleanActions": 9,
"defaultValue": false,
"policyType": 46,
"enabled": true
}
],
"options": [

View File

@@ -17,6 +17,33 @@
"policyType": 56,
"enabled": true
},
{
"dataType": 16,
"category": 25,
"nameResourceKey": "customPolicyConfigurationDeploymentChannelName",
"descriptionResourceKey": "customPolicyConfigurationDeploymentChannelDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "customPolicyConfigurationDeviceChannel",
"value": "deviceChannel",
"enabled": true
},
{
"nameResourceKey": "customPolicyConfigurationUserChannel",
"value": "userChannel",
"enabled": true
}
],
"entityKey": "deploymentChannel",
"booleanActions": 0,
"defaultValue": "deviceChannel",
"unconfiguredValue": "deviceChannel",
"policyType": 56,
"enabled": true
},
{
"dataEntityKey": "payload",
"filenameEntityKey": "payloadFileName",

View File

@@ -61,7 +61,7 @@
"options": [
{
"nameResourceKey": "notConfigured",
"value": "userDefined",
"value": "notConfigured",
"enabled": true
},
{
@@ -77,8 +77,8 @@
],
"entityKey": "defenderPreventCredentialStealingType",
"booleanActions": 0,
"defaultValue": "userDefined",
"unconfiguredValue": "userDefined",
"defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured",
"policyType": 77,
"enabled": true
},
@@ -93,7 +93,7 @@
"options": [
{
"nameResourceKey": "notConfigured",
"value": "userDefined",
"value": "notConfigured",
"enabled": true
},
{
@@ -109,8 +109,8 @@
],
"entityKey": "defenderAdobeReaderLaunchChildProcess",
"booleanActions": 0,
"defaultValue": "userDefined",
"unconfiguredValue": "userDefined",
"defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured",
"policyType": 77,
"enabled": true
},
@@ -269,7 +269,7 @@
"options": [
{
"nameResourceKey": "notConfigured",
"value": "userDefined",
"value": "notConfigured",
"enabled": true
},
{
@@ -285,8 +285,8 @@
],
"entityKey": "defenderOfficeCommunicationAppsLaunchChildProcess",
"booleanActions": 0,
"defaultValue": "userDefined",
"unconfiguredValue": "userDefined",
"defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured",
"policyType": 77,
"enabled": true
},
@@ -541,7 +541,7 @@
"options": [
{
"nameResourceKey": "notConfigured",
"value": "userDefined",
"value": "notConfigured",
"enabled": true
},
{
@@ -557,8 +557,8 @@
],
"entityKey": "defenderAdvancedRansomewareProtectionType",
"booleanActions": 0,
"defaultValue": "userDefined",
"unconfiguredValue": "userDefined",
"defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured",
"policyType": 77,
"enabled": true
},

View File

@@ -591,6 +591,175 @@
"defaultValue": false,
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenSignInEnabledName",
"descriptionResourceKey": "kioskManagedHomeScreenSignInEnabledDescription",
"childSettings": [
{
"dataType": 20,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenSignInBackgroundName",
"descriptionResourceKey": "kioskManagedHomeScreenSignInBackgroundDescription",
"emptyValueResourceKey": "kioskManagedHomeScreenSignInBackgroundEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenSignInBackground",
"booleanActions": 0,
"defaultValue": "",
"policyType": 2,
"enabled": true
},
{
"dataType": 20,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenSignInBrandingLogoName",
"descriptionResourceKey": "kioskManagedHomeScreenSignInBrandingLogoDescription",
"emptyValueResourceKey": "kioskManagedHomeScreenSignInBrandingLogoEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenSignInBrandingLogo",
"booleanActions": 0,
"defaultValue": "",
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenPINRequiredName",
"descriptionResourceKey": "kioskManagedHomeScreenPINRequiredDescription",
"childSettings": [
{
"dataType": 16,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenPINComplexityName",
"descriptionResourceKey": "kioskManagedHomeScreenPINComplexityDescription",
"childSettings": [
],
"options": [
{
"nameResourceKey": "kioskManagedHomeScreenPINComplexityNotConfigured",
"value": "notConfigured",
"enabled": true
},
{
"nameResourceKey": "kioskManagedHomeScreenPINComplexitySimple",
"value": "simple",
"enabled": true
},
{
"nameResourceKey": "kioskManagedHomeScreenPINComplexityComplex",
"value": "complex",
"enabled": true
}
],
"entityKey": "kioskModeManagedHomeScreenPinComplexity",
"booleanActions": 0,
"defaultValue": "notConfigured",
"unconfiguredValue": "notConfigured",
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenPINRequiredToResumeName",
"descriptionResourceKey": "kioskManagedHomeScreenPINRequiredToResumeDescription",
"childSettings": [
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenPinRequiredToResume",
"booleanActions": 2,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenPinRequired",
"booleanActions": 2,
"defaultValue": false,
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenAutoSignOutName",
"descriptionResourceKey": "kioskManagedHomeScreenAutoSignOutDescription",
"childSettings": [
{
"dataType": 14,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenInactiveSignOutDelayName",
"descriptionResourceKey": "kioskManagedHomeScreenInactiveSignOutDelayDescription",
"emptyValueResourceKey": "kioskScreenSaverSecondsEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenInactiveSignOutDelayInSeconds",
"booleanActions": 0,
"defaultValue": 300,
"policyType": 2,
"enabled": true
},
{
"dataType": 14,
"category": 43,
"nameResourceKey": "kioskManagedHomeScreenInactiveNoticeDelayName",
"descriptionResourceKey": "kioskManagedHomeScreenInactiveNoticeDelayDescription",
"emptyValueResourceKey": "kioskScreenSaverSecondsEmptyValueKey",
"childSettings": [
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenInactiveSignOutNoticeInSeconds",
"booleanActions": 0,
"defaultValue": 60,
"policyType": 2,
"enabled": true
}
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenAutoSignout",
"booleanActions": 2,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"options": [
],
"entityKey": "kioskModeManagedHomeScreenSignInEnabled",
"booleanActions": 2,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"enabled": true

View File

@@ -0,0 +1,19 @@
{
"devicehealth_complianceaospdeviceowner": {
"dataType": 0,
"category": 36,
"nameResourceKey": "complianceRootedAllowedName",
"descriptionResourceKey": "complianceRootedAllowedDescription",
"childSettings": [
],
"options": [
],
"entityKey": "securityBlockJailbrokenDevices",
"booleanActions": 3,
"defaultValue": false,
"policyType": 32,
"enabled": true
}
}

View File

@@ -266,6 +266,23 @@
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "securityDeveloperSettingsEnabledName",
"descriptionResourceKey": "securityDeveloperSettingsEnabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "securityDeveloperSettingsEnabled",
"booleanActions": 0,
"defaultValue": false,
"policyType": 2,
"enabled": false
},
{
"dataType": 0,
"category": 41,
@@ -1169,6 +1186,39 @@
"booleanActions": 0,
"policyType": 2,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": true,
"dataType": 8,
"category": 41,
"nameResourceKey": "workProfileAndroidEnrollmentTypesHeaderName",
"descriptionResourceKey": "workProfileAndroidEnrollmentTypesHeaderDescription",
"childSettings": [
{
"dataType": 0,
"category": 41,
"nameResourceKey": "workProfileBlockContactSharingViaBluetoothName",
"descriptionResourceKey": "workProfileBlockContactSharingViaBluetoothDescription",
"childSettings": [
],
"options": [
],
"entityKey": "bluetoothBlockContactSharing",
"booleanActions": 3,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 2,
"enabled": true
}
]
}

View File

@@ -85,23 +85,6 @@
"policyType": 28,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "blockStorageUsbName",
"descriptionResourceKey": "blockStorageUsbDescription",
"childSettings": [
],
"options": [
],
"entityKey": "storageAllowUsb",
"booleanActions": 9,
"defaultValue": false,
"policyType": 28,
"enabled": true
},
{
"dataType": 0,
"category": 41,
@@ -117,7 +100,7 @@
"booleanActions": 9,
"defaultValue": false,
"policyType": 28,
"enabled": true
"enabled": false
},
{
"dataType": 0,
@@ -170,23 +153,6 @@
"policyType": 28,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "blockBluetoothContactSharingName",
"descriptionResourceKey": "blockBluetoothContactSharingDescription",
"childSettings": [
],
"options": [
],
"entityKey": "bluetoothBlockContactSharing",
"booleanActions": 9,
"defaultValue": false,
"policyType": 28,
"enabled": true
},
{
"dataType": 0,
"category": 41,
@@ -202,24 +168,7 @@
"booleanActions": 9,
"defaultValue": false,
"policyType": 28,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "allowAppsInstallFromUnknownSourcesName",
"descriptionResourceKey": "allowAppsInstallFromUnknownSourcesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "appsAllowInstallFromUnknownSources",
"booleanActions": 9,
"defaultValue": false,
"policyType": 28,
"enabled": true
"enabled": false
},
{
"dataType": 0,

View File

@@ -245,8 +245,8 @@
{
"dataType": 0,
"category": 41,
"nameResourceKey": "blockDeviceEraseContentAndSettingsName",
"descriptionResourceKey": "blockDeviceEraseContentAndSettingsDescription",
"nameResourceKey": "blockDeviceEraseContentAndSettingsIosName",
"descriptionResourceKey": "blockDeviceEraseContentAndSettingsIosDescription",
"childSettings": [
],

View File

@@ -91,7 +91,7 @@
"descriptionResourceKey": "userApprovedAndAutomatedDeviceEnrollmentHeaderDescriptionMac",
"childSettings": [
{
"dataType": 13,
"dataType": 16,
"category": 41,
"nameResourceKey": "updateDelayPolicyName",
"descriptionResourceKey": "updateDelayPolicyDescription",
@@ -100,7 +100,53 @@
],
"options": [
{
"nameResourceKey": "delayOSUpdateVisibilityOption",
"nameResourceKey": "notConfigured",
"value": "none",
"enabled": true
},
{
"nameResourceKey": "delayMajorOSUpdateVisibilityOption",
"value": "delayMajorOsUpdateVisibility",
"children": [
{
"dataType": 14,
"category": 41,
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdatesEnforcedDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "delayMinorOSUpdateVisibilityOption",
"value": "delayOSUpdateVisibility",
"children": [
{
@@ -119,6 +165,23 @@
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
@@ -143,6 +206,272 @@
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "delayMajorAndMinorOSUpdateVisibilityOption",
"value": "delayMajorOsUpdateVisibility,delayOSUpdateVisibility",
"children": [
{
"dataType": 14,
"category": 41,
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdatesEnforcedDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "delayMajorAndNonOsUpdateVisibilityOption",
"value": "delayMajorOsUpdateVisibility,delayAppUpdateVisibility",
"children": [
{
"dataType": 14,
"category": 41,
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdatesEnforcedDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "delayMinorAndNonOSUpdateVisibilityOption",
"value": "delayOSUpdateVisibility,delayAppUpdateVisibility",
"children": [
{
"dataType": 14,
"category": 41,
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdatesEnforcedDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
},
{
"nameResourceKey": "delayAllUpdateVisibilityOption",
"value": "delayMajorOsUpdateVisibility,delayOSUpdateVisibility,delayAppUpdateVisibility",
"children": [
{
"dataType": 14,
"category": 41,
"nameResourceKey": "enforcedSoftwareUpdateDelayName",
"descriptionResourceKey": "enforcedSoftwareUpdateDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdatesEnforcedDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMajorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMajorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMajorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateMinorOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateMinorOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateMinorOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
},
{
"dataType": 14,
"category": 41,
"nameResourceKey": "softwareUpdateNonOSDeferredInstallDelayName",
"descriptionResourceKey": "softwareUpdateNonOSDeferredInstallDelayDescription",
"childSettings": [
],
"options": [
],
"entityKey": "softwareUpdateNonOSDeferredInstallDelayInDays",
"booleanActions": 0,
"defaultValue": 30,
"policyType": 61,
"enabled": true
}
],
"enabled": true
@@ -150,6 +479,7 @@
],
"entityKey": "updateDelayPolicy",
"booleanActions": 0,
"defaultValue": "none",
"policyType": 61,
"enabled": true
}
@@ -253,6 +583,40 @@
"defaultValue": false,
"policyType": 61,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "wallpaperModificationBlockedMacName",
"descriptionResourceKey": "wallpaperModificationBlockedMacDescription",
"childSettings": [
],
"options": [
],
"entityKey": "wallpaperModificationBlocked",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
},
{
"dataType": 0,
"category": 41,
"nameResourceKey": "blockDeviceEraseContentAndSettingsMacOsName",
"descriptionResourceKey": "blockDeviceEraseContentAndSettingsMacOsDescription",
"childSettings": [
],
"options": [
],
"entityKey": "eraseContentAndSettingsBlocked",
"booleanActions": 9,
"defaultValue": false,
"policyType": 61,
"enabled": true
}
],
"options": [

View File

@@ -41,38 +41,6 @@
"nameResourceKey": "singleSignOnExtensionTypeAzureAdOption",
"value": "#microsoft.graph.macOSAzureAdSingleSignOnExtension",
"children": [
{
"dataType": 0,
"category": 56,
"nameResourceKey": "singleSignOnExtensionEnableSharedDeviceModeName",
"descriptionResourceKey": "singleSignOnExtensionEnableSharedDeviceModeDescription",
"childSettings": [
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 56,
"nameResourceKey": "singleSignOnExtensionSharedDeviceModeWarning",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 58,
"enabled": true
}
],
"options": [
],
"entityKey": "enableSharedDeviceMode",
"booleanActions": 9,
"defaultValue": false,
"policyType": 58,
"enabled": true
},
{
"columns": [
{

View File

@@ -709,6 +709,22 @@
"booleanActions": 0,
"policyType": 63,
"enabled": true
},
{
"dataType": 0,
"category": 96,
"nameResourceKey": "MacOSAllowAllAppsAccess",
"descriptionResourceKey": "MacOSAllowAllAppsAccess",
"childSettings": [
],
"options": [
],
"entityKey": "allowAllAppsAccess",
"booleanActions": 2,
"policyType": 63,
"enabled": false
}
]
}

View File

@@ -494,7 +494,6 @@
"entityKey": "accountDeletionPolicy",
"booleanActions": 0,
"defaultValue": "diskSpaceThreshold",
"unconfiguredValue": "diskSpaceThreshold",
"policyType": 86,
"enabled": true
}

View File

@@ -430,6 +430,38 @@
"booleanActions": 0,
"policyType": 31,
"enabled": true
},
{
"isSettingDescription": false,
"showAsSectionHeader": false,
"dataType": 8,
"category": 106,
"nameResourceKey": "complianceDeviceSecurityHeader",
"childSettings": [
{
"dataType": 0,
"category": 106,
"nameResourceKey": "requireIntuneAppIntegrityName",
"descriptionResourceKey": "requireIntuneAppIntegrityDescription",
"childSettings": [
],
"options": [
],
"entityKey": "securityRequireIntuneAppIntegrity",
"booleanActions": 1,
"defaultValue": false,
"policyType": 31,
"enabled": true
}
],
"options": [
],
"booleanActions": 0,
"policyType": 31,
"enabled": true
}
]
}

View File

@@ -24,6 +24,23 @@
"defaultValue": false,
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 111,
"nameResourceKey": "certificateCredentialConfigurationDisabledName",
"descriptionResourceKey": "certificateCredentialConfigurationDisabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "certificateCredentialConfigurationDisabled",
"booleanActions": 3,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"options": [
@@ -74,23 +91,6 @@
"defaultValue": false,
"policyType": 2,
"enabled": true
},
{
"dataType": 0,
"category": 111,
"nameResourceKey": "certificateCredentialConfigurationDisabledName",
"descriptionResourceKey": "certificateCredentialConfigurationDisabledDescription",
"childSettings": [
],
"options": [
],
"entityKey": "certificateCredentialConfigurationDisabled",
"booleanActions": 3,
"defaultValue": false,
"policyType": 2,
"enabled": true
}
],
"options": [

View File

@@ -179,54 +179,6 @@
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"enabled": false
},
{
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"children": [
{
"dataType": 9,
"category": 120,
"childSettings": [
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"options": [
],
"entityKey": "derivedCredentialSettings@odata.bind",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
@@ -432,54 +384,6 @@
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"enabled": false
},
{
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"children": [
{
"dataType": 9,
"category": 120,
"childSettings": [
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"options": [
],
"entityKey": "derivedCredentialSettings@odata.bind",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
@@ -685,54 +589,6 @@
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"enabled": false
},
{
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"children": [
{
"dataType": 9,
"category": 120,
"childSettings": [
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"options": [
],
"entityKey": "derivedCredentialSettings@odata.bind",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
@@ -938,54 +794,6 @@
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"enabled": false
},
{
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"children": [
{
"dataType": 9,
"category": 120,
"childSettings": [
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"options": [
],
"entityKey": "derivedCredentialSettings@odata.bind",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",
@@ -1191,54 +999,6 @@
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"enabled": false
},
{
"nameResourceKey": "derivedCredentialsOption",
"value": "derivedCredential",
"children": [
{
"dataType": 9,
"category": 120,
"childSettings": [
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsSearchingForTenantLevel",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
},
{
"dataType": 10,
"category": 120,
"nameResourceKey": "derivedCredentialsTenantLevelNotConfigured",
"childSettings": [
],
"options": [
],
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"options": [
],
"entityKey": "derivedCredentialSettings@odata.bind",
"booleanActions": 0,
"policyType": 8,
"enabled": true
}
],
"enabled": true
}
],
"entityKey": "authenticationMethod",

View File

@@ -23062,7 +23062,7 @@
"enabled": true
}
],
"enabled": true
"enabled": false
},
{
"nameResourceKey": "certificatesOption",
@@ -23152,7 +23152,7 @@
"enabled": true
}
],
"enabled": true
"enabled": false
}
],
"entityKey": "authenticationMethod",
@@ -23268,7 +23268,7 @@
"enabled": true
}
],
"enabled": true
"enabled": false
},
{
"nameResourceKey": "certificatesOption",
@@ -23358,7 +23358,7 @@
"enabled": true
}
],
"enabled": true
"enabled": false
},
{
"nameResourceKey": "sharedSecretName",

View File

@@ -3280,6 +3280,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{
@@ -3454,6 +3491,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{
@@ -3697,6 +3771,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{
@@ -4052,6 +4163,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{
@@ -4226,6 +4374,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{
@@ -4469,6 +4654,43 @@
"policyType": 19,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 19,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 19,
"enabled": true
},
{
"complexOptions": [
{

View File

@@ -143,6 +143,43 @@
"policyType": 26,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 26,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 26,
"enabled": true
},
{
"complexOptions": [
{
@@ -317,6 +354,43 @@
"policyType": 26,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 26,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 26,
"enabled": true
},
{
"complexOptions": [
{
@@ -565,6 +639,43 @@
"policyType": 26,
"enabled": true
},
{
"columns": [
{
"metadata": {
"dataType": 20,
"category": 112,
"nameResourceKey": "empty",
"descriptionResourceKey": "empty",
"emptyValueResourceKey": "trustedServerCertificateNameExample",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNamesName",
"booleanActions": 0,
"policyType": 26,
"enabled": true
}
}
],
"dataType": 21,
"category": 112,
"nameResourceKey": "trustedServerCertificateNamesName",
"descriptionResourceKey": "trustedServerCertificateNamesDescription",
"childSettings": [
],
"options": [
],
"entityKey": "trustedServerCertificateNames",
"booleanActions": 0,
"policyType": 26,
"enabled": true
},
{
"complexOptions": [
{

View File

@@ -479,6 +479,23 @@
"defaultValue": false,
"policyType": 46,
"enabled": true
},
{
"dataType": 0,
"category": 116,
"nameResourceKey": "wiFiToAllowedNetworksOnlyForcedName",
"descriptionResourceKey": "wiFiToAllowedNetworksOnlyForcedDescription",
"childSettings": [
],
"options": [
],
"entityKey": "wiFiConnectToAllowedNetworksOnlyForced",
"booleanActions": 9,
"defaultValue": false,
"policyType": 46,
"enabled": true
}
],
"options": [

Binary file not shown.

View File

@@ -1,4 +1,5 @@
<#
<#
.SYNOPSIS
Module for managing Intune objects
@@ -10,7 +11,7 @@ This module is for the Endpoint Manager/Intune View. It manages Export/Import/Co
#>
function Get-ModuleVersion
{
'3.1.11'
'3.1.12'
}
function Invoke-InitializeModule
@@ -117,12 +118,28 @@ function Invoke-InitializeModule
ViewID = "IntuneGraphAPI"
API = "/identity/conditionalAccess/policies"
Permissons=@("Policy.Read.All","Policy.ReadWrite.ConditionalAccess","Application.Read.All")
Dependencies = @("NamedLocations","Applications")
Dependencies = @("NamedLocations","Applications","TermsOfUse")
GroupId = "ConditionalAccess"
ImportExtension = { Add-ConditionalAccessImportExtensions @args }
PreImportCommand = { Start-PreImportConditionalAccess @args }
})
if((Get-SettingValue "PreviewFeatures" $false) -eq $true)
{
Add-ViewItem (New-Object PSObject -Property @{
Title = "Terms of use"
Id = "TermsOfUse"
ViewID = "IntuneGraphAPI"
ViewProperties = @("id", "displayName")
Expand = "files"
QUERYLIST = "`$expand=files"
API = "/identityGovernance/termsOfUse/agreements"
Permissons=@("Agreement.ReadWrite.All")
PreImportCommand = { Start-PreImportTermsOfUse @args }
GroupId = "ConditionalAccess"
})
}
Add-ViewItem (New-Object PSObject -Property @{
Title = "Named Locations"
Id = "NamedLocations"
@@ -777,6 +794,27 @@ function Invoke-FilterBoxChanged
$dgObjects.ItemsSource.Filter = $filter
$dgObjects.ItemsSource.Refresh()
}
$allObjectsCount = 0
if($dgObjects.ItemsSource.SourceCollection)
{
$allObjectsCount = $dgObjects.ItemsSource.SourceCollection.Count
}
$objCount = ($dgObjects.ItemsSource | measure).Count
if($objCount -gt 0)
{
$strAllObjectsInfo = ""
if($allObjectsCount -gt $objCount)
{
$strAllObjectsInfo = " ($($allObjectsCount))"
}
$global:txtEMObjects.Text = "Objects: $objCount$strAllObjectsInfo"
}
else
{
$global:txtEMObjects.Text = ""
}
}
#region Endpoint Security (Intents) functions
@@ -2491,4 +2529,50 @@ function Start-PreImportConditionalAccess
}
#endregion
#region Terms of use
function Start-PreImportTermsOfUse
{
param($obj, $objectType, $file, $assignments)
$pkgPath = Get-SettingValue "EMIntuneAppPackages"
if(-not $pkgPath -or [IO.Directory]::Exists($pkgPath) -eq $false)
{
Write-Log "Intune app directory is either missing or does not exist" 2
}
try
{
$fi = [IO.FileInfo]$file
} catch {}
foreach($file in $obj.Files)
{
$pdfFile = $null
if($fi.Directory.FullName)
{
$pdfFile = "$($fi.Directory.FullName)\$($file.fileName)"
}
if($null -eq $pdfFile -or [IO.File]::Exists($pdfFile) -eq $false)
{
$pdfFile = "$($pkgPath)\$($file.fileName)"
}
if([IO.File]::Exists($pdfFile) -eq $false)
{
Write-Log "Terms of use file $($file.fileName) not found. The Terms of Use object will not be imported." 2
@{"Import" = $false}
return
}
$bytes = [IO.File]::ReadAllBytes($pdfFile)
$file.fileData = [PSCustomObject]@{
data = [Convert]::ToBase64String($bytes)
}
}
}
#endregion
Export-ModuleMember -alias * -function *

View File

@@ -9,7 +9,7 @@ Module for listing Intune assignments
#>
function Get-ModuleVersion
{
'1.0.0'
'1.0.1'
}
function Invoke-InitializeModule
@@ -59,8 +59,8 @@ function Show-EMToolsIntuneAssignments
$dlgSave = New-Object -Typename System.Windows.Forms.SaveFileDialog
#$dlgSave.InitialDirectory = Get-SettingValue "IntuneRootFolder" $env:Temp
$dlgSave.FileName = $obj.FileName
$sf.DefaultExt = "*.csv"
$sf.Filter = "CSV (*.csv)|*.csv|All files (*.*)| *.*"
$dlgSave.DefaultExt = "*.csv"
$dlgSave.Filter = "CSV (*.csv)|*.csv|All files (*.*)| *.*"
if($dlgSave.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK -and $dlgSave.Filename)
{
$script:objAssignments | Select Name, Type, IncludedString, ExcludedString | ConvertTo-Csv -NoTypeInformation | Out-File -LiteralPath $dlgSave.Filename -Encoding UTF8 -Force
@@ -123,13 +123,22 @@ function Get-EMIntuneAssignments
Write-Status "Collect exported assignments"
$intuneViewObj = $global:viewObjects | Where { $_.ViewInfo.ID -eq "IntuneGraphAPI" }
$script:objAssignments = @()
foreach($fileObj in $script:fileArr)
{
$objectType = $null
$folderName = $fileObj.FileInfo.Directory.Name
if($folderName)
{
$objectType = $intuneViewObj.ViewItems | Where Id -eq $folderName
}
$obj = New-Object PSObject -Property @{
Object = $fileObj.Object
Name = $fileObj.Object.DisplayName
Name = $fileObj.Object."$((?? $objectType.NameProperty "displayName"))"
Type = $null
Included = $null
Excluded = $null

View File

@@ -10,7 +10,7 @@ This module manages Microsoft Grap fuctions like calling APIs, managing graph ob
#>
function Get-ModuleVersion
{
'3.1.6'
'3.1.7'
}
$global:MSGraphGlobalApps = @(
@@ -215,6 +215,9 @@ function Invoke-GraphRequest
$ODataMetadata = "full", # full, minimal, none or skip
[switch]
$AllPages,
[switch]
$NoError
)
@@ -288,21 +291,60 @@ function Invoke-GraphRequest
$Url = $Url -replace "%OrganizationId%", $global:Organization.Id
}
### !!!
### @odata.nextLink - ToDo: Support for paging
### https://docs.microsoft.com/en-us/graph/paging
<#
if($AllPages)
{
# Code to test paging - Force each page to size specified in top parameter below
# Kept for reference
if(($url.IndexOf('?')) -eq -1)
{
$url = "$($url.Trim())?"
}
else
{
$url = "$($url.Trim())&"
}
$url = "$($url.Trim())`$top=20"
}
#>
$ret = $null
try
{
Write-LogDebug "Invoke graph API: $Url (Request ID: $requestId)"
$ret = Invoke-RestMethod -Uri $Url -Method $HttpMethod @params
if($? -eq $false)
$allValues = @()
do
{
throw $global:error[0]
$ret = Invoke-RestMethod -Uri $Url -Method $HttpMethod @params
if($? -eq $false)
{
throw $global:error[0]
}
if($HttpMethod -eq "PATCH" -and [String]::IsNullOrempty($ret))
{
$ret = $true;
break;
}
elseif($AllPages -eq $true -and $HttpMethod -eq "GET" -and $ret.value -is [Array])
{
$allValues += $ret.value
if($ret.'@odata.nextLink')
{
$Url = $ret.'@odata.nextLink'
}
}
else
{
break
}
} while($ret.'@odata.nextLink')
if($allValues.Count -gt 0 -and $ret.value -is [Array])
{
$ret.value = $allValues
}
if($HttpMethod -eq "PATCH" -and [String]::IsNullOrempty($ret)) { $ret = $true }
}
catch
{
@@ -354,7 +396,12 @@ function Get-GraphObjects
{
$url = "$($url.Trim())&$($objectType.QUERYLIST.Trim())" # Risky...does not check that the parameter is already in use
}
}
}
if($SingleObject -ne $true)
{
$params.Add('AllPages',$true)
}
$graphObjects = Invoke-GraphRequest -Url $url @params
@@ -453,18 +500,52 @@ function Show-GraphObjects
}
$tableColumns = @()
# Add other columns
foreach($prop in ($tmpObj.PSObject.Properties | Where {$_.Name -notin @("IsSelected","Object","ObjectType")}))
$additionalColumns = @()
$additionalColsStr = Get-Setting "EndpointManager\ObjectColumns" "$($global:curObjectType.Id)"
if($additionalColsStr)
{
$binding = [System.Windows.Data.Binding]::new($prop.Name)
$additionalColumns += $additionalColsStr.Split(',')
}
if($additionalColumns.Count -eq 0 -or $additionalColumns[0] -ne "0")
{
# Add default columns
foreach($prop in ($tmpObj.PSObject.Properties | Where {$_.Name -notin @("IsSelected","Object","ObjectType")}))
{
$binding = [System.Windows.Data.Binding]::new($prop.Name)
$column = [System.Windows.Controls.DataGridTextColumn]::new()
$column.Header = $prop.Name
$column.IsReadOnly = $true
$column.Binding = $binding
$tableColumns += $prop.Name
$dgObjects.Columns.Add($column)
}
}
# Add custom columns
foreach($additionalCol in $additionalColumns)
{
if($additionalCol -eq "0" -or $additionalCol -eq "1") { continue }
$bindingProp,$colHeader = $additionalCol.Split('=')
if(-not $colHeader)
{
$colHeader = $bindingProp
}
$binding = [System.Windows.Data.Binding]::new("Object.$($bindingProp)")
$column = [System.Windows.Controls.DataGridTextColumn]::new()
$column.Header = $prop.Name
$column.Header = $colHeader
$column.IsReadOnly = $true
$column.Binding = $binding
$tableColumns += $prop.Name
$tableColumns += $colHeader
$dgObjects.Columns.Add($column)
}
$ocList = [System.Collections.ObjectModel.ObservableCollection[object]]::new($graphObjects)
$dgObjects.ItemsSource = [System.Windows.Data.CollectionViewSource]::GetDefaultView($ocList)
}
@@ -492,6 +573,7 @@ function Show-GraphObjects
function Clear-GraphObjects
{
$global:txtFormTitle.Text = ""
$global:txtEMObjects.Text = ""
$global:grdTitle.Visibility = "Collapsed"
$global:grdObject.Children.Clear()
$global:dgObjects.ItemsSource = $null

View File

@@ -122,6 +122,48 @@ Additional Intune Tools is included in the script.
See [ADMX Import](ADMXImport.md) for more information about the ADMX tools
## Columns
Custom columns is supported. The script will by default add id, displayName and description with exception for some object types. These are configured in the EndpointManager.ps1 and EndpointManagerInfo.psm1 files.
Custom columns can be added for each Object Type. This must be added manually into the registry, in HKCU\SOFTWARE\CloudAPIPowerShellManagement\EndpointManager\ObjectColumns\\*ObjectType*.
The *ObjectType* value represents the ViewItem ID specified in the EndpointManager.ps1 and EndpointManagerInfo.psm1 files. This is also the same as the parent folder when items are exported.
The REG_SZ value has the following syntax:
[0|1],Property1[=Header1],Property2[=Header2],...
0|1 - Optional value specifying if columns are added or replacing default columns
0 = Replace default columns with columns specified in the registry value
1 = Add columns specified in the registry to the default columns. This is default setting.
PropertyX - Property to display. View an object to see available properties
HeaderX - Optional value for the column header. Property name will be used if this is not specified.
**Note:** Some object types returns multiple object types, @OData.Type. If a custom column is added but the property does not exist on all the object types that were returned, the columns will be empty. The code will **not** break if the property is missing on one or more returned objects.
The script does not require a restart. Columns are generated when the object type is selected in the menu.
**Example 1:**
Reg key: HKCU\SOFTWARE\CloudAPIPowerShellManagement\EndpointManager\ObjectColumns\DeviceConfiguration
REG_SZ value: **lastModifiedDateTime**
This will add the **lastModifiedDateTime** to the existing columns.
**Example 2:**
Reg key: HKCU\SOFTWARE\CloudAPIPowerShellManagement\EndpointManager\ObjectColumns\TermsOfUse
REG_SZ value: 0,id=Id,displayName=Name,files[0].displayName=Display Name
This will replace the default columns and add new columns with specific header.
**Note:** Sub-properties are supported e.g. **files[0].displayName**. This will add a column based on the first object in the files property.
## Change log
See [Change Log](ReleaseNotes.md) for more information
@@ -155,6 +197,7 @@ See [MSAL Info](MSALInfo.md) for more information about authentication
* Scope Tags
* Scripts (PowerShell and Shell scripts, supports download of script)
* Terms and Conditions
* Terms of Use
* Update Policies
@@ -204,6 +247,8 @@ Logout will only clear the token from cache and not from the browser e.g. if log
Referenced settings will NOT be imported/copied. There is no value stored in a property on the object for these settings. Example: A VPN profile has certificates as referenced properties. The certificates must be added manually after import/copy.
Terms of Use requires that the pdf file is available. This must be manually coped to either the Export folder for Terms of Use or to the Intune Application folder specified in Settings. It is currently not possible to export the pdf file with Graph API.
See [Documentation](Documentation.md) for issues regarding the documentation process.
## TIP

View File

@@ -1,5 +1,34 @@
# Release Notes
## 3.2.3 - 2021-10-07
**New features**
- Added support for Terms of Use Export/Import.
This requires that the pdf file is available during import, in either the export folder or the Intune App folder. This is added as a Known Issue in [Readme](README.md).
**Note:** This is in preview and it requires that the Preview option in Settings is enabled and then a script restart. This will most likely generate a new consent prompt.
This is based on [Issue 27](https://github.com/Micke-K/IntuneManagement/issues/27)
- All objects are returned
This might take long time in huge environments.
Please report feedback on how this works in environments with 1000+ objects e.g. does it take too long time, memory issues etc.
This is based on [Issue 29](https://github.com/Micke-K/IntuneManagement/issues/29)
- Added support for custom columns
This must be manually added to the registry.
See [Readme](README.md#Columns) on how to use this
This is based on [Issue 30](https://github.com/Micke-K/IntuneManagement/issues/30)
- Object count will be displayed
**Fixes**
* Fixed minor bugs in IntuneAssignments - Support Name for objects that don't use displayName
* Regenerated documentation and language files - New properties for the iOS Device Restriction profile is now supported
## 3.2.2 - 2021-09-23
**New features**

View File

@@ -39,13 +39,22 @@
<Grid Name="grdObject" Grid.Row="1" Grid.RowSpan="2" Visibility="Collapsed" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" Margin="0,0,0,0" />
<StackPanel Grid.Row="2" Name="spSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnView" Content="View" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Veiw the json data of an item" />
<Button Name="btnCopy" Content="Copy" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Clone the selected item"/>
<Button Name="btnDelete" Content="Delete" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Delete selected item(s)"/>
<Button Name="btnImport" Content="Import" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Import items" />
<Button Name="btnExport" Content="Export" MinWidth="100" IsEnabled="False" ToolTip="Export selected or all items" />
</StackPanel>
<Grid Grid.Row="2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="txtEMObjects" />
<StackPanel Grid.Column="1" Name="spSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnView" Content="View" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Veiw the json data of an item" />
<Button Name="btnCopy" Content="Copy" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Clone the selected item"/>
<Button Name="btnDelete" Content="Delete" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Delete selected item(s)"/>
<Button Name="btnImport" Content="Import" MinWidth="100" Margin="0,0,5,0" IsEnabled="False" ToolTip="Import items" />
<Button Name="btnExport" Content="Export" MinWidth="100" IsEnabled="False" ToolTip="Export selected or all items" />
</StackPanel>
</Grid>
</Grid>
<Grid Name="grdNotLoggedIn" Visibility="Collapsed">

View File

@@ -0,0 +1,6 @@
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Height="50" Width="50">
<Path Data="M23 40.4c-1.2 1.2-3.1 1.2-4.3 0L3.4 25.1c-1.2-1.2-1.2-3-.1-4.2L7 17c.6-.6 1.3-.9 2.2-.9.8 0 1.6.3 2.1.9l9.6 9.6L40.5 7.2c-.5-1.5-2-2.6-3.6-2.6h-33C1.7 4.6 0 6.4 0 8.5v33c0 2.1 1.7 3.9 3.9 3.9h33c2.1 0 3.9-1.7 3.9-3.9V22.9L23 40.4z" Fill="#59b4d9" />
<Path Data="M20.9 30.7L9.2 19l-3.6 3.8 15.3 15.4L50 9.4l-3.6-3.9z" Fill="#b8d432" />
</Canvas>
</Viewbox>

21
Xaml/ObjectPicker.xaml Normal file
View File

@@ -0,0 +1,21 @@
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<DataGrid Name="dgObjects"
SelectionMode="Single"
SelectionUnit="FullRow"
CanUserAddRows="False"
Grid.Column="1"
Grid.Row="1" />
<StackPanel Grid.Row="1" Name="spObjectPickerSubMenu" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,0,0" >
<Button Name="btnObjectPickerOK" Content="OK" MinWidth="100" Margin="0,0,5,0" />
<Button Name="btnObjectPickerCancel" Content="Copy" MinWidth="100" />
</StackPanel>
</Grid>