Skip to main content
Matrix42 Self-Service Help Center

UEM Depot Management_OLD

General

The new UEM Depot Management offers a new UEM Depot Sync based on the Matrix42 Universal Agent Framework. With this framework, synchronization can now be performed via SMB as well as via HTTP(S).

The final status of the last synchronization can be viewed for each run in the EMC in the tab "Empirum Server Monitor".

Synchronizations, which sometimes have a longer runtime, send an additional information about the start of the sync run. For more information, see Available synchronizations.

Installation

The "Matrix42 UEM Depot Sync" package should be used with an up to date version of the UEM Agent. Please see the release notes if your version is compatible or not.

For the initial setup of the UEM Depot Sync the following steps have to be performed:

  • Configure the server as a subdepot
    • Computer properties > Computer role > Empirum Depot Server
  • Installing the UEM Agent
  • Configure variables
    • SUBDEPOT > ROOTPATH
    • SUBDEPOT > USER_1
    • SUBDEPOT > PASSWORD_1
  • Install the current version of the "Empirum Subdepot" package on the server (create the directories and set the access rights)
  • Install the current version of the "Matrix42 UEM Depot Sync" package
  • Configuring the Sync Jobs
    • See section "Configuration"

Configuration

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

It is recommended not to let the Agent poll the depots too often, as this will lead to an increased load on the system. It is recommended to set an interval of at least 60 minutes.

Available synchronizations

CONFIGURATIONDATA

This sync job configures the synchronization of the configuration data 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 run is visible in the log 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 patch directory.

The start of the run is transmitted at the beginning.

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. 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

Empirum Version 21.0.2 or higher is required as backend!

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

The start time of the run is visible in the log 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 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

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".

Protocol and Master Server

The protocol and the master server are configured by means of an assigned Agent template: In concrete terms, this means that the Agent template of the UEM Agent installed on the Subdepot is used for the connection to the master server. This also includes the functions of bandwidth throttling and minimum bandwidth.

PowerShell cmdlets

The "Matrix42 UEM Depot Sync" package installs a set of PowerShell cmdlets which can be used to control a running UEM Depot on the depot itself. The cmdlets require PowerShell 5.1 because the Windows Communication Foundation (WCF) is used for communication and not available in PowerShell 6 or newer.

Get-SyncJobs

Gets a list of currently configured and enabled depot syncs and its current status.

Get-SyncJobs

Start-SyncJob

Starts a configured depot sync. If that depot sync is not enabled in the computer's variables, it cannot be started. Use Get-SyncJobs to see currently available depot syncs. An already running depot sync cannot be restarted, you have to stop it first or wait for it to finish.

Start-SyncJob
  [-Name]

Stop-SyncJob

Stops a running depot sync. This operation works synchronously, which means that it waits for every already running transfer job to finish.

Stop-SyncJob
  [-Name]

Open points

The following features are currently not yet supported by UEM Depot Management:

  • Installation time frames are not considered
  • Options in the scheduler:
    • "End after x occurences"
    • "Stop job if the end time is reached"
  • In the log there is always a zero for "Size of target directory".

Troubleshooting

The UEM Depot Sync is writing log files in the folder%ProgramData%\Matrix42\Logs\UEM Depot on the depot server. They contain detailed informations, warnings and errors for the synchronizations.
 

  • Was this article helpful?