Windows 10 Best Practices using ZCM

Are you planning a Windows 10 rollout in the next few weeks? Are you looking for an easy-to-manage, fully automated solution that also supports different hardware types? Are you using ZENWorks Configuration Management and are you struggling with Microsoft Deployment Tools (MDT)? If you answered "Yes" to at least 2 questions, you should read more.

Based on the experience we gained from numerous successful desktop management projects with ZENWorks Configuration Management (ZCM), Micro Focus Consulting now provides a best practice document that describes all the steps required to build a fully automated installation process for Windows 10 without using MDT.

The following topics are covered:

  • General Overview

  • Automated Deployment of Windows 10

  • Typical problems and solutions

  • Using NCSTools (a small set of tools to extend Windows 10 deployment process)

  • Setting up required imaging and software bundles in ZCM

In addition to the best practice documentation, we provide all necessary configuration files, scripts and our NCSTools. NCSTools?

Do you know them already? With our NCSTools you can extend the entire windows setup without touching the windows automation files again and again.

Here are some examples:

Installation of additional drivers using DPInst:

Put the following config file into a specific folder using an addon-image and additional driver and tools are installed:



CustomerName="Micro Focus"
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText=Installing Plug and Play Drivers
ProgressSubText=Please wait ...


Installing driver & tools Installing driver & tools

Installation of Language Packs

Language Packs can be installed by creating an addon-image with the language pack files and the following configuration file:



CustomerName="Micro Focus"
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText="Installing Language Packs"




Variable %GLOBAL_LANGUAGE_ID% will be exported during imaging phase
In addition make sure that an AddOnImage which contains the language pack is transferred to the client

key1=lpksetup.exe /i de-DE /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\DE_DE\"


Installing language packs Installing language packs

Installing the ZCM Agent

Installing the ZCM agent not easy when using an automated process.

NCSMonitorProcess can control the entire process. Adding a config file to specific folder using an addon-image:



MenuItem=Installing ZCM Agent...
ProgressMainText=Monitoring ZCM Agent

Key1=NCSMonitorProcess --MonitorProcess=ZENPreAgent.exe --ExecuteCommand="PreAgentPkg_AgentComplete.exe" --CommandPath="C:\INSTALL\SETUPS\ZCM-AGENT" --CommandParameter="-q -x" --CommandWindow=HIDE --ProgressMainText="Installing ZCM Agent" --POS_X=-1 --POS_Y=150


Now the ZCM agent is installed during first logon

Running first logon commands Running first logon commands

To add or remove commands you do not need to touch Windows 10 "unattend.xml" anymore.  Just use our NCSTools and ZCM addon-images to customize your Windows 10 setup.

The documentation provides a step-by-step to prepare the Windows 10 base-image and all required addon-images containing all files to get a fully-automated Windows 10 deployment. After installing the ZCM Agent on your new devices, ZCM will do the job to install all required software using bundles.

Please download  and read the documentation to get the detailed description and all tools and configuration files.

Here is the step-by-step documentation:


Here are the required tools and some basic configuration files:

NCS Configuration

NCS Tools 2017

Thank you for reading and downloading!



How To-Best Practice
Comment List
  •   in reply to MigrationDeletedUser

    I checked the and all tools are available for both x86 and x64.

    Thanks for this it is great.

    I want to use the NCSRegistryImport.exe, and started with the default unattend.xml.

    There is no NCSRegistryImport.exe in the x64 tools only in the 386 tools, and it won't run. It says "NCRRegistryImport detects a 64bit OS Windows Platform but this executable is compiled as 32bit version."

    Can you please add the 64bit version to the Tools.

    I am trying to add a powershell script file that downloads the current zcm-agent from the zenworks server as part of the process, but I need the registry setting to allow scripts first.
  •   in reply to MigrationDeletedUser
    Hi GERWIL. Would you share your guide?
  •   in reply to okoelsch
    Hi Oliver,

    thanks for your answer.
    I know that the start menu can't be roamed, but this would not be a big problem.

    But in my opinion this "hack" can't be used with Windows 10:

    We are looking into local profile the folder linking/sharing.

    Best regards,
  •   in reply to MigrationDeletedUser

    I never tested roaming profiles with Windows 10 as there are some known issues with some settings. (Startmenu is not included ...)
    In most cases our customers decided to move to local profiles only and use other options to get "synchronize" user settings to other devices.

    As far as I know MS moved from ...v5 Profile to ..v6 profile version with 1703 update. So all roaming profiles are not usable after the update.
    Hi, my question has only indirect something to do with this guide... We went good through this guide.
    Afterwards we want to use roaming profiles between Win10 and a Novell OES Server. For this purpose you have to do special things like it is explained here:

    But we can't get it working (e.g. the start menu is broken)
    After posting this to some forums i got this feedback:

    "Zenworks under Windows 10 is not supported to use roaming profile from novel server. You can only use a Windows server 2016 if you want to use roaming profile with Windows 10."

    Is this true or is somebody using Windows 10 and roaming profile with a Novell server?
  •   in reply to MigrationDeletedUser
    That´s correct, but you can use the DPInst from older WDK:
    Use DIFx version 2.1, which is available in the Windows 7 WDK through the Windows 10 Version 1511 WDK.
    I have tested the process with CreatorsUpdate1703...
    Have fun!
    I really like this Best Practices Guide.
    Am I right that DPInst.exe is missing in the last Windows 10 build (>1607)?
  •   in reply to MigrationDeletedUser

    by default ZCM can set the device name to serial number or asset tag during imaging process. During Windows Setup the ZISD service picks up the name and sets it to the windows hostname.

    In case you need a different naming you can use "zisedit computername=" during imaging process. That´s why I used a script to ask for a name.

    Bundles can be imported using "zman bc" on a primary server. Examples should be in the ZIP-File (import.txt) . You need to create bundle folder APPS/IMAGES or modify the file accordingly. Then just run zman bex import.txt on a primary server.

    If you have more question please ping me directly. You can find my email address in the document.
    Let me say I love the document and am having good luck getting things to work. I have had to figure out some language translation to English. I seem to be having an issue setting the workstation name and I am seeing a script to prompt for that but am not seeing it in the doc. can you also give me more detailed information on importing the bundles so I can take a look at them?