Windows 10 Best Practices using ZCM

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!

Labels (1)


Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Hi, Thanks for the doco and very extensive procedure. Did not think that installations went to that extreme. Pity this document was not out about 6 months earlier. My procedure is similar but only 3 pages long (Win10, Office 2016, ZAA). Sorry but for a small site (350 WkStns), I could not justify the time or ongoing maintenance. Cheers
Hi, thanks for the great Documentation!
What should be inside the REGISTRY.DEFAULT Folder mentioned on Figure 45 ?
Best Regards
This folder can be used with NCSRegistryImport to import specific settings into the DefaultUserProfile. We used that in the past in some cases.

Hope this helps

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?


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.
I really like this Best Practices Guide.
Am I right that DPInst.exe is missing in the last Windows 10 build (>1607)?
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!
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?

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 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,
Hi GERWIL. Would you share your guide?
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.

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


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


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

Thanks Oliver, I downloaded the zip files again and the files are there.

Now I have a different issue, I imported the bundles you included, and one of the settings in the WIN10-CONFIG has completely disabled wifi on my machines. Is it possible to get complete documentation of all the settings that are being changed in the bundles?

I´m not aware of any modifications regarding wifi-settings. All changes I do with these bundles are documented in the PDF.

WIN10-Config only disables 2 services, configures telemetry and sets the startmenu.

Hi, Thanks for your guide, have been using it sinze windows 7 and modified it to suite my needs.
Now when doing a image for win10 1709 I got problems with hiding the the screens that wants you to choose language, keyboard, privicy settings for Cortana etc.
It use to be SkipUserOOBE=True in sysprep that did that, but that is depricated now and its replaced with protect YourPc=[1-3], I dont get that to work. Have you bumped in to that and got any solution?



I never got this issue in the past. I used the following settings in



During Sysprep I create a user AdminWin10 ( Administrator) and then use this user to auto-login

That´s it.
The only thing you need to take care off is the language setting in your base image. If you have selected EN before taking an image (without installing a language pack) you need to use EN in your unattend.xml (Specialize and oobesystem) Otherwise you have to select the language during first boot

Thanks for this document, it has saved me many headaches. A question though, several times in the document the author recommends taking a Snapshot of the current settings. What is meant by snapshot? Does he mean take an image? or create a windows 10 restore point? Please advise on how I can make a snapshot.
Hi Jason,

"snaphot" is used in a virtual machine environment to save the actual status of a virtual machine. You can go back to a "snapshot" after making changes i.e. testing specific settings.


is it possible to get the source code of the AuthHookNCS.EXE ?
I'd like to modify it so that it sends the actual state of deployment to the MDT Server

Best Refards
Is there a solution for roaming profile now? If I need a windows server all 600 users need new passwords, thats not possible. I dont need "start" in w10 and can have the same startmenu for all users. But we have 600 users for 50 PC in education. Files they create on desktop must keep alive on the next PC.
Top Contributors
Version history
Revision #:
7 of 7
Last update:
‎2020-02-18 22:45
Updated by:
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.