Skip to main content
Matrix42 Self-Service Help Center

Configuration

The UEM Depot Sync can be configured using variables in the collection MX42_UEM_DEPOT_MANAGEMENT. A detailed description of the variables can be found here. The sync jobs described below are supported.

It is recommended that the Agent does not poll the depots too often, as this will increase the load on the system. It is recommended that you set an interval of at least 60 minutes.

Available synchronizations

Each configured and enabled synchronisation results in the creation of internal sync jobs, which inherit configured variable values such as the schedule and excluded files or folders.

CONFIGURATIONDATA

This sync job configures the synchronization of the configuration data files like DDC, DDS, INI, Configuration/User. Only the DDC and INI files of the computers that are assigned to the Subdepot are synchronized.

CLIENTDATA

This sync job configures the synchronization of the client data directories EmpInv and Log.

PACKAGES

This sync job configures the synchronization of the package directory.

The start time of the synchronization is visible in the log and the DepotSync in the Empirum Management Console.

The files "SwDepot.dds" and "PackageHashes.json" are required. These are synchronized by the sync job "ConfigurationData". If they are not available, the synchronization of packages is not possible.

In order to speed up the matching of packages from source and target, the sync job uses the PackageHashes.json (see section Validation of packages before installation) During synchronization, the job checks whether a package is listed in the PackageHashes.json and whether the stored hash values of source and target match. If they are identical, no files are copied. If they differ, the package is synchronized. All packages that are not listed in PackageHashes.json are synchronized.

 

If a package listed in the PackageHashes.json is changed in the target directory (e.g. files are deleted or edited), this change will not be detected by the check of the saved hash value and there will be no synchronization to the source directory!

In order to force a complete new hash calculation at the next run, you can set the registry value RenewPackagesHashesOnce:

REG ADD HKLM\SOFTWARE\MATRIX42\Platform\Service\Extension\ObjectStore\Data 
/v RenewPackagesHashesOnce /t REG_DWORD /d 1 /f

The following folders from the packages folder will not be synchronized:

  • Matrix42\EndMessage
  • Matrix42\OS-Message
  • Matrix42\LinuxAgent
  • Matrix42\EmpirumAgent_for_Mac
  • Matrix42\InventoryMacOSX
  • PatchManagement (Part of the sync Job "Patches")

The following files from the packages folder will not be synchronized:

  • Matrix42\SyncJobs\SyncTemplate.inf

PATCHES

This sync job configures the synchronization of the PatchManagement directory.

The start time of the synchronization is visible in the log and the DepotSync in the Empirum Management Console.

Source for patch data

The SYNC_PATCHES_SOURCE variable can be used to define from where a depot obtains the patch data. In the default case this is the Empirum master server (value: "Infrastructure"). If the value for the source is set to "Vendor", the data is obtained directly from the internet via the manufacturer's website. For Matrix42 Cloud Customers this value is preset to "Vendor".

Patches with the download type "Manual" must be placed on the depot server by the administrator.

OS_CONFIGDATA

This sync job configures the synchronization of the OS metadata. Only the OS metadata of the computers that are assigned to the Subdepot will be synchronized.

Additionally, the file DeviceMappings.xml is copied to the Values folder.

OS_IMAGEDATA

This sync job configures the synchronization of the OS mass data.

The start time of the synchronization is visible in the log and the DepotSync in the Empirum Management Console.
Hashsums will be calculated for operating system mass data. The hashsums are stored in the file "OsProperties.json" in the "\Empirum\EmpInst" folder. They are used for a quicker synchronization and are required for the job to run.
For imported operating systems the (re-)generation of the hashsums can be started from the context menu in the Empirum Management Console.

In order to force a complete new hash calculation at the next run, you can set the registry value RenewPackagesHashesOnce:

REG ADD HKLM\SOFTWARE\MATRIX42\Platform\Service\Extension\ObjectStore\Data 
/v RenewOsHashesOnce /t REG_DWORD /d 1 /f

QUICKSYNC

It is no longer necessary to configure QuickSync synchronization when using the UEM Depot Sync package 2.0 or higher.
From this version onwards, the instant file transfer takes place automatically via the Service Bus. If Empirum version 24.0.0 or higher is installed, it is therefore no longer available at this point.

This sync job synchronizes specifically the changed INI (computer/OS) and DDC files which are relevant for a depot and the computers assigned to it.
It can be executed in significantly shorter intervals than CONFIGURATIONDATA and OS_CONFIGDATA, since it is much more performant and resource-saving.

As a prerequisite, the option "Write Quick-Sync files" must be activated for the "EmpirumActivation" service in DBUtil.

Exclude directories

Using the SYNC_*_EXCLUDED_FOLDERS variable, directories can be excluded from the sync. The syntax rules described below apply here.

The following directory and file structure are assumed for the examples:

ROOT\

Test1.txt

TEMP1\Folder1\Test1.txt

TEMP2\TEMP1\Folder2\Test2.png

TEMP3\TEMP1\Folder1\Test2.txt

Rule 1: Backslash \ for relative paths

If a directory starts with a backslash \ , the excluded path is relative to the Sync Root Folder (see variable ROOTPATH). Otherwise, all folders containing this part of the path are excluded.

Example

  • "\TEMP1\Folder1" will only exclude the folder "ROOT\TEMP1\Folder1" and the "Test1.txt" inside.
  • "TEMP1\Folder1", on the other hand, will exclude all "Folder1" that are located under the root directory "ROOT", but also under all subdirectories and have "TEMP1" as their parent folder.
    • Specifically, the folders "ROOT\TEMP1\Folder1" and "ROOT\TEMP3\TEMP1\Folder1" and the files they contain would be excluded.

Rule 2: Filtering with wildcards * You can use * to specify placeholders for folders.

Example

  • "\*\TEMP1" would exclude the folders "ROOT\TEMP2\TEMP1\Folder2", "ROOT\TEMP3\TEMP1\Folder1" and all files contained in them.
    • Specifically, the folders "ROOT\TEMP1\Folder1" and "ROOT\TEMP3\TEMP1\Folder1" and the files they contain would be excluded.

Example for regional depots

Normally, all packages from the software depot are synchronized to all connected depots. If you want to limit the distribution (e.g. programs must not always be available in all languages on all depots worldwide), you can achieve this with the variable SYNC_PACKAGES_EXCLUDED_FOLDERS and a restructuring of the software depot.

Using the example of the program AwesomeTool, it is shown how it can be distributed to subfolders and how the variable should be set for the 3 depots used. Thus only the desired packages are synchronized on the respective depot.

Folder structure
\Server\...\Packages\RegionAfrica\Zimbabwe\Matrix42\AwesomeTool ZW\1.0.42
\Server\...\Packages\RegionEurope\Germany\Matrix42\AwesomeTool DE\1.0.42
\\Server\...\Packages\RegionWorld\Matrix42\AwesomeTool EN\1.0.42
Variable SYNC_PACKAGES_EXCLUDED_FOLDERS
Depot Africa\Zimbabwe: "RegionEurope\Germany | RegionWorld"
Depot Europe\Germany: "RegionAfrica\Zimbabwe | RegionWorld"
Depot Worldwide: "RegionAfrica | RegionEurope"

Exclude files

Files can be excluded from the sync using the SYNC_*_EXCLUDED_FILES variable. The syntax rules described below apply here.

For the examples the directory and file structure of section Exclude directories is assumed.

Rule 1: Backslash \ for relative paths

If a directory or file starts with a backslash \, the excluded path is relative to the Sync Root Folder (see variable ROOTPATH). Otherwise, all files containing this part of the path are excluded.

Example

  • "\Test1.txt" will only exclude the file "Test1.txt" in "ROOT.
  • "\TEMP1\Folder1\Test1.txt" will only exclude the file under "ROOT\TEMP1\Folder1\Test1.txt.
  • "Test1.txt" would exclude all files "Test1.txt" below "ROOT" and its subdirectories. Specifically, the files "ROOT\Test1.txt" and "ROOT\TEMP1\Folder1\Test1.txt" would be excluded.

Rule 2: filtering with wildcards *

You can use * to specify placeholders for files.

Example

  • Using "*.txt" would exclude the files "ROOT\Test1.txt", "ROOT\TEMP1\Folder1\Test1.txt" and "ROOT\TEMP3\TEMP1\Folder1\Test2.txt".
  • Using "Test2.*" would exclude the files "ROOT\TEMP2\TEMP1\Folder2\Test2.png" and "ROOT\TEMP3\TEMP1\Folder1\Test2.txt".

 

Configuration of communication for depot monitoring

SERVICEBUS_ENABLED

Enables/disables communication with a ServiceBus. It must be active to enable monitoring of the depot.

SERVICEBUS_SYSTEM

Supports the cloud-based Microsoft Azure Service Bus or an on-premise RabbitMQ system.

RabbitMQ is an open source message broker.

SERVICEBUS_DISPLAYNAME

Optionally, specify a name for the ServiceBus service that is unique to you.

SERVICEBUS_SUBSCRIPTIONNAME

Messages will be received from this subscription.

SERVICEBUS_TOPICNAME

Messages will be published to this topic and delivered to one or more associated subscriptions.

SERVICEBUS_CONNECTIONSTRING

String to connect to the previously selected ServiceBus type.

For more information, see Empirum-ServiceBus service connection string.

SERVICEBUS_USEPROXY

Disables/enables the use of a proxy server.

SERVICEBUS_PROXYNAME

The address of the proxy server.

SERVICEBUS_PROXYPORT

The port number of the proxy server.

Internal Sync Jobs

The UEM Depot Sync creates internal jobs based on the configured variables. Here you find a list of internal (or technical) sync jobs. These names will also appear in the Empirum Management Console as job name.

Depending on the internal sync job type it is possible that a too tight schedule is ignored. That means that the sync job is skipped and executed later. If this happens, you will see an information in the sync's status message like "Job was not executed at scheduled time, because the last scheduled run was less than ... minutes ago."

If the run prior to a skipped run had an error, you will additionally see the details about the failed sync run.

Nevertheless, you can start the sync job from the EMC or via Powershell Cmdlet at any time.

Available synchronizations

(Configuration Variable)

Job Name Synchronized Files

Minimum time between scheduled sync runs*

CONFIGURATIONDATA Values

The INI and DDC files of computers which contain the Empirum variables and software assignments.

As of version 2.0 of UEM Depot Sync package, also the OS.INI files.

3 hours
(Recommended: 24 hours)
CONFIGURATIONDATA User The contents of the "User" folder. (Empirum/Configurator/User) 15 minutes
(Recommended: 2 hours)
CONFIGURATIONDATA UserValues

The INI and DDC files of users which contain the Empirum variables and software assignments.

As of version 2.0 of UEM Depot Sync package, also the OS.INI files.

3 hours
(Recommended: 24 hours)
CLIENTDATA Log The log files from the client computers, e.g. software and patchmanagement. 5 minutes
(Recommended: 1 hour)
CLIENTDATA Inventory The inventory files from client computers. 15 minutes
(Recommended: 1 hour)
PACKAGES Packages The software packages. 30 minutes
(Recommended: 2 hours)
PATCHES Patches The patches and meta data files for Patch Management. 15 minutes
(Recommended: 2 hours)
OS_CONFIGDATA OsConfigData

The meta data files that are required for OS Installations.

As of version 2.0 of UEM Depot Sync package, the OS.INI files will not be synced anymore here.

3 hours
(Recommended: 24 hours)
OS_CONFIGDATA ImageConfigData The configuration data for OS images. (Old PXE Images.) 3 hours
(Recommended: 24 hours)
OS_IMAGEDATA OsImageData The image files (operating systems, language packs, boot images) for OS Installations.

30 minutes
(Recommended: 2 hours)

*If the configured scheduled time is lower than "minimum time between syncs" value, the system will skip the job until the next scheduled time.

  • Was this article helpful?