Lab Description
This article is based on VMware Horizon 7.
Testing was done with Windows 7 and Windows 10 as master images, and Windows 7 as VMware Horizon Client.
Technology Primer
Step 1: Prepare the Endpoint Manager console
Open Endpoint Manager > Create a device group for the clone machines > Associate a profile with the device group:
Next, associate the profile you want to use on the clones with your new group:
Step 2: Create the Client Communication (CC) Installation Package
Create a CC installation package:
Choose client - Use default Communication Client version
Additional options - AV Database - Choose whether to include the latest virus database with the installation package. This increases the size of the package.
If disabled, the client will download the latest database anyway when you run the first virus scan.
Creating the .msi also creates a user token which binds the installer to the ‘InstantClone’ device group. This ensures new clones get enrolled to the correct group. Please make a note of this token as we will need it later in the process.
Get the user token
Step 3: Get the Endpoint Manager host name
Next, you need to obtain the host name of your Endpoint Manager instance. You will need this in step 5 later.
Click ‘Devices’ > ‘Device List’ > ‘Device Management’ tab
Click the ‘Enroll Device’ button above the table:
This starts the device enrollment wizard:
Step 1 – Device options
Step 2 - Enrollment options – Leave all default options and click 'Next'
Step 3 - Installation Instructions - The enrollment link is shown:
Make a note of the full hostname for later use.
Step 4: Install Client Communication (CC) and Xcitium Client Security (XCS) on the master image
Step 5: Configure the master image
This step explains how to configure your master image so that new VMs are automatically enrolled into Endpoint Manager.
Enrollment and proxy requirements:
[General]
host = companydomain.cmdm.Xcitium.com
port = 443
remove_third_party = false
suite = 4
token = xxxxxxxxxxxxxxxxxxxxxxxxxxxx
[General]
proxy_use = "true"
proxy_host =
proxy_port =
proxy_use_auth = "false"
proxy_user =
proxy_password
Unenroll requirements:
Step 1
This file contains the following:
@ECHO OFF
timeout 5
net start ITSMService
@ECHO OFF
REM Please create a folder called ‘Backup’ in the "Endpoint Manager" folder
REM In this folder please copy "enrollment_config.ini" and "proxy_settings.ini" files
REM This script will copy the two files to the "Endpoint Manager" folder when the enrollment command is run
SET backupfolder=Backup
REM If you are using proxy, please use Proxy = "yes"
SET proxy=no
IF EXIST "%SystemDrive%\Program Files (x86)" (
cd "%ProgramFiles(x86)%\ITarian\Endpoint Manager"
ITSMService.exe -c 2
timeout 30
IF EXIST "%ProgramFiles(x86)%\ITarian\Endpoint Manager\enrollment_config.ini" (
del "%ProgramFiles(x86)%\ITarian\Endpoint Manager\enrollment_config.ini" >nul 2>&1
)
IF "%proxy%" == "yes" (
IF EXIST "%ProgramFiles(x86)%\ITarian\Endpoint Manager\proxy_settings.ini" (
del "%ProgramFiles(x86)%\ITarian\Endpoint Manager\proxy_settings.ini" >nul 2>&1
)
)
IF NOT EXIST "%ProgramFiles(x86)%\ITarian\Endpoint Manager\enrollment_config.ini" (
xcopy "%ProgramFiles(x86)%\ITarian\Endpoint Manager\%backupfolder%\enrollment_config.ini" "%ProgramFiles(x86)%\ITarian\Endpoint Manager\" /Y >nul 2>&1
)
IF "%proxy%" == "yes" (
IF NOT EXIST "%ProgramFiles(x86)%\ITarian\Endpoint Manager\proxy_settings.ini" (
xcopy "%ProgramFiles(x86)%\ITarian\Endpoint Manager\%backupfolder%\proxy_settings.ini" "%ProgramFiles(x86)%\ITarian\Endpoint Manager\" /Y >nul 2>&1
)
)
net stop ITSMService
timeout 5
) ELSE (
cd "%ProgramFiles%\ITarian\Endpoint Manager"
ITSMService.exe -c 2
timeout 30
IF EXIST "%ProgramFiles%\ITarian\Endpoint Manager\enrollment_config.ini" (
del "%ProgramFiles%\ITarian\Endpoint Manager\enrollment_config.ini" >nul 2>&1
)
IF "%proxy%" == "yes" (
IF EXIST "%ProgramFiles%\ITarian\Endpoint Manager\proxy_settings.ini" (
del "%ProgramFiles%\ITarian\Endpoint Manager\proxy_settings.ini" >nul 2>&1
)
)
IF NOT EXIST "%ProgramFiles%\ITarian\Endpoint Manager\enrollment_config.ini" (
xcopy "%ProgramFiles%\ITarian\Endpoint Manager\%backupfolder%\enrollment_config.ini" "%ProgramFiles%\ITarian\Endpoint Manager\" /Y >nul 2>&1
)
IF "%proxy%" == "yes" (
IF NOT EXIST "%ProgramFiles%\ITarian\Endpoint Manager\proxy_settings.ini" (
xcopy "%ProgramFiles%\ITarian\Endpoint Manager\%backupfolder%\proxy_settings.ini" "%ProgramFiles%\ITarian\Endpoint Manager\" /Y >nul 2>&1
)
)
net stop ITSMService
timeout 5
)
Step 2
Step 3
EnrollmentITSM.bat needs to run at logon using ‘Task Scheduler’. This is because the user may have limited permissions in GPO which will prevent the file running.
Please review the print screens for how to create a task in Windows 7 and Windows 10.
Windows 7:
Windows 10:
Step 4
UnEnrolmentITSM_ITarian.bat needs to run at shutdown. In this case we can use GPO to add the script at shutdown:
Windows 7:
Windows 10:
Note:
Please don’t be tempted to use ‘Task Scheduler’ for UnEnrolmentITSM_ITarian.bat. Use GPO as explained above.
Again, we recommend you use GPO for the unenrollment task. However, if you still want to use task scheduler, then use the following information:
Example using Task Scheduler for UnEnrolmentITSM_ITarian.bat.
We will need to use the following Event ID’s:
Windows 7:
Windows 10:
Please review the print screens on how to create a Task in Windows 7 and Windows 10.
Windows7:
Windows 10:
Now at shutdown/logoff, the .bat file will unenroll the machine from the ITSM console and prepare the enrollment process by copying the file or files from the ‘Backup’ folder to the Endpoint Manager folder.
Step 6: Rate the .bat file as ‘Trusted’ on the master image machine
We want the .bat file to run unimpeded, so we need to give it a ‘Trusted’ file rating in Xcitium Client Security (XCS). Doing so means XCS will not block the file regardless of the security level you are using.
1) Enable the file list
2) Give the .bat file a trusted rating
Your scripts are now trusted and will not be blocked by XCS.
Step 7: Confirm that XCS doesn’t need a reboot
Important:
At this step you should confirm that Xcitium Client Security doesn’t require a restart. For example, a restart is required If you add or remove AV, FW or Containment from a profile.
Step 8: Reboot the master image
Reboot the master image device to confirm the following:
You can check the success or failure of all these steps in the Endpoint Manager interface:
Step 9: Confirm that the instant clones are enrolled & unenrolled correctly in Endpoint Manager
Now that we have confirmed that the Master Image is working correctly, shutdown the machine and take a snapshot.
When you create a desktop pool, please select “Automatically logoff after disconnect: Immediately”
Note:
If you don’t choose this option, “Automatically logoff after disconnect: Immediately”, please remove the UnEnrolmentITSM_ITarian.bat from logoff.
After the desktop pool is created, please test and confirm that the instant clones are enrolled/removed from the EM console correctly.
CLOUD BASED IT MANAGEMENT SOFTWARE FOR
MSPs and ENTERPRISE
Remote Monitoring and Management | Service Desk | Patch Management
Now Add Up To 50 Devices for Free