Skip to content

Global Json Overview

Jeff Bolduan edited this page Nov 16, 2021 · 3 revisions

What is the Global Config Json?

The Global Config Json is a file that contains all the configuration for the application.

Table of Contents

Attrributes

companyName

The company name is just the name of the company that is using the application.

{
    "companyName": "My Company"
}

lastModified

The last modified date is the date that the Global Config Json was last modified.

{
    "lastModified": "2020-01-01"
}

MEMCMModulePath

This is the path to the MEMCM Powershell module.

{
    "MEMCMModulePath": "C:\\Program Files (x86)\\Microsoft Endpoint Manager\\AdminConsole\\bin\\ConfigurationManager.psd1"
}

packagingTargets

type

Type is the type of packaging target. This currently only supports MEMCM-Application.

site

The site property is the FQDN for the MEMCM site.

siteCode

This is the site code you've setup for your MEMCM site.

downloadLocationPath

This is the path recipes can use to download files for use in packaging.

aplicationContentPath

This is the source directory for the MEMCM application.

preAppName

This is what should always be prepended to the application name in MEMCM.

postAppName

This is what should always be appended to the application name in MEMCM.

{
    "packagingTargets": [
        {
            "type": "MEMCM-Application",
            "site": "mysite.mycompany.com",
            "siteCode": "MY1",
            "downloadLocationPath": "C:\\Temp",
            "applicationContentPath": "C:\\MySiteContent",
            "preAppName": "AutoPkgPre",
            "postAppName": "AutoPkgPost"
        }
    ]
}

deploymentPoints

This property is used to list either deployment point groups and/or deployment points where the applications should be destributed.

dpGroupNames

This is a list of deployment point group names.

dpNames

This is a list of deployment point names.

{
    "packagingTargets": [
        {
            "deploymentPoints": {
                "dpGroupNames" : [ "MyDeploymentPointGroup" ],
                "dpNames" : [ "MyDeploymentPoint" ]
            }
        }
    ]
}

collectionTargets

Collection targets is a list of collections which will be targteted for deployments. It contains all the definitions for the deployments as well as the definitions for the collections.

type

The only currently supported type is MEMCM-Collection.

name

This is the name of the collection. It will be used to find the collection in the site and if specified, create it if it doesn't exist.

limitingCollectionName

This is the name of the collection which will limit the membership of this collection. This is used when creating the collection.

refreshType

Valid values for refreshType are None (never refresh), Manual (manually refresh), Periodic (refresh according to a defined schedule), Continuous (refresh constantly) and Both (refresh both periodically and continuously).

recurInterval

The refresh interval is days/hours/minutes or month.

recurCount

The number of times a scheduled refresh occurs.

month/day/year/hour/minute

This is used to specify the start of the refresh schedule. Requires integers (1,2,3... etc)

{
    "packagingTargets": [
        {
            "collectionTargets": [
                {
                    "type": "MEMCM-Collection",
                    "name": "MyCollectionName",
                    "limitingCollectionName": "MyLimitingCollectionName",
                    "refreshType": "Periodic",
                    "recurInterval": "ONLY USED WHEN PERIODIC IS SPECIFIED",
                    "recurCount": "ONLY USED WHEN PERIODIC IS SPECIFIED",
                    "month": 1,
                    "day": 30,
                    "year": 2020,
                    "hour": 12,
                    "minute": 0
                }
            ]
        }
    ]
}
deploymentSettings

These are the settings for the deployment to the specified collection.

allowRepairApp

Requires true or false. This will determine if the application can be repaired using the deployment.

deployAction

Should always be "Install"

deployPurpose

Can be "Required" or "Available"

overrideServiceWindow

Used to override the maintenance window for the device. If false, the deployment will honor maintenance windows.

preDeploy

This will determine if the content is pre-deployed to the device for the deployment.

rebootOutsideServiceWindow

If true, the device will be rebooted outside of the service window. If false, the device will honor maintenance windows.

replaceToastNotificationWithDialog

Allows the use of dialog boxes instead of toast notifications to potnetially improve the user experience. See Microsoft documentation here.

sendWakeupPacket

Will send a wakeup packet if set to true, will not send one if set to false.

timeBasedOn

Specify "LocalTime" to use the local time to the device or "UTC" to use the UTC time.

userNotification

Specify what kind of notification is shown to the user:

  • DisplayAll
    • Display in Software Center and show all notifications
  • DisplaySoftwareCenterOnly
    • Display in Software Center, and only show notifications of computer restarts
  • HideAll
    • Hide in Software Center and all notifications
availStart

How many days from now should the deployment become available.

availHour

What hour of the day should the deployment become available.

availMinute

What minute of the hour should the deployment become available.

deadlineStart

How many days from now should the deployment become mandatory.

deadlineHour

What hour of the day should the deployment become mandatory.

deadlineMinute

What minute of the hour should the deployment become mandatory.

{
    "packagingTargets": [
        {
            "collectionTargets": [
                {
                    "deploymentSettings": {
                        "allowRepairApp": false,
                        "deployAction": "Install",
                        "deployPurpose": "Required",
                        "overrideServiceWindow": false,
                        "preDeploy": true,
                        "rebootOutsideServiceWindow": false,
                        "replaceToastNotificationWithDialog": true,
                        "sendWakeupPacket": true,
                        "timeBasedOn": "LocalTime",
                        "userNotification:": "DisplayAll",
                        "availStart": 2,
                        "availHour": 12,
                        "availMinute": 0,
                        "deadlineStart": 4,
                        "deadlineHour": 12,
                        "deadlineMinute": 0
                    }
                }
            ]
        }
    ]
}

recipeLocations

This is the location for the recipe files. It is made up of two sub properties locationType and locationUri.

locationType

The location type currently only supports directory.

locationUri

The locationUri is the path to the location.

{
    "recipeLocations": [
        "locationType": "directory",
        "locationUri": "C:\\Packages"
    ]
}

packagingTargets