Micro Focus Partner

Micro Focus Partner
Documentation
www.microfocus.com
Windows 10 Best Practices with ZCM
created for
Micro Focus Partner
Published: Jan, 2017
Version 1.12
Disclaimer
Micro Focus International plc makes no representations or warranties with
respect to the contents or use of this document, and specifically disclaims any
express or implied warranties of merchantability or fitness for any particular
purpose.
Trademarks
Novell is a registered trademark of Novell, Inc. in the United States and other
countries.
* All third-party trademarks are property of their respective owner.
Copyright 2017 Micro Focus International plc. All rights reserved.
No part of this publication may be reproduced, photocopied, stored on a
retrieval system, or transmitted without the express written consent of Micro
Focus International plc
Micro Focus
Micro Focus
The Lawn
Fraunhoferstraße 7
22-30 Old Bath Road
D-85737 ISMANING
Newbury RG14 1QN
Deutschland
United Kingdom
Prepared By
Oliver Kölsch
Windows 10 Best Practices with ZCM—Documentation
Jan, 2017
Statement of Work: Partner Enablement
Micro Focus Partner Number: Micro Focus
Consultants: Oliver Kölsch
Revision History
Version
Date
Editor
Revisions
0.5
02.03.2016
Oliver Kölsch
Initial Draft
0.7
08.04.2016
Oliver Kölsch
Final Draft
0.9
12.04.2016
Oliver Kölsch
Anhang
0.9.1
14.04.2016
Oliver vorm Walde
1st Review
0.9.4
26.04.2016
Rolf Lennertz
2nd Review
0.9.5
28.04.2016
Oliver Kölsch
Included some comments
1.0
04.05.2016
Oliver Kölsch
Include some feedback / Finale Version
1.01
06.12.2016
Oliver Kölsch
Started translation to english
1.1
20.12.2016
Oliver Kölsch
Final english version
1.11
03.01.2017
Oliver Kölsch
Correct some translation issues
1.12
13.01.2017
Oliver Kölsch
Correct some issues with help files
Reviewer Record
Version
1.1
Date
03.01.2017
Reviewers Name
Reviewers Role
(Peer/ Team Leader / Project Manager)
Kevin Brearley / Kate
Nichols
Final Approval
Version
Date
Reviewers Name
Reviewers Role
(Peer/ Team Leader / Project Manager)
Contents
1 Summary................................................................................................................... 1
2 Preparation of the ZCM Infrastructure...................................................................2
2.1 ZCM Versions.............................................................................................2
2.2 ZCM Update............................................................................................... 2
......................................................................................................................... 2
3 Basics....................................................................................................................... 3
3.1 Installation with a response file (Unattended Install)...................................3
3.1.1 Advantages.......................................................................................3
3.1.2 Disadvantages..................................................................................3
3.2 Installation with a full-image.......................................................................4
3.2.1 Advantages.......................................................................................4
3.2.2 Disadvantages..................................................................................4
3.3 ZCM Imaging.............................................................................................. 4
3.3.1 Advantages.......................................................................................5
3.4 Important topics..........................................................................................5
3.4.1 Training on the following topics.........................................................5
3.4.2 Collecting information.......................................................................5
3.5 General design guidelines..........................................................................7
3.5.1 Define a standard..............................................................................7
3.5.2 Using the existing network infrastructure..........................................7
3.5.3 Decision guidance.............................................................................7
3.6 Basic architecture of a Windows 10 installation with ZCM..........................7
3.6.1 Modular client architecture................................................................7
4 Windows 10 Installation........................................................................................ 10
4.1 Windows 10 Introduction..........................................................................10
4.1.1 Microsoft Deployment Architektur...................................................10
4.1.2 Supported phases when using ZCM Imaging.................................10
4.1.3 Required Microsoft Deployment Tools.............................................11
4.2 Creating a Windows 10 base image.........................................................12
4.2.1 Windows 10 Setup..........................................................................12
4.2.2 Audit-Mode for Windows 10............................................................20
4.3 Systempreparation for Windows 10 using SYSPREP..............................26
4.3.1 Windows System Imaging Manager................................................27
4.3.2 UNATTEND.XML............................................................................29
4.3.3 Integration of device drivers............................................................30
4.3.4 Integration of additional Commands, Programs or Configurations. .32
4.4 Create a Master-Image............................................................................33
4.4.1 Create the Master-Image using the ZCM Imaging-Engine..............33
4.4.2 Take an image of partitions.............................................................34
4.4.3 Final steps......................................................................................34
5 Typical problems and solutions............................................................................35
5.1 Introduction.............................................................................................. 35
i
5.2 NCS Framework Tools.............................................................................35
5.2.1 Tools und User Account Control (UAC)...........................................35
5.2.2 NCSExecuteSetup..........................................................................36
5.2.3 NCSRegistryImport.........................................................................37
5.2.4 NCSPrepareGuiRunOnce...............................................................38
5.2.5 NCSMonitorMonitorDeployment......................................................38
5.2.6 NCSMonitorProcess.......................................................................39
5.3 Examples of use.......................................................................................40
5.3.1 Helpful settings...............................................................................40
5.3.2 Configuring ZCM Agent...................................................................41
5.3.3 Assigned Bundles interrupt installation process..............................43
5.3.4 Installation order.............................................................................44
5.3.5 Additional files.................................................................................45
6 Addon-Images........................................................................................................ 46
6.1 Windows 10 - SYSPREP Addon-Image (WIN10-SYSPREP.zmg)............46
6.1.1 UNATTEND.XML............................................................................46
6.1.2 Adding more files............................................................................46
6.1.3 Various configurations / response files............................................48
6.2 NCSTools Addon-Image...........................................................................48
6.3 Hardware Addon-Images..........................................................................48
6.3.1 Basics.............................................................................................49
6.3.2 Using DPInst...................................................................................49
6.3.3 Device driver provisioning...............................................................49
6.3.4 Driver installation programs............................................................51
6.3.5 Creating Hardware-Addon-Images for Windows 10........................52
6.4 ZCM Agent Addon-Image.........................................................................53
6.4.1 Preparation.....................................................................................53
6.4.2 Know Issues...................................................................................55
6.4.3 Recommended solution..................................................................55
6.5 Creating additional Addon-Images............................................................57
6.6 Summary Addon-Images..........................................................................57
7 Imaging Bundles and distribution........................................................................58
7.1 Creating an image....................................................................................58
7.1.1 Manual imaging...............................................................................58
7.1.2 Automatic Imaging using ZENworks Control Center.......................62
7.2 Imaging Bundles for Windows 10.............................................................64
7.2.1 Creating Image-Bundles.................................................................66
7.3 Apply Image-Bundles................................................................................68
7.3.1 Configuration of pxe options...........................................................68
7.3.2 Imaging Bundle Assignments..........................................................70
7.3.3 Starting the Windows-Installationprocess.......................................73
8 ZCM Installation-Bundles......................................................................................74
8.1 General overview.....................................................................................74
8.2 Install-Control-WIN10...............................................................................74
8.3 WIN10-Cleanup........................................................................................75
8.4 Installation with Bundle-Groups (WIN10-INSTALL)..................................76
ii
8.5 Installation of default applications.............................................................78
9 Optional Configuration.......................................................................................... 79
9.1 General overview.....................................................................................79
9.2 Installation and Configuration of language packs.....................................79
9.2.1 General overview: Language Packs................................................79
9.2.2 Installation of language packs.........................................................79
9.3 Joining an Active Directory Domain (JOIN-DOMAIN)...............................83
9.4 Managing local accounts..........................................................................84
9.4.1 Adding additional accounts.............................................................84
9.5 Windows 10 Settings (WIN10-CONFIG)..................................................85
9.5.1 Configuring Windows services........................................................85
9.5.2 Deactivate Telemetry......................................................................86
9.5.3 Modifying the Startmenu.................................................................86
9.5.4 Customize the Login-Screen...........................................................88
10 Appendix............................................................................................................... 90
10.1 Windows 10 Files...................................................................................90
10.1.1 UNATTEND.XML..........................................................................90
10.1.2 DPINST.XML.................................................................................92
10.1.3 PlugAndPlayDriver.CFG................................................................92
10.1.4 LanguagePacks.CFG....................................................................92
10.1.5 Regional Settings..........................................................................93
10.2 AutoIT Tools........................................................................................... 96
10.2.1 NCSExecuteSetup.exe.................................................................96
10.2.2 NCSMonitorProcess.exe.............................................................105
10.2.3 NCSMonitorDeployment.............................................................107
10.2.4 NCSPrepareGuiRunOnce.exe....................................................114
10.2.5 NCSRegistryImport.exe...............................................................119
10.3 Registry files......................................................................................... 125
10.3.1 Windows-Settings.......................................................................125
10.3.2 ZCM-Agent-Configuration...........................................................125
10.3.3 Settings for NCS Tools................................................................126
10.4 VMware driver and tools.......................................................................127
10.4.1 Configuration File – VMWareTools.cfg........................................127
10.5 ZCM Agent........................................................................................... 127
10.5.1 Configuration File – ZCMINSTALL.CFG.....................................127
10.6 Authentication Hook.............................................................................128
10.6.1 Settings of Authentication Hook..................................................128
10.6.2 Documentation............................................................................129
10.7 Bundle-Actions (Examples)..................................................................137
10.7.1 Set Powerscheme to “Maximum”................................................137
11 Imaging-Skripts (Examples)..............................................................................140
11.1 GetWSName........................................................................................ 140
11.2 CreatePartitions / CreateMBR (BIOS)..................................................140
11.3 RestoreImages.....................................................................................140
11.4 Create Partitions and Restore Images (UEFI)......................................141
iii
11.5 WriteZISD............................................................................................. 141
11.6 Using variables.....................................................................................141
11.7 HWINFO............................................................................................... 141
iv
Tables
Table 1: Important entries of the Unattend.xml........................................30
Table 2: Bundle-Ordering....................................................................45
Table 3: Settings of ZCM-Agent.............................................................56
Table 4: Images-Directories.................................................................60
Table 5: Duration to create an Image.....................................................62
Table 6: WIN10-Cleanup-Actions...........................................................76
Table 7: Bundle-Ordering during installation process..................................78
Table 8: Regional Settings...................................................................81
Table 9: ZCM Variables: Join Domain......................................................83
Table 10: Services – Start options..........................................................85
Figures
Figure 1: ZCM OS Deployment Architecture...............................................9
Figure 2: VMware Settings..................................................................12
Figure 3: Windows 10 Language Settings.................................................13
Figure 4: Install of Windows 10............................................................14
Figure 5: Setup is starting...................................................................14
Figure 6: Accept License Terms............................................................15
Figure 7: Select Install type: Custom......................................................15
Figure 8: Windows 10 Partitioning.........................................................16
Figure 9: GPT-Partitionscheme.............................................................16
Figure 10: MBR-Partitionscheme...........................................................16
Figure 11: Getting files ready...............................................................17
Figure 12: Installing Windows 10..........................................................17
Figure 13: Windows 10 Restart.............................................................18
Figure 14: Windows 10 Hardware Detection............................................18
Figure 15: Windows 10 Settings Screen..................................................19
Figure 16: Audit Mode for Windows 10...................................................20
Figure 17: Windows 10 Updates............................................................20
Figure 18: Installing Windows10-Updates ...............................................21
Figure 19: Windows Updates: Up-to-date................................................21
Figure 20: Windows 10 Activation required.............................................22
Figure 21: Windows 10 Activation required.............................................22
Figure 22: Windows 10 Device Manager..................................................23
v
Figure 23: Desktop-Settings.................................................................24
Figure 24: Explorer-Settings – Folder options...........................................24
Figure 25: Disk Cleanup for C:\.............................................................25
Figure 26: Cleanup System Restore.......................................................25
Figure 27: System Preparation Tool.......................................................26
Figure 28: Windows System Image Manager.............................................28
Figure 29: WISM: Unattend.xml............................................................28
Figure 30: WSIM: Help for unattend.xml.................................................29
Figure 31: WSIM: Validate Answer File....................................................29
Figure 32: DPINST Parameter...............................................................31
Figure 33: Device-Driver in an Addon-Image............................................32
Figure 34: GPT-Partitioning / UEFI-Boot..................................................34
Figure 35: MBR-Partitioning / BIOS-Boot..................................................34
Figure 36: UAC Dialog........................................................................36
Figure 37: NCSTools -NCSExecuteSetup.exe.............................................37
Figrue 38: NCSTools – NCSRegistryImport.exe...........................................37
Figure 39: NCSTools - NCSPrepareGuiRunOnce..........................................38
Figure 40: NCSTools - NCSMonitorDeployment..........................................39
Figure 41: NCSTools - NCSMonitorProcess................................................40
Figure 42: DeploymentProcess - Requirements 1......................................44
Figure 43: DeploymentProcess: Requirements 2.......................................44
Figure 44: _INSTALL-CONTROL.............................................................45
Figure 45: ADDON-Image: WIN10-SYSPREP...............................................47
Figure 46: Addon-Image: NCS-Tools........................................................48
Figure 47: Addon-Image: NCS-Tools Konfiguration......................................48
Figure 48: Exporting device driver using DriverMagician-Lite.......................50
Figure 49: Driver directories...............................................................51
Figure 50: Addon-Image: WIN10-VMware64..............................................52
Figure 51: Device driver installation......................................................53
Figure 52: ZCM-Agent:Depoyment Packages.............................................53
Figure 53: Custom deployment packages.................................................54
Figure 54: Custom deployment packages: Server.......................................54
Figure 55: Select registration key: Duesseldorf.........................................55
Figure 56: ZCM Agent Image - Part1.......................................................56
Figure 57: ZCM-Agent Image - Teil 3.......................................................56
Figure 58: ZCM-Agent during installation process......................................57
vi
Figure 59: PXE-Boot..........................................................................58
Figure 60: PXE-Bootmenü...................................................................58
Figure 61: Linux Prompt: img..............................................................59
Figure 62: IMG: Creating an image.........................................................59
Figure 63: Select destination...............................................................59
Figure 64: Make Image Wizard.............................................................60
Figure 65: Select Partitions (MBR/BIOS)..................................................60
Figure 66: Select Partitions (UEFI/GPT)...................................................61
Figure 67: Image-Description...............................................................61
Figure 68: Imaging-Process..................................................................62
Figure 69: Login ZCC.........................................................................63
Figure 70: Search a device..................................................................63
Figure 71: Contextmenu “Create Image”................................................63
Figure 72: Create image – Select IMAGE-file.............................................64
Figure 73: Create Image: Summary........................................................64
Figure 74: Imaging-Bundles.................................................................65
Figure 75: Image-Bundle- HP6730 PC (Example)........................................65
Figure 76: Creating Imaging Bundle - Preboot-Bundle.................................66
Figure 77: Creating Imaging Bundle - Category ZENworks Image....................66
Figure 78: Creating Imaging Bundle – Select name and folder.......................66
Figure 79: Creating Imaging Bundle – Select image file................................67
Figure 80: Creating Imaging Bundle – Add more actions...............................67
Figure 81: PXE-Options......................................................................69
Figure 82: Information in ZISD..............................................................70
Figure 83: Device Imaging Work Assigment..............................................70
Figure 84: Hardware rule - WIN10-VMWARE.............................................71
Figure 85: IMG – Hardware details.........................................................72
Figure 86: Apply Rule Base Imaging.......................................................73
Figure 87: DeploymentInProgress=1......................................................74
Figure 88: INSTALL-CONTROL-WIN10 – Device assigments............................75
Figure 89: INSTALL-CONTROL-WIN10: Actions (Install)................................75
Figure 90: WIN10-CLEANUP: Actions (Install)............................................76
Figure 91: Installation with a Bundle-Group.............................................77
Figure 92: Assigning a bundle group.......................................................77
Figure 93: Installation with a group: Bundle-Ordering.................................77
Figure 94: Bundle-Status: MonitorDeployment..........................................78
vii
Figure 95: Addon-Image: Languagepack DE_DE.........................................80
Figure 96: Addon-Image - LanguagePacks................................................80
Figure 97: Installating a language pack...................................................81
Figure 98: Addon-Image: WIN10-Regionalsettings (CFG)..............................82
Figure 99: Addon-Image: WIN10-Regionalsettings (XML)..............................82
Figure 100: Configure Regional Settings.................................................83
Figure 101: JOIN-DOMAIN...................................................................83
Figure 102: WIN10-Accounts: Password..................................................84
Figure 103: Bundle - WIN10-ACCOUNTS..................................................85
Figure 104: Custom Startmenu.............................................................87
Figure 105: Windows 10 Login Screen....................................................88
Figure 106: Bundle - WIN10-Config........................................................89
Figure 107: AuthHookNCS: Bundle Description........................................128
viii
Summary
1 Summary
The purpose of this document is to provide Micro Focus partners and customers with a proven
methodology and design guidelines for Windows 10 deployment based on a ZENworks
Configuration Management (ZCM) infrastructure.The document provides a detailed guide to deploy
a new Windows operating system in the enterprise using the best practices from Micro Focus
Solutions Consulting and documents all the steps from preparation to completion.
References:
This document is not intended to be an educational document or documentation for ZENworks 11
SP4 Configuration Management. Basic Windows and ZCM skills are required.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
1
2 Preparation of the ZCM Infrastructure
2.1 ZCM Versions
To support Windows 10 in a ZCM infrastructure, at least version 11.4.1 must be used. All other
versions must be upgraded to this release.
The various update scenarios are described in the documentation:
https://www.novell.com/documentation/zenworks114/
The following installation files are required:
ZENworks 11 SP4 sources: http://download.novell.com/Download?buildid=hp2QImNH1Lg~
ZENworks 11.4.1 Update: http://download.novell.com/Download?buildid=SUBF3bn93tU~
Post SP4 Update Prereq: http://download.novell.com/Download?buildid=lYgt5LwL0s4~
ZCM Imaging-Update 12/2015: http://download.novell.com/Download?buildid=SUBF3bn93tU~
It´s highly recommended to use the latest version wherever possible.
The following versions are currently up-to-date:
•
ZENworks 11.4.3 Update
•
ZCM Imaging Update 11/2016
As the overall architecture will not change, this document can also be used with Micro Focus
ZENworks Configuration Management 2017.
2.2 ZCM Update
The ZCM update is performed according to the procedures described in the documentation.
All primary servers as well as satellite servers must be updated to latest version ZCM 11.4.x.
2
Micro Focus Partner Confidential
Basics
3 Basics
In general, two forms of a fully automated installation of Windows operating system can be
distinguished.
•
Distribution of a customized image
•
Installation with a response file
3.1 Installation with a response file (Unattended Install)
In the case of an "unattended installation", a response file containing all the necessary installation
parameters is transferred during the installation of the operating system. Thus user input is not
necessary
Possible options are:
•
Computername
•
Workstation Name
•
Company name
•
Serialnumber
•
Driver
•
Windows components
•
Network information like IP-Adress or DNS-Server
During the installation, each response file must be unique, e.g. computer names. The response file
must also contain different scenarios such as DNS suffix, hardware drivers, or other customerspecific parameters.
For easy management of various configurations, these are often stored in databases, and custom
configuration is dynamically generated when the installation is run. During installation, a local agent
scans (a software component) hardware, prompts the user for further installation parameters, such
as username and sends this information to the database system. This database system sends a
completed response file back to the device and the installation can begin.
After the operating system installation, other software packages, e.g. Office 2013 or a virus scanner
must be installed.
This method is also used with the tools used by Microsoft today . Likewise, other third-party
providers rely on this installation procedure.
3.1.1 Advantages
The main advantages of an installation with response file are:
•
Flexibility
•
Low disk space for source files
•
Hardware-independent - if all necessary drivers are available and these are also
integrated into the management system.
3.1.2 Disadvantages
The main disadvantages are:
•
Installation time
•
Integration of new hardware is sometimes very complex
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
3
•
Possibly, the flexibility can produce many different configurations.
3.2 Installation with a full-image
Generally speaking, an operating system image represents an exact copy of a hard disk (master
system) independent of the contents of the hard disk. It also stores information about the size, the
master boot record (MBR), the partition table, and all files on the hard disk. In older versions of the
imaging software even empty sectors are saved, whereas new tools only save the used part in the
image.
In addition to the operating system, the image may also include all installed applications, such as
Office 2013 or GroupWise 2014. If the image is now restored on another device, a 100% copy of
the master system is created. It should be noted that the following information must be adapted
after the imaging process so that the device is still unique:
•
Computername
•
Workgoup
•
Security Identifier (SID)
•
IP Adresse und DNS
Furthermore, this image only works on the same hardware type as the master system.
3.2.1 Advantages
•
Fast recovery
•
No software installation necessary
•
optimal solution as a backup
3.2.2 Disadvantages
•
Device-specific information must be changed
•
An image must be created for each type of hardware
•
Maintaining the various images is very complex
•
If new software is used, ALL images must be adapted
3.3 ZCM Imaging
The ZENworks Imaging Engine eliminates the disadvantages of a native disk cloning software that
copies a disk sector by sector and combines the imaging capabilities at the partition level (base
image) with additional file images (so-called addon-Images).
4
•
The basic functions are:
•
Creation and distribution of images at the file level
•
Automatic (re) configuration of the following Windows settings
•
Computerame
•
Workgroup
•
Security Identifier (SID)
•
IP configuration for static addresses
•
DNS configuration
•
After an imaging operation, all of the above settings are automatically restored.
•
Images can be edited with the ZCM Image Explorer
•
Support for imaging scripts for customized solutions
•
Distribution of add-on images to transfer additional files or exchange existing files
•
Addon-images for application installations
Micro Focus Partner Confidential
Basics
3.3.1 Advantages
The use of ZCM Imaging has the following advantages:
•
Central image distribution
•
Quick (re-) installation of a Windows workstation with preinstalled applications
•
Reduced downtime during a new installation
•
Reduced administrative effort through addon images
•
Multicast distribution
•
This image solution is almost hardware-independent in conjunction with the Windows
Automated Installation Kit (WAIK) and the Sysprep method for Windows 7 and later
3.4 Important topics
3.4.1 Training on the following topics
Before starting with the project make sure you understand basic functionalities of:
•
Novell ZENworks Configuration Management.
https://www.novell.com/documentation/zenworks114/
•
Additional tools that simplify the installation process as well as administration. A good
source is the Novell Cool Solutions Page:
•
•
•
AutoIT
•
ENGL
•
ZENworks Imaging
•
Windows Automated Installation
Microsoft Deployment Guide for Windows 10 (Microsoft Web Pages)
•
Microsoft SYSPREP Deployment Tool
•
Windows 10 Deployment Guide
•
Windows 10 Resource Kit
•
Windows Automated Deployment Kit (ADK)
•
Windows Driver Kit (WDK)
Documentation of all hardware, components and software products with regard to
•
Configuration parameter
•
Unattended installation
3.4.2 Collecting information
The following information is required for the design of the new Windows 10 client:
3.4.2.1 Geographical Locations / Infrastructure
•
How many locations?
•
How many users and devices per site?
•
Are the devices managed centrally or decentrally?
•
Are the devices installed in all locations?
•
Are new installations possible in all locations or only in the central office?
3.4.2.2 Organizational aspects / Licenses
•
What software is required?
•
Which software is required on every PC?
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
5
•
Is there any software needed for specific departments? Is this software required for
all PCs in this department?
•
Can software packages be combined as they are always installed together?
•
How are the products licensed? Can a license be used for multiple installations?
•
What safety requirements must be met?
•
Which languages are supported? For several languages:
•
Are there language packages available for the operating system and are they
licensed?
•
Are language packs available for the applications and are they licensed?
3.4.2.3 Hardware and Software
•
How many different devices should be supported
•
How many desktop PCs?
•
How many notebook PCs?
•
Is software delivered with the hardware? (e.g., CD burner software)
•
Are there different software packages for the same application? Can this software be
consolidated?
•
Is the latest version always used?
•
If no, can the software be updated?
•
If so, is this software compatible with the new operating system?
•
Are there contacts for the software (application responsibilty ?)
Is the software installation and configuration documented?
•
•
Which product components are installed?
•
Are special configurations necessary?
•
Do templates, standard stores, etc. exist?
What software does a client-server architecture use?
•
•
Configuration parameters?
•
IP addresses or DNS name of application servers, session names, and so on.
3.4.2.4 Network infrastructure
•
How is the network infrastructure built up?
•
What IP ranges are used?
•
Is DHCP used everywhere?
What information is provided by DHCP?
•
•
IP address, subnet mask, default gateway
•
DNS Server
•
DNS domain
•
eDirectory Login Server
•
WINS Server
•
6
Time Server
•
How is the Domain Name Service (DNS) built up? Are there subdomains for the
sites?
•
What bandwidths are available?
•
Are there servers in all sites? Which operating system is used ?
•
Which configuration parameters are dependent on the location?
•
languages
•
Proxy server
Micro Focus Partner Confidential
Basics
•
Logon server
3.5 General design guidelines
Based on the collected data, there are usually many different configurations for the Windows 10
client, which must be mapped using a desktop management system.
To minimize the complexity of the desktop management system, consider the following:
3.5.1 Define a standard
•
The installation of the operating system should always be done on the same partition
•
The same components of the operating system are always installed
•
If possible, no "redundant" software should be used.
•
Only one software version is supported
•
To reduce complexity, an attempt should be made to group the different requirements
into so-called modules. As a result, numerous individual configurations can be
avoided
•
Standard applications, administrators, PowerUser etc.
•
Software should always be installed in the same order
3.5.2 Using the existing network infrastructure
Today many companies use a hierarchical DNS system. In this way, services such as log-in servers,
print servers can be configured independently of the location.
It is also recommended to use this DNS infrastructure for the desktop management system. The
use of IP addresses instead of names should be avoided.
3.5.3 Decision guidance
In order to avoid a long decision-making process that can delay a project, clear design statements
data should be made. (e.g.
•
Access to a device only by a local login, or only by using ZCM Remote Management
Software
•
Software and updates are installed exclusively through the central desktop
management system
•
The devices must not transmit data on the Internet
•
Compliance with the BSI safety guidelines is mandatory
•
The basic configuration is set for 6 months
Based on the statements above a configuration can now be defined.
3.6 Basic architecture of a Windows 10 installation with ZCM
This chapter describes the basic architecture of the installation process of a typical Windows client
with ZCM. The architecture fulfills the usual requirements of a company and follows the previous
comments. In essence, this architecture represents the "best practices" from successful projects
that have been delivered by Micro Focus Solutiuon Consulting.
3.6.1 Modular client architecture
The following illustration describes the modular structure of the installation process for a typical
Windows workstation:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
7
•
The installation process essentially consists of 3 levels. The basis is phase 1 "Core",
in which the operating system and all necessary modules are transferred and
installed. Basic settings are also made here.
Phase 2 is called "Common". All major software installations and configuration are
performed here.
Phase 3 "Custom" is optional and includes individual configuration and regular
maintenance. Depending on the applications, the sub-modules software distribution,
patch management and guidelines can be used at this level.
8
•
After transferring the images via PXE or DVD, the installation process can be carried
out without user intervention (up to the end of level 2)
•
After completion of phase 2, the user can log on and the individual configuration is
carried out. All standard applications are now available. Other software can now be
installed on demand or automatically. The installation and configuration process is
completed in Phase 3 by activating policies.
•
Phase 1 also consists of several independent modules (base image plus addon
images)
•
A module can be replaced or dropped without affecting the overall process
•
Each module can consist of several components. Each individual component is
transferred with an addon image
•
A single base image is required for each operating system or architecture (x86 / x64)
•
The overall architecture combines the advantages of an image distribution with the
advantages of an automatic installation.
Micro Focus Partner Confidential
Basics
Figure 1: ZCM OS Deployment Architecture
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
9
4 Windows 10 Installation
This chapter describes a step by step instruction for setting up an almost hardware-independent
Windows 10 installation. In general, this manual can also be used to install Windows 7 or Windows
8.1.
4.1 Windows 10 Introduction
4.1.1 Microsoft Deployment Architektur
With the introduction of Windows Vista and all Vista-based operating systems, Microsoft has
switched the installation process to an imaging-based process. If you install Windows 10 from any
installation medium (for example DVD or USB), a standard image is transferred to the PC after the
boot process (using WinPE). The image format is also referred to "WIM" image.
Microsoft uses the following seven phases during the installation process:
•
Windows PE
•
Offline Servicing
•
Generalize
•
Specialize
•
Audit System
•
Audit User
•
OOBE System
Each individual phase can be adapted to specific requirements. In order for the installation process
to work with different hardware types, all phases except "Audit System" and "Audit User" must be
must be adapted.
The WinPE phase is only needed to start the PreBoot environment. Microsoft uses a mini-Windows
(WinPE). In the next phase additional drivers can be integrated, so that the WIM image contains all
necessary drivers. These drivers are then permanently stored in the WIM image. In the
"Generalize" phase, all hardwarespecific information is then removed so that the automatic
hardware detection runs again in the subsequent "Specialize" phase. The final 3 phases provide the
individual configuration of the Windows 10 installation.
Microsoft provides some tools for managing the new installation method. Details can be found in
the corresponding documentation.
https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit
The following chapters describe how to use these tools in conjunction with ZENworks Configuration
Management.
4.1.2 Supported phases when using ZCM Imaging
Using ZCM Imaging not all the Microsoft installation phases of Windows 10 are required.
The WinPE phase is not required as long as the 3rd Party Imaging Tools IMAGEX from Microsoft or
GHOST from Symantec are not integrated into ZCM. ZCM has its own Linux-based imaging
environment, which is used to transfer the images. This tool has been available since ZENworks for
Desktops 3 and has been used by many customers for a long time.
All following chapters assume that the ZCM imaging environment is used. However, the Windows
installation process shown here is basically independent of the imaging method used.
10
Micro Focus Partner Confidential
Windows 10 Installation
The "Offline Servicing" phase is also not required because ZCM addon-image technology offers the
possibility to create an individual driver image, which then supplements the base image.
Furthermore, the most diverse configurations can be achieved with additional addon-images without
having to change the base image. This significantly reduces administrative and testing
requirements & efforts.
Thus, the typical phases of Windows installation reduce to the following:
•
Generalize
•
Specialize
•
OOBE System
4.1.3 Required Microsoft Deployment Tools
Although the use of ZCM does not require to setup a Windows Deployment Server, the following
additional tools are necessary for the provisioning of the necessary response files for the Sysprep
method on at least one Admin PC:
•
Windows® Assessment and Deployment Kit (Windows ADK)
https://msdn.microsoft.com/de-de/windows/hardware/dn913721.aspx
•
WDK (Windows Driver Kit) for Windows 10
https://msdn.microsoft.com/enus/library/windows/hardware/ff557573%28v=vs.85%29.aspx
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
11
4.2 Creating a Windows 10 base image
First step is the creation of the base image. Keep the installation as simple as possible The
installation should be as simple as possible, so that most default settings can be used in the base
image. The selection of the Windows components can be reduced if necessary, drivers and other
software are not required at this point.
This process must be performed separately for each operating system architecture (x86 / x64).
4.2.1 Windows 10 Setup
The simplest way to create a base image is to use a virtual device such as VMware or Hyper-V.
VMware is used in the following examples.
When creating the virtual machine it is imperative to ensure that the installation wizard to install the
operating system is not used. All other settings can be adopted unchanged.
Figure 2: VMware Settings
During the installation, only a few settings need to be made. As usually all drivers for the virtual
platforms are integrated in Windows 10, the installation of additional drivers is not necessary. The
selection of the installation medium determines both the standard language and the architecture
(x86 / x64) of the base image. Other languages can later be added using language packs.
Because some supported languages are based on the English language, it is recommended to
create the base image in English. If other languages are not required, the basic image can be
installed in the desired language.
12
Micro Focus Partner Confidential
Windows 10 Installation
After inserting the installation DVD and starting the installation, please follow the instructions until
the following setting becomes available.
•
Select the primary language during the installation. This setting can be changed later
without rebuilding the image. Choosing the correct keyboard layout is recommended.
Figure 3: Windows 10 Language Settings
•
Follow the on-screen instructions.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
13
Figure 4: Install of Windows 10
The installation will start with "Install now".
Figure 5: Setup is starting
The next step is to accept the license terms.
14
Micro Focus Partner Confidential
Windows 10 Installation
Figure 6: Accept License Terms
Click Next:
Figure 7: Select Install type: Custom
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
15
•
Installation type: Custom
•
Create a primary partition with a minimum size of 60 GB (default). Windows 10 will
create additional partitions. The number of partitions depends on the selected
partitioning method (MBR / GPT).
Figure 8: Windows 10 Partitioning
Hint:
For devices with UEFI Bios and GPT partition layout, the default partitioning looks as follows:
Figure 9: GPT-Partitionscheme
For devices with traditional BIOS and MBR partition layout, the default partitioning looks as follows:
Figure 10: MBR-Partitionscheme
16
•
Follow the instructions
•
Now the Windows 10 Image (INSTALL.WIM) is transferred
Micro Focus Partner Confidential
Windows 10 Installation
Figure 11: Getting files ready..
Figure 12: Installing Windows 10...
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
17
Figure 13: Windows 10 Restart..
After this, the device is restarted and hardware detection begins
Figure 14: Windows 10 Hardware Detection
18
Micro Focus Partner Confidential
Windows 10 Installation
After a short time the following screen appears:
Figure 15: Windows 10 Settings Screen
At this point, it is now necessary to switch to the so-called audit mode. In the audit mode, the
Windows installation can be updated (for example, by installing Windows updates) and can be
customized.
The audit mode is activated by pressing the key combination:
<Shift> <Strg> <F3>
The system will restart, the auto-login as "Administrator" begins and the system preparation tool
(sysprep) is started automatically.
The system is now in the “audit mode”.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
19
4.2.2 Audit-Mode for Windows 10
Figure 16: Audit Mode for Windows 10
In “audit mode” the Windows system can now be customized . Updates are installed first:
4.2.2.1 Install Updates
Figure 17: Windows 10 Updates...
In the Audit mode, the system can be restarted several times, if necessary. The audit mode is
automatically started again.
20
Micro Focus Partner Confidential
Windows 10 Installation
After the Windows updates are installed, a reboot is performed and the updates are installed:
Figure 18: Installing Windows10-Updates ...
A final check should display the following message:
Figure 19: Windows Updates: Up-to-date
The system is now up to date and can now be customized if needed.
Caution: Windows Store Apps may NOT be updated at this point !!
Vgl.: https://msdn.microsoft.com/en-us/library/windows/hardware/dn938334%28v=vs.85%29.aspx
Vgl.:https://support.microsoft.com/en-us/kb/2769827
This is valid from Windows 8 or later.
Recommendation: At this point, a backup of the current configuration should be performed, e.g. By
a snapshot "W10-Updates-Installed"
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
21
4.2.2.2 Customizing the Windows 10 Installation
Most adjustments to Windows 10 may be made in subsequent tasks, either through Group Policy
or the distribution of registry entries or configuration files
Figure 20: Windows 10 Activation required
The Windows 10 base image should contain as few adjustments as possible to minimize
maintenance effort.
Customizations settings in a “user profile” can be adapted, these settings can be taken over into
the “default profile” as part of the ongoing “sysprep” process by using the "CopyProfile" option.
Thus, all new users (local users or domain users) receive these settings. These settings, among
others, include
•
Desktop-Icons
•
Colors and backgrounds
•
Explorer-Settings
In order to make these changes or settings, Windows 10 must be activated. This will be undone in
the subsequent Sysprep process. Otherwise, the following message appears:
Figure 21: Windows 10 Activation required
22
Micro Focus Partner Confidential
Windows 10 Installation
Likewise, the available Store apps (provisioning apps) can be uninstalled, otherwise they will be
installed for each new user. A general recommendation is not given at this point as the number of
apps or the name of the apps may change without notice. The uninstallation can be done
automatically via Powershell scripts.
Additional documentation can be found at http://www.microsoft.com
4.2.2.3 Installation of tools and additional software
In order to ensure a reasonable balance between a failure of a device and the actuality of the base
image, it is necessary to check carefully which components need to be into the base image. Micro
Focus Consulting recommends to integrate only such components to have a unchanged base
image for a period of 6-12 months. Therefore, the integration of additional software should be
preferably avoided. This software can be installed later via ZCM software bundles.
The same statement applies to customer-specific configuration options. Whenever possible,
configuration settings should be done through grouppolicies or the distribution of registry values. As
an exception, only the settings that are required, when no ZCM agent is installed, should be applied.
A common way is to install all service packs, patches, the required DotNet components, and
possibly all versions of VC ++ or similar.
In Windows 10, DotNet components version 4.x are already installed. In some cases an older
version (V3.5.1) is required. This can be installed using the following command.
Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\SYS\SETUPS\DotNet351\sxs
/LimitAccess
In the this case, the installation sources were copied from the Windows 10 DVD to
“c:\sys\setup\Dotnet351”.
Micro Focus Consulting also recommends not to integrate the ZCM agent into the base image.
4.2.2.4 Integration of drivers
Even if unknown devices are displayed in the device manager, this can be ignored. Drivers are
distributed later through an addon-image and integrated during the sysprep process.
Figure 22: Windows 10 Device Manager
Note: Only in very rare cases, it may be necessary to install additional hard disk driver, which are
not included with Windows 10.
4.2.2.5 Windows 10 Desktop customization
As I said before, most customizations can be made after Windows 10 has been installed. If
adjustments are to be made to standard settings, e.g. the standard desktop or explorer settings,
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
23
this can also be done in the audit mode. Then these settings made can be transferred to the
“default profile” during the sysprep phase.
In this case, sysprep must be configured to set the “CopyProfile option” to True. This setting copies
the profile of the user (the "builtin" administrator) that starts the Sysprep process to the
DefaultProfile.
In this case, no other users may be created before the Sysprep process starts, otherwise copying
the profile will fail. Other users can be created later by the "unattend.xml", if necessary.
Settings for desktop icons:
Figure 23: Desktop-Settings
Explorer-Einstellungen:
Figure 24: Explorer-Settings – Folder options
24
Micro Focus Partner Confidential
Windows 10 Installation
4.2.2.6 Cleanup Windows 10
After all necessary settings have been made, it is strongly recommended to clean up the installation
to remove unnecessary files. Please disconnect all network connections before proceeding.
"Disk Cleanup" now removes all temporary files.
•
Run CleanMgr.exe
•
Select files to delete
Figure 25: Disk Cleanup for C:\
See "More Options": the recovery points and shadow copies should also be deleted.
Figure 26: Cleanup System Restore
4.2.2.7 Cleaning up an installed ZCM Agent
If a ZCM agent is included in the base image, some additional steps must be performed.
Please refer to documentation:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
25
http://www.novell.com/documentation/zenworks11/zen11_cm_preboot_imaging/data/bve6kps.html
4.2.2.8 Save the Master-Image
The second stage of the preparation is now complete. Before the next steps are initiated, a
snapshot should be created again (W10_ReadytoSysprep).
4.2.2.9 Exit Audit-Mode
In order for the master image to be used in the further process, the audit mode must be terminated.
If you want to change the default profile, create a “CopyProfile.xml” file on a USB stick (for example
E: \ Windows10) with the following content:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/temp/windows10/install.wim#Windows 10 Enterprise"
xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Vgl. auch 4.3.1
If still active, stop System Preparation tool (sysprep) and run
C:\Windows\System32\Sysprep\Sysprep /generalize /oobe /shutdown /unattend: E:\WINDOWS10\CopyProfile.xml
to start the sealing process of the base image. The virtual machine will be shut down after
completion. Create a Snapshot W10_AfterSysprep!
If the default profile has not been customized, the sealing process can also be carried out via the
graphical user interface. The copyprofile.xml file is not required then.
Figure 27: System Preparation Tool
4.3 Systempreparation for Windows 10 using SYSPREP
This chapter describes the necessary steps to prepare the system with Sysprep, to get the benefits
using ZCM Imaging. It also describes how to create the necessary response file (unattend.xml) with
ADK and how to use the WDK to install additional hardware drivers.
26
Micro Focus Partner Confidential
Windows 10 Installation
In addition, other tools from Micro Focus Consulting are described that extend the installation
process and allow easy handling of the addon-images.
As Microsoft has explained, it is quite possible to create a master image that includes drivers for
ALL hardware types used in the customer environment as well as different configurations. This can
be accomplished by editing the master image in the WinPE or Offline_Servicing phase. The most
important points at this point is the integration of drivers, "out-of-the-box" drivers, into an existing
image.
If all hardware drivers have to be integrated into an image, there may be conflicts in the driver
installation, i.e. different versions of the same driver are required. Therefore, after a change, all
hardware types must be tested again - a great test effort arises.
Micro Focus Consulting has developed a solution to avoid this problem. In most cases, only one
base image is required. Additional device drivers are added dynamically only for the respective
model. The drivers are provided with an addon image.
The key components are:
•
SYSPREP (System Preparation Tool)
•
ADK (Windows® Assessment and Deployment Kit)
•
WDK (Windows Driver Kit)
•
ZCM Imaging Engine und Werkzeuge (ZCM Image Explorer)
•
Some Micro Focus Consulting Tools, based on „AutoIt“
(https://www.autoitscript.com/site/autoit/)
The system preparation tool “Sysrep” is used to prepare the necessary steps for the hardwareindependent Windows installation and to adapt the new system accordingly. The automatic process
requires a response file (unattend.xml) that can be created using the ADK (Windows® Assessment
and Deployment Kit). The WAIK can be used free of charge.
For additional drivers to be installed automatically, the "DPINST" tool is used from the WDK. The
WDK is also for free.
The ZENworks Image Explorer is still used to edit and create the addon-images. The installation
package can be downloaded and installed from any ZCM Primary Server.
4.3.1 Windows System Imaging Manager
First, an administrator workstation must now be installed. All required tools are installed on this
workstation. Then you can start creating the answer file for Windows 10.
•
Copy Windows 10 Installations DVD to Administrator-Workstation (z.B.
D:\TEMP\WINDOWS10)
•
Run Windows System Imaging Manager:
•
•
“Start Menu | All Programs | Windows Kits |Windows ADK AIK | Windows
System Image Manager”
Select Windows Image
•
“Select Windows Image...”and change to given directory and select
„INSTALL.WIM“ in directory „SOURCES“.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
27
Figure 28: Windows System Image Manager
Open an existing file or create a new one. A template for Windows 10 x64 is found in appendix. A
template for the file “copyprofile.xml” in chapter 4.2.2.9 can be found as well.
Figure 29: WISM: Unattend.xml
The above example shows a file for Windows 10 x64. For the x86 version, the file must be
connected to the appropriate image. Also, the entries that refer to the configuration architecture
"am64_" in the above example are replaced by the corresponding 32-bit references.
Now the response file can be adapted according to the required settings. Only the phases
"Specialize" and "OOBE System" are required for the installation process. For a detailed description
of the settings, you can request help via <F1>.
28
Micro Focus Partner Confidential
Windows 10 Installation
Figure 30: WSIM: Help for unattend.xml
After all required entries have been made, a validation must take place. To do this, select the option
"Validate answer file" from the Tools menu. No errors should be displayed for further use.
Figure 31: WSIM: Validate Answer File
For the ongoing process 2 response files are required:
•
„copyprofile.xml“ to seal a master image
•
„unattend.xml“ to be used during Sysprep-Specialize-Phase
A detailed description of all settings is available in “Help”. All necessary settings will be briefly
described in the next chapter
Caution: All changes to UNATTEND.XML may only be made with Windows System Image
Manager. Editing with an editor can lead to undesirable results.
4.3.2 UNATTEND.XML
The following chapter describes some important entries in the response file. These entries are
required for an independent Windows installation, in which additional configuration options can be
integrated using addon-images.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
29
Setting
Component
Pass
Description
ComputerName=*
Microsoft-WindowsShell-Setup
4 specialize
ComputerName=* will generate a unique
computer name during the SYSPREP
specialize pass. This insures that more than
one workstation can be deployed at the same
time. The ZENworks Imaging Agent, which is
part of the ZCM Agent is used to change the
computer name to a well-defined name.
RunSynchronous
Microsoft-WindowsDeployment |
RunSynchronous
4 specialize
Used to execute additional commands during
the SYSPREP specialize pass.
JoinWorkgroup=Name
Microsoft-WindowsUnattendedJoin |
Identification
4 specialize
During the first step the machine must be a
member of a workgroup, even if the machine
must be a member of a domain. Otherwise,
the machine will be joined to the domain with
the random generated computer name and
must be renamed or deleted and re-joined
later.
To avoid this, the machine can be joined to the
domain by using the command line tool
“”netdom.exe,” which is part of Microsoft
Support Tools. This also gives you the
flexibility to pre-stage the machine and join it to
the domain when the workstation boots up the
first time in your production environment.
CopyProfile=True
Microsoft-WindowsShell-Setup
4 specialize
CopyProfile specifies whether the default user
profile usually stored under C:\Users\Default is
overwritten with the currently logged-on user
profile.
As with Windows XP SP2, any “User Profile”
on your Master Machine can be used as the
new “Default Profile”. This setting will copy the
profile of the current logged in user when
running SYSPREP /generalize
SkipUserOOBE=True
Microsoft-WindowsShell-Setup | OOBE
7 oobeSystem SkipUserOOBE specifies whether to skip
Welcome Center.
AdministratorPassword=
Microsoft-WindowsShell-Setup |
UserAccounts
7 oobeSystem Specifies the administrator password of the
computer and whether it is hidden in the
unattended installation answer file.
Make sure that you enable the Option “Hide
Sensitive” Date” in the Tool Menu.
Username=Administrator Microsoft-WindowsShell-Setup |
AutoLogon
7 oobeSystem The User Account which will be used for an
AutoLogon at the end of the SYSPREP
oobeSystem pass.
LoginCount
Microsoft-WindowsShell-Setup |
AutoLogon
7 oobeSystem LogonCount specifies the number of times the
account has been used. This value
decrements each time someone logs on.
Value
Microsoft-WindowsShell-Setup |
AutoLogon |
Password
Specifies the password which is used for the
AutoLogon.
Make sure that you enable the Option “Hide
Sensitive Date” in the Tool Menu.
Table 1: Important entries of the Unattend.xml
4.3.3 Integration of device drivers
In a pure Microsoft environment where WinPE is used to distribute Windows 10, new device drivers
can be integrated with the out-of-the-box functionality into the existing master image. For this,
Microsoft provides some tools, that can be used to integrate or adapt device drivers. However, this
process has the crucial disadvantage that, after a change of the drivers, all previous configurations
needs to be tested again.In large environments with many different device types, this can lead to
large test efforts only to integrate a new device driver.
30
Micro Focus Partner Confidential
Windows 10 Installation
In a ZCM environment, this effort is not necessary as additional device drivers can be added to the
installation process using addon-images due to the particular image format. Therefore, device
drivers can be added depending on the hardware. The master image does not need to be modified
and test efforts are limited to the new hardware.
For this integration, the "Windows Driver Kit" (WDK) is required, which is provided free of charge.
This WDK provides the "DPINST" tool, which can be used to install device drivers without user
action.
Figure 32: DPINST Parameter
The configuration is done with the help of various parameters when running, and a configuration file
DPINST.XML. This allows DPINST to be configured to scan a fixed directory structure for drivers
that can be installed with * .inf files. A sample file can be found in the appendix 10.1.2 DPINST.
If a device manufacturer provides so-called INF-based drivers, these drivers can be easily copied to
a defined directory structure. If a vendor only provides installation routines, these drivers can be
installed using an unattended installation, or these device drivers are installed on a sample device
and afterwards extracted into a specified directory using appropriate tools. These tools generally
support all Windows operating systems in 32- and 64-bit.
Based on this approach, new addon-images can be created very easily, which then contain the
corresponding directory structure. See below for details 6.3.3.2 Exporting device drivers using an
existing device .
Whereas with Windows XP a precisely defined structure had to be used, with Windows 7 and
higher, any structure can be defined, in which the device drivers are stored. Typically, the default
device names are taken from Windows 10. The following figure shows a typical structure. For
details on creating and distributing addon images, see chapter 5.1 and chapter 7 Imaging Bundles .
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
31
Figure 33: Device-Driver in an Addon-Image
4.3.4 Integration of additional Commands, Programs or Configurations
In most cases, performing a standard Windows 10 installation is not sufficient, so you can run
additional commands, install programs, and set configurations during the installation process.
Here are some examples:
•
Install device driver using DPINST.EXE
•
Install of ZCM-Agent
•
Custom settings base on Registry-Files , i.e. HKLM or Default-Profile
The Windows 10 installation routine allows you to execute any commands in the "Specialize" and
"OOBE" phases. Each command must be added to the already generated response file
"unattend.xml".
With Windows 10 the following sections are supported:
•
RunSynchronousCommand
•
RunAsynchronousCommand
•
FirstLogonCommands
•
LogonCommands
The following chapters describe the above sections of the response file.
4.3.4.1 RunSynchronousCommand
RunSynchronousCommand specifies one or more commands that are executed synchronously
during the specified configuration phase. These commands are executed in the order specified.
Each command does not start until the previous command has ended.
Commands in this section are always executed before the commands of the
"RunAsynchronousCommands" section of the same phase. In the "auditUser" phase, the
commands run in the user context; in the "Specialize" phase, the system context is used.
4.3.4.2 RunAsynchronousCommand
RunAsynchronousCommand specifies one or more commands that are executed asynchronously
during the specified configuration phase. These commands are executed in the specified order, but
32
Micro Focus Partner Confidential
Windows 10 Installation
this section does not wait for the previous command to finish. As a rule, services are started in this
phase.
Commands in this section are always executed after the commands of the
"RunSynchronousCommands" section of the same phase. In the "auditUser" phase, the commands
run in the user context; in the "Specialize" phase, the system context is used.
4.3.4.3 FirstLogonCommands
"FirstLogonCommands" specifies commands to run during a user's first logon. The commands are
executed once.
These commands typically require administrative privileges. If the user does not have the
necessary rights, a confirmation dialog box appears. Execution occurs synchronously directly after
login, but before the desktop is displayed.
4.3.4.4 LogonCommands
"LogonCommands" specifies commands that are started during the user logon. All commands are
executed asynchronously when the user logs on and are executed with user rights.
Important
In this section, you can not start applications that require administrative privileges because the User
Access Control (UAC) requests confirmation even if the user is a member of the administrator
group.
4.3.4.5 Known Issues
The use of these parameters Parameters may result in many different response files when many
different settings are made or needed. These response files then should be distributed using a
variety of addon-images. In many customer environments, this leads to a high administrative
burden for maintaining and distributing the images.
4.3.4.6 Recommended Solution
Micro Focus Consulting has developed several tools that can be integrated into the various phases
without having to change the actual response file. It is now possible to make changes simply by
exchanging, adding or omitting configuration files without adapting an existing response file.
Details can be found here 5.2 NCS Framework Tools.
4.4 Create a Master-Image
4.4.1 Create the Master-Image using the ZCM Imaging-Engine
After following the steps in chapter - Exit Audit-Mode - the snapshot „W10_AfterSysprep“ can be
used to create the master image. Just start the virtual device via pxe boot and select “Maintainance
Mode” from the imagig menu.
Run “img” in UI-mode and select “Make Image” or use img CLI
First we save all partitions into one image:
img -mp $PROXYADDR win10-base.zmg
The image is saved in ../content-repo/images.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
33
If different partitioning is required in the future, it is useful to save the image by partition, so that the
size of the partitions can be adapted later by script.
4.4.2 Take an image of partitions
The default partition scheme is as follows:
Figure 34: GPT-Partitioning / UEFI-Boot
Figure 35: MBR-Partitioning / BIOS-Boot
The following commands create an image of the individual partitions:
•
img -mp $PROXYADDR win10-par1.zmg -I=1
•
img -mp $PROXYADDR win10-par2.zmg -I=2
The actual Windows partition does not have to be backed up individually.
As a result we now have the following base images:
•
WIN10-BOOT-UEFI.zmg
•
WIN10-PART2-UEFI.zmg
•
WIN10-BASE-UEFI.zmg
•
WIN10-BOOT-MBR.zmg
•
WIN10-BASE-MBR.zmg
In an UEFI Setup Partition 3 is a RAW format and can not be stored as an image.
The new Windows Masterimage is now complete!
4.4.3 Final steps
Before the master image can be distributed to a device, additional steps are necessary:
•
Create SYSPREP-Images
•
Create Hardware-Images
•
Create Addon-Image for ZCM-Agent
•
Create „Imaging Cleanup“-Bundles in your ZCM Zone
•
Create a Imaging-Bundle in your ZCM Zone
Please follow chapter 5.1 and chapter 7.
34
Micro Focus Partner Confidential
Typical problems and solutions
5 Typical problems and solutions
5.1 Introduction
During a Windows 10 installation some typical problems can occur, which are explained below.
Examples
•
Pop-up windows that stop the execution of a program until a key is pressed.
•
Nested installations that start multiple programs and then exit.
•
Automatic setup routines are invisible in most cases. If several installations are
running successively, the device appears "hanging"
•
A fixed installation order has not been defined.
•
Monitoring the ZCM Agent installation and ZENworks Imaging Services
•
Changes must be entered from time to time or specific settings are incorrect. These
include e.g. Passwords, local users, or even specific registry parameters. As long as
the changes can be carried out in the "Specialize" phase, this can be done without
adapting the master image.
•
Many different configurations are necessary. As a reminder, additional things can be
done in the system preparation process, but they require different response files.
These chapters describe the most common problem and their possible solutions.
The creation of the required addon images and their integration into the installation process will be
covered in chapter 6 Addon-Images.
5.2 NCS Framework Tools
To avoid the majority of the above-mentioned issues, Micro Focus Consulting has developed some
additional tools that take advantage of the flexibility of the Addon-images to customize the
installation process for Windows. These tools are easy to integrate into the system preparation
process, complement the standard procedures, and reduce the need for different response files.
These tools are:
•
NCSExecuteSetup.exe
•
NCSPrepareGuiRunOnce.exe
•
NCSRegistryImport.exe
•
NCSMonitorDeployment.exe
•
NCSMonitorProcess.exe
All these tools are available for Windows version 7 x86 and Windows 7 x64 and above.
5.2.1 Tools und User Account Control (UAC)
With the introduction of Windows Vista, Microsoft has introduced an extra security level into the
operating system called User Account Control (UAC). This security level has also been adopted in
Windows 7 and later. UAC does not not allow run programs with administrative privileges, even if
the user is a member of the administrator group. By default, the application is assigned only user
rights. However, if extended privileges are required, you must either confirm this (for administrators)
or log on as administrator.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
35
Figure 36: UAC Dialog
During the installation process, this behavior may interrupt the automatic execution of programs, as
a query (see figure above) must be confirmed first. This is mainly the case when a new is registered
(FirstLogonCommands).
One possible solution is to disable the dialog box for members of the administrator group. This can
be changed by changing a registry setting (for example, in the Sysprep Addon image via a Registry
file).
Disable UAC Admin Prompt
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","Con
sentPromptBehaviorAdmin","REG_DWORD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","Con
sentPromptBehaviorAdmin","REG_DWORD",2)
Micro Focus Consulting recommends disabling the dialog box for administrators during the
installation process and re-activating the original setting at the end of the installation.
5.2.2 NCSExecuteSetup
This tool is capable of running additional programs during the "Specialize" phase of the system
preparation (sysprep) process. Additional programs are integrated into the installation process by
adding an addon-image including the necessary files as well as a configuration file.
NCSExecuteSetup searches for files with the suffix ".CFG" in a given directory structure.
For Windows 7 and later, it is the following directory:
<WinDir>\System32\SYSPREP\i386\$OEM$\Setup
These configuration files are read in alphanumeric order and all commands listed here are
executed in the appropriate order as if they were called directly in the "RunSynchronousCommand"
phase. Thus only the call of "NCSExecuteSetup.exe" is needed in “unattend.xml”.
A configuration file has the following format:
36
Micro Focus Partner Confidential
Typical problems and solutions
[Control]
CustomerName=Novell Partner
ProgressMainText=Installing DEMO Setup during sysprep specialize pass
ProgressSubText=Please wait...
ProgressHide=0
CommandWindow=Hide
[Commands]
Key1=C:\INSTALL\SETUPS\DEMOSETUP.EXE
Figure 37: NCSTools -NCSExecuteSetup.exe
During execution a progress bar is displayed. The title bar of the window can be configured to
display of the application. Sample configuration files for installing additional programs are given in
the appendix.
A detailed help can be obtained with the /? Parameter.
5.2.3 NCSRegistryImport
This tool imports registry settings using a given directory structure during the "Specialize" phase in
the sysprep process. The registry settings are added to the installation process with an addonimage. NCSRegistryImport.exe scans the following directory structure:
<SYSPREP Folder>\i386\$OEM$\Registry
All files are read and imported in alphanumeric order. Therefore, only one call to
NCSRegistryImport is necessary. Therefore the reponse file “UNATTEN.XML” does not need to be
changed when having additional registry files.
A status bar is displayed during execution. The window name can be customized in the same way
as NCSExecuteSetup.
Figrue 38: NCSTools – NCSRegistryImport.exe
For further details, use /? Or / Help.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
37
5.2.4 NCSPrepareGuiRunOnce
This tool configures the execution of programs etc. in the start phase of a device
(FirstLogonCommands) based on configuration files using a defined directory structure.
Configuration files as well as the associated programs are integrated into the installation process
using addon images.
In the "Specialize" phase, the following directory is read:
<SYSPREP Folder>\i386\$OEM$\GuiRunOnce
All files are read and evaluated in alphanumeric order.
The configuration files are similar to those seen for NCSExecuteSetup. However, the specified
commands are not executed, but are entered into the registry (RunOnceEx) , so they are executed
the next time after a reboot. (FirstLogonCommands).
[Control]
CustomerName=Novell Partner
ProgressMainText=Prepare GUIRunOnce for Demo Application Setup
ProgressSubText=Please wait...
ProgressHide=0
MenuItem=Installing Demo Application 1
[Commands]
Key1=C:\INSTALL\DemoApplication\DempSetup.exe /s
The above configuration results in the following:
Figure 39: NCSTools - NCSPrepareGuiRunOnce
Likewise, it displays a status window during import process. Further details can be obtained using
parameter /? Or / help.
5.2.5 NCSMonitorMonitorDeployment
In certain cases, it may be necessary, e.g. to display a status bar, to display a background image, to
lock the keyboard and mouse or simply to close unwanted windows. “NCSMonitorDeployment"
provides this functionality and can be easily imported via registration settings.
The following key are used:
•
38
HKLM\SOFTWARE\NOVELL\NCS Framework\NCSMonitorDeployment\Config
Micro Focus Partner Confidential
Typical problems and solutions
•
HKLM\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorDeployment\WindowDefintions
Run (/?) for more details.
By default, the following status is displayed:
Figure 40: NCSTools - NCSMonitorDeployment
5.2.6 NCSMonitorProcess
Many software installers (.i.e. InstallShield) start other processes, and then exit. The other
processes then perform an installation. In an unattended windows installation this behaviour can
cause problems, e.g. several programs may run simultaneously.
NCSMonitorProcess provides a remedy and can monitor other processes or only passes to the next
step if a specified process has been completed or a definable time has elapsed. In this case all
actions take place sequentially.
A good example of such a nested installation is the “ZCM agent”.
Typically, the installation package (such as PreAgentPkg_AgentComplete.exe) is run to install the
agent. The installation package is started, unpacked into a folder and the another process
(ZENPreAgent.exe) is started and performs the entire installation. The originally started process
(PreAgentPkg_AgentComplete.exe) is terminated and can no longer be monitored. In an automatic
installation process, the next action would follow, even though the agent installation is still active.
The use of NCSMonitorProcess can help to prevent this issue!
Here are the parameters to call “PreAgentPkg_Complete.exe”:
NCSMonitorProcess.exe --MonitorProcess=ZENPreAgent.exe
--ExecuteCommand="PreAgentPkg_AgentComplete.exe" --CommandPath="C:\INSTALL\SETUPS\ZCM-AGENT"
--CommandParameter="-q -x" --CommandWindow=HIDE --ProgressMainText="Installing ZCM 10 Agent"
--timeout=300
According to the above configuration, the "PreAgentPkg_AgentComplete.exe" starts and then waits
for "PreAgent.exe". When the process is detected, the system waits as long as it is terminated.
Only then the next installation steps will be carried out.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
39
Figure 41: NCSTools - NCSMonitorProcess
See /? for additional information.
5.3 Examples of use
5.3.1 Helpful settings
The following settings can be imported as described here:
5.3.1.1 Disabling Windows Firewall
The firewall can be switched off during the installation process. For this purpose add a registry file
under
<SYSPREP Folder>\i386\$OEM$\Registry
in an Addon-Image.
DisableWindowsFirewall.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\DomainProfi
le]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\PublicProfil
e]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardPro
file]
"EnableFirewall"=dword:00000000
5.3.1.2 Disabling Windows Update
DisableWU.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\WindowsUpdate]
"NoWindowsUpdate"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000001
40
Micro Focus Partner Confidential
Typical problems and solutions
5.3.1.3 Deactivating UAC Prompt
DisableUACPrompt.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
5.3.1.4 Disable IPAutoconfig
DisableAPIPA.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]
"IPAutoconfigurationEnabled"=dword:00000000
Using this key Windows does not use IP Autoconfiguration (APIPA)
5.3.2 Configuring ZCM Agent
The behavior of the ZCM Agent can also be controlled through registry settings. Some necessary
settings relating to the installation process are described here.
5.3.2.1 Imaging Agent (ZISDService) Reboot
When the ZCM Imaging Agent (ZISDService) detects a previous imaging process (JustImagedFlag
= 1), some Windows settings are changed directly during the first boot process to complete the
imaging process. This includes changing the name, the IP configuration and, if necessary, the SID.
After the change, the device is then restarted. Because this behavior should be prevented in the
entire installation process, the ZCM agent must be configured in a proper way.
ZISPreventReboot.Reg
Windows Registry Editor Version 5.00
##### x64 #######
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Novell\ZCM]
"ZISWin Prevent Reboot"="1"
##### x86 #######
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"ZISWin Prevent Reboot"="1"
5.3.2.2 ZISWin Options
Normally, after the imaging process, all unique Windows settings, such as the SID, ComputerName,
and Workgroup, are restored from the Image Safe Data Area (ZISD).
However, when using the Windows Sysprep process, it is not necessary to change the SID,
because this operation itself creates a unique SID. Therefore, the change of the SID is disabled.
You can also configure the computer name and / or workgroup to be modified.
This setting is made via the "ZISWin Restore Mask"
The following setting is used for an imaging operation, only changing the computer name.
ConfigureImagingAgent_x64.reg
Windows Registry Editor Version 5.00
######## x64 ############
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Novell\ZCM]
"ZISWin Disabled"="0"
"ZISWin Do Not Restore Mask"=dword:00000028
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
41
######## x86 ############
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"ZISWin Disabled"="0"
"ZISWin Do Not Restore Mask"=dword:00000028
Further details on the configuration can be found here:
http://www.novell.com/support/kb/doc.php?id=3302285
5.3.2.3 Disable ZCM Login during Windows Autologon
After you install the ZCM agent, the ZCM agent tries to log on to the user source using Windows
credentials. Because local accounts are used in this phase, automatic login fails and a login window
for ZCM appears. This would interrupt an automatic installation. Therefore, automatic login to ZCM
is disabled in the installation process.
DisablePassiveModeLogin.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM\ZenLgn]
"DisablePassiveModeLogin"=dword:00000001
5.3.2.4 Disable checking of ZCM certificates
The ZCM agent communicates with the server using the HTTPS protocol. The necessary certificate
is installed during agent installation and is verified at the time of registration. If the check fails, the
registration can not be performed and the installation process is interrupted. Therefore, this check is
disabled.
Disable-Require-Certs.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"Require-Verified-Certs"="false"
5.3.2.5 Preventing ZCM Zone Registration using a random computername
During the Windows installation, a random computer name is created, which usually does not
match the desired name. Although the correct name is written to the ZISD in the imaging process, it
is not used until the next boot. At this time, however, the registration process is also started.
Therefore, an incorrect name is usually used for registration. Registry rules based on the name will
fail.
However, the Imaging Agent (ZISD service) can also be started manually. This must be done after
installing the ZCM Agent.
The following command starts the Imaging Agent.
Start of Imaging-Agent
sc start "Novell ZENworks Image-Safe Data Service"
5.3.2.6 ZCM-Agent Installation and Configuration during WindowsInstallationprocess
Some registry settings are deleted during installation of the ZCM agent or can only be set after
installing the agent.
42
Micro Focus Partner Confidential
Typical problems and solutions
In this case you can use NCSRegistryImport (check Kapitel 5.2.3) after the entire installation to
configure specific settings.
NCSRegistryImport.exe --RootSearchFolder=C:\INSTALL\SETUPS\ZCM-AGENT
DisableStatusMessages.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\Authentication]
"EnableStatusMessages"=dword:00000000
EnableNALIconOnDesktop.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM\NAL]
"SetIconOnDesktop"=dword:00000001
All files can be stored in the directory “C: \ INSTALL \ SETUPS \ ZCM-AGENT”.
This results in the following configuration file for the ZCM agent
ZCMINSTALL.CFG
[Control]
MenuItem=Installing ZCM Agent...
ProgressMainText=Monitoring ZCM Agent
[Commands]
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
Key2=NCSRegistryImport.exe --RootSearchFolder=C:\INSTALL\SETUPS\ZCM-AGENT
Key3=sc start "Novell ZENworks Image-Safe Data Service"
Key4=shutdown /r /t 180
5.3.3 Assigned Bundles interrupt installation process
Once the ZCM agent is registered in the zone, all assigned and effective bundles are recognized
and executed according to the schedule configured. This can lead to unintentional effects in the
installation process, since, in addition to the actual planned bundle installations, additional bundles
or action may run, which should normally should run after the installation process.
Therefore, it is strongly recommended that you declare the installation process with a set registry
value. This can be used as a system requirement then.
DeploymentControl.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NCS Framework\NCSDeploymentControl]
"DeploymentInProgress"="1"
•
DeploymentInProgress=1 (Install process)
•
DeploymentInProgress=0 (operation)
The corresponding bundles can now be configured with system requirements.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
43
Figure 42: DeploymentProcess - Requirements 1
After the installation process has been completed, this value is set to "0", so that all other bundles
are reactivated.
Figure 43: DeploymentProcess: Requirements 2
5.3.3.1 Additional Tools - Authentication Hook
In some cases, the definition of system requirements is not sufficient because certain bundles are
managed by the ZCM system. This includes the ProductRecognitionUpdates (PRU) and Patchscan
bundles (DAU). For this purpose, an interface is provided, the so-called Authentication Hook.
Further details can be found here:
http://www.novell.com/documentation/zenworks11/zen11_cm_software_distribution/data/bfwtxps.ht
ml
Based on this interface, a software can be developed, that allows to run all bundles that correspond
to a specific naming convention.
5.3.4 Installation order
Typically, a fixed installation order is required to place the devices in an identical state. ZCM offers
several possibilities, which can be combined with each other.
44
•
Installation schedules
•
Bundling succession
•
Dependent bundles
Micro Focus Partner Confidential
Typical problems and solutions
The use of a so-called INSTALL-CONTROL bundle or the use of defined sequences (bundle
ordering) has proven to be the best solution for the installation process.
Figure 44: _INSTALL-CONTROL
.
In the case of using "bundle-ordering", a order number must be defined for each bundle in the
installation process. The following table shows a possible classification:
Gruppierung
Bundles
Nummern
Standard-Anwendungen
Office 2010
100
(100-1000)
Acrobat Reader X
110
Lotus Notes
120
Abteilungssoftware
SAP GUI
1100
(1001-1999)
Navision
1200
Photoshop
1300
Weitere Anwendungen
Bundle1
5010
(5000-10000)
Bundle2
5020
Bundle3
5030
Anwendungen die Reboot
erfordern
Table 2: Bundle-Ordering
5.3.5 Additional files
If additional files are required, they can also be integrated into an existing or new addon-image.
After the imaging process, the files then are available in the Windows filesystem. For example,
compulsory installation routines can be transferred using the addon-image.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
45
6 Addon-Images
As already explained, imaging solutions based on disk cloning (see chapter 3.2) have some serious
disadvantages. These are the most important:
•
Once created images can no longer be edited. The image must be re-created when
you make changes
•
Each hardware requires a separate image
ZCM uses so-called "file-level imaging". Therefore the images can be modified with special tools
(ZCM Image Explorer)
In addition, ZCM offers the possibility to use so-called addon-images. These images contain only
additional directories and files, any partition information is not included. Therefore, one or more
addon-images can be used after distributing a base image to modify existing files or to add files and
directories.
The following chapters explain the creation of the addon images necessary for the installation
process as well as their structure using the process and configuration steps described in
•
4 Windows 10 Installation
•
5 Typical problems and solutions
6.1 Windows 10 - SYSPREP Addon-Image (WIN10SYSPREP.zmg)
The “Sysprep addon-image” was created during the creation of the base image, but some
modifications have to be added.
6.1.1 UNATTEND.XML
The response file "Unattend.xml" must exist in the following directories.
C:\WINDOWS\PANTHER
C:\WINDOWS\SYSTEM32\SYSPREP
However, in the image you have created, the files are only available in
“C:\WINDOWS\SYSTEM32\SYSPREP”. Therefore, the directory “C:\WINDOWS\PANTHER” must
be created and the file re-added in this directory. This is done using the ZCM Image Explorer.
6.1.2 Adding more files
As mentioned in chapter 5 Typical problems and solutions a couple to tools an configuration files
are needed for the automatic Windows 10 installation process. These files must be added to the
addon-image as well.
6.1.2.1 Registry settings
•
46
Directory C:\WINDOWS\SYSTEM32\SYSPREP\i386\$OEM$\\REGISTRY
•
DisableAPIPA.reg
•
DisableUACPrompt.reg
•
DisableWU.reg
•
DeploymentControl.reg
•
LoginBackground.reg
Micro Focus Partner Confidential
Addon-Images
6.1.2.2 Integration of device driver
To install additional drivers (see chapter 6.3.2 for details) , the following files must be integrated into
the Sysprep image.
•
•
Directory C:\INSTALL\DRV\INF
•
DPINST.EXE
•
DPINST.XML
Directory C:\WINDOWS\SYSTEM32\SYSPREP\i386\$OEM$\SETUPS
•
Driver.cfg
Driver.cfg
[Control]
CustomerName=<CUSTOMERNAME>
ProgressMainText=Installing Plug and Play Drivers
ProgressSubText=Please wait ...
ProgressHide=0
CommandWindow=MAX
[Commands]
Key=C:\INSTALL\DRV\INF\DPINST.EXE /S /SH /SA /SW /EL /SE /PATH "C:\INSTALL\DRV\INF"
The following figure shows the directory structure of the SYSPREP addon-image:
Figure 45: ADDON-Image: WIN10-SYSPREP
The image file is stored on the server in %ZENWORKS_HOME%\CONTENT-REPO\IMAGES (e.g.
WIN10-SYSPREP.zmg).
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
47
6.1.3 Various configurations / response files
If different configurations are required, they can be covered with additional addon-images. Multiple
response files are also possible as long as the changes are only made during the "Specialize" and
"OOBESystem" installation phases. Then a separate addon-image is required for each
configuration. This also applies to x86 or x64 architectures.
6.2 NCSTools Addon-Image
This addon-image contains the necessary NCS tools as well as their configuration:
•
Directory C:\Windows\System32
•
NCSExecuteSetup.exe
•
NCSRegistryImport.exe
•
NCSMonitorDeployment.exe
•
NCSMonitorProcess.exe
•
NCSPrepareGuiRunOnce.exe
Figure 46: Addon-Image: NCS-Tools
Figure 47: Addon-Image: NCS-Tools Konfiguration
6.3 Hardware Addon-Images
When a universal base image is used, typically no additional hardware drivers have been
integrated. Therefore, they can not easily be installed.
48
Micro Focus Partner Confidential
Addon-Images
The following chapters explain how to create the necessary device-specific addon-image:
6.3.1 Basics
Windows 7 supports driver integration using the "out-of-the-box" technology within the Sysprep
installation. Additional drivers are added to the base image. However, this is only possible in the
"WinPE" or "OfflineService" phase. As these phases are not available using ZCM Imaging this
process cannot be used (see 4.1 Windows 10 ). However, with the "DPInst" tool from the
"Windows Driver Kit", Microsoft provides a solution that is ideal for use with ZCM addon-images.
"DPInst" is able to search in a defined directory structure for suitable drivers, import them into the
"DriverStore" and then install them with suitable hardware.
6.3.2 Using DPInst
"Dpinst" is able to search a directory structure and install drivers at any time via a parameterized
command. Only "inf-based" drivers are supported in this case. The configuration takes place via an
XML file as well as via the command itself.
DPInst.xml
<?xml version="1.0"?>
<dpInst>
<language code="0x0409">
<dpinstTitle>ZCM Consulting Framework</dpinstTitle>
<welcomeTitle>Welcome to the Windows 7 Driver Installation!</welcomeTitle>
<welcomeIntro>This wizard will walk you through updating drivers which are stored under
C:\INSTALL\DRV\INF\SubDirectory.</welcomeIntro>
<installHeaderTitle>Installing driver(s) for Plug and Play devices...</installHeaderTitle>
<finishTitle>Congratulations! You are finished installing device driver(s).</finishTitle>
<finishText>Enjoy using Windows 7.</finishText>
</language>
<search>
<subDirectory>*</subDirectory>
</search>
</dpInst>
Call DPInst.exe
C:\INSTALL\DRV\INF\DPINST.EXE /S /SH /SA /SW /EL /SE /PATH "C:\INSTALL\DRV\INF"
With this command „DPInst“ searches for drivers in „C:\INSTALL\DRV\INF“ and installs the
appropriate drivers.
6.3.3 Device driver provisioning
6.3.3.1 Using OEM packages
Many manufacturers (OEM) now offer device drivers as so-called installation packages, in which all
drivers are available as "inf-based". These can be obtained directly from the support pages of the
manufacturers. As a rule, the drivers can be used directly or self-extracting packages are offered,
which must be unpacked first. Afterwards these driver files can be imported into an addon-image.
6.3.3.2 Exporting device drivers using an existing device
Both Microsoft and other software vendors provide tools that can be used to extract all additional
drivers (not supplied by Microsoft) from an existing Windows installation and store them in the
directory structure. While Microsoft offers only a rather difficult to use command line tool, there are
some freely available tools that provide a simple, graphical interface.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
49
DriverMagicianLite http://www.drivermagician.com
or
DoubleDriver http://www.boozet.org
The example of “Driver Magician Lite” now explains the further process.
•
Download the software (as PortableApp without installation) http://www.drivermagician.com/PortableDML.zip
•
Starting Driver Magician Lite (as administrator)
•
Drivers are scanned and displayed
•
All additional drivers are highlighted in red
•
Select the desired driver (non-Microsoft)
•
Select Startup Backup
Here's an example:
Figure 48: Exporting device driver using DriverMagician-Lite
As shown in the next image, each driver is exported to a separate directory. Thus, the required
drivers can be easily installed using DPInst.
50
Micro Focus Partner Confidential
Addon-Images
Figure 49: Driver directories
This directory structure can be added to a addon-image in “C:\INSTALL\DRV”.
6.3.4 Driver installation programs
In some cases, especially with special hardware, device drivers can not be installed through the INF
files, although they can be exported without problems. In these cases, the installation must be
carried out using the included installation routines. Typically, the vendors provide unattended
installation options, which can then be used. Adjustments to the installation options are also
possible.
Further information can be found on the support pages of the manufacturers.
In many cases the following parameters are helpful:
•
Setup.exe -?
•
Setup.exe /?
•
Setup.exe -help
•
Setup.exe / help
If the manufacturer routines have been created with InstallShield, the / S parameter can cause an
automatic installation. Some vendors also offer Microsoft Installer packages (MSI packages).
6.3.4.1 Known Issues
Typically, other software installations are integrated into UNATTEND.XML using
“RunSynchronousCommand” or similar.. However, this would result in a large number of response
files. A remedy is provided usingt the tools of Micro Focus Consulting as already described. The
additional installation routines are then integrated using a configuration files.
(→ Chapter 5.2)
6.3.4.2 Proposed Solution
Using NCSExecuteSetup.exe
[Control]
CustomerName=Micro Focus
ProgressHide=1
CommandWindow=HIDE
ProgressMainText=Installing VMWare Tools....
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
51
[Commands]
Key=C:\INSTALL\SETUPS\VMWareTools\setup.exe /S /v"/qb REBOOT=R"
In this case, “VMWare Tools” installation is executed.
6.3.5 Creating Hardware-Addon-Images for Windows 10
Before creating the hardware add-on image, it is recommended to copy the required files to a
central location (for example, C:\WORK\<HARDWARE>\ ...)
•
Configuration- und Registry-Files
<SYSPREP Folder>\i386\$OEM$\<SubFolder\<SubFolder>
•
INF-based driver
<Windows Drive>:\INSTALL\DRV\INF\<SubFolder>
•
Setup-based driver installations
<Windows Drive>:\INSTALL\SETUPS\<SubFolder>
•
DPINST.EXE and configuration
<Windows Drive>:\INSTALL\DRV\INF
The following figure shows a ready-to-use addon-image. Typically, a template with the necessary
directory structure is created for later use. This template can then be used to create other addonimages.
Figure 50: Addon-Image: WIN10-VMware64
When creating addon-images, make sure that the various Windows partitions are included in the
image. Alternatively, when the images are restored, the parameters “-ap = a1: p1” must be
specified, where “a1” or “p1” always corresponds to the number of the partition in the image (a) or
on the hard disk (p). This allows images to be used with different partitioning. For example, an
addon-image is sufficient for use with UEFI or BIOS hardware although the partitioning is different.
52
Micro Focus Partner Confidential
Addon-Images
img -rp vmware64.zmg -ap=a2:p2 writes partition2 of the image to partition 2
img -rp vmware64.zmg -ap=a2:p4 schreibt partition 2 of the Image to partition 4
Figure 51: Device driver installation
6.4 ZCM Agent Addon-Image
6.4.1 Preparation
The ZCM agent can be installed in the "Specialize" or "OOBE" phases. Since a ZCM zone
registration should be done with the correct Windows name, the installation is recommended during
the OOBE phase (FirstLogonCommand / GuiRunOnce).
The following sections describe the steps required to create the addon-image for the ZCM agent.
The installation package (deployment package) of the ZCM agent can be downloaded from a
primary server.
https://<servername>/zenworks-setup
Figure 52: ZCM-Agent:Depoyment Packages
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
53
For the installation, either the standard packages (“stand-alone.Net required)”, or custom packages
can be used. According to the requirements of a customer, one or more packages may be required.
Note: Each agent package requires its own addon image!
It is recommended to create one deployment package for each operating system architecture, or to
download the existing package according to the architecture.
Figure 53: Custom deployment packages
For example, if a customer has multiple sites and wants to automatically register the managed
devices in their respective site device folders, a customized installation package can be created for
each site.
Figure 54: Custom deployment packages: Server
In the next step, the registration key is selected: e.g. “Dusseldorf”
54
Micro Focus Partner Confidential
Addon-Images
Figure 55: Select registration key: Duesseldorf
Using this custom deployment packages automatically adds a new device in the entire device folder
and can add this device to a specific device group.
6.4.2 Know Issues
The ZCM Agent installation package is a self-extracting archive containing all the necessary
installation files and configuration options. After starting, all files are extracted to “C:\WINDOWS\
NOVELL” and the actual installation routine "ZCM Pre-Agent" is started. The previously started
executable terminated. The “pre-agent” then installs all necessary components in the background.
Finally, a reboot is required. Within an automatic installation process, this behavior causes the
following problems:
The main installation program terminates and starts further installation routines. This means that
the Windows setup has no control over the further course of the installation and several installations
can run in parallel.
The ZENworks Imaging Agent (ZISD) detects a newly installed device and tries to change the
computer name. This can occur at the same time as the registration process in the ZCM zone, so
that a registration can possibly be made with incorrect names. Furthermore, a reboot is also
required after the computer name has been changed.
Furthermore, an auto-logon is required for the further installation process.
6.4.3 Recommended solution
The ZCM agent installation should be the last installation in the OOBE (FirstLogonCommands)
phase. For this option a new file ZCMNSTALLE.CFG is created in:
<SYSPREP Folder>\i386\$OEM$\GuiRunOnce\99999
The installation package is not called directly, but via the NCSMonitorProcess tool. This ensures a
conntrolled installation while PreAgent.exe is monitored. Furthermore, special registration settings
ensure that the ZCM Imaging Agent (ZISD) does not require a restart. The ZISD itself is started
manually, so that another reboot is also not necessary.
Further details on the configuration can be found in the appendix.
Since all tools require a defined directory structure, this addon-image also follows these appropriate
specifications.
•
C:\INSTALL\SETUPS\ZCM-AGENT: Source-Files and configuration settings
•
<SYSPREP Folder>\i386\$OEM$\GuiRunOnce\99999: ZCMINSTALL.CFG
•
<SYSPREP Folder>\i386\$OEM$\Registry: Configuration settings for the agent
The final addon-image looks as follows:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
55
Figure 56: ZCM Agent Image - Part1
Figure 57: ZCM-Agent Image - Teil 3
Registry-Settings
Description
ConfigureImagingAgent_x64.reg
Configures ZCM Imaging Agent
Disable-Require-Certs.reg
Disables Certificate verification
DisablePassiveModeLogin.reg
Disables ZCM Login
DisableStatusMessages.reg
Disable Status Messages
EnableNALonDesktop
Creates a Desktop Icon for NAL
ZISPreventReboot.reg
Prevents reboot after changing computername
Table 3: Settings of ZCM-Agent
56
Micro Focus Partner Confidential
Addon-Images
Figure 58: ZCM-Agent during installation process
6.5 Creating additional Addon-Images
Additional addon-images can be created as needed or required. These are generated analogously
to the previously described and may contain further configuration options.
Possible options
•
Customized registration settings
•
Location information
•
Language packages
6.6 Summary Addon-Images
The previous chapters covered the creation of addon images. The following addon images are now
available:
•
WIN10-SYSPREP64.zmg
•
WIN10-ZCMAGENT.zmg
•
WIN10-VMWARE64.zmg (possibly additional hardware)
•
WIN10-NCSTools.zmg
•
Additional optional addon images
The imaging process can now be configured with the previously created base image.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
57
7 Imaging Bundles and distribution
7.1 Creating an image
The following chapters describe the creation of images.
7.1.1 Manual imaging
Boot your device using PXE.
Figure 59: PXE-Boot
Press <CTRL> <ALT> to display the imaging menu.
Figure 60: PXE-Bootmenü
Select „Start ZENworks Imaging Maintainance“ to start the Linux Imaging Environment.
Run “img” at the command prompt.
58
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 61: Linux Prompt: img
Select <F5> or Menu option „Make an Image“ to start.
Figure 62: IMG: Creating an image
Figure 63: Select destination
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
59
Select Server (Destination)
The name of the image and the target directory can be specified in the following menu. Images are
always stored relative to the directory “images” on the servers. You can create additional, separate
directories.
OS
Pfad
Windows
%ZENWORKS_HOME%\work\content-repo\images
Linux
/var/opt/novell/zenworks/content-repo/images
Table 4: Images-Directories
Figure 64: Make Image Wizard
If the "Select more options"-option is selected, the required partitions can be selected.
The number of partitions differ according to the selected boot mode (BIOS / UEFI)
Figure 65: Select Partitions (MBR/BIOS)
60
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 66: Select Partitions (UEFI/GPT)
Note: The partition type MRP (/ dev / sda) can not be saved!
In the following menu a description can be stored in the image:
Figure 67: Image-Description
Pressing „Next“ starts the imaging process:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
61
Figure 68: Imaging-Process
Depending on the image size and network utilization, the process can take some time. The
following table shows some examples:
Image / Size
Duration
Windows 10 64 bit – 5 GB
10 -15 minutes
Windows 7 64 bit – 4 GB
8-10 minutes
Table 5: Duration to create an Image
The above duration of the imaging process can only be achieved using the integrated "Tuxera NTFS
driver" and are approximate values.
In the same way, previously created images can be transferred to a device. However, since imaging
processes are typically automated in a company environment, the use of the automatic imaging functions
of ZCM is recommended.
7.1.2 Automatic Imaging using ZENworks Control Center
If the device from which an image is to be created is already registered to a ZCM zone, the imaging
process can also be initiated through the ZENworks Control Center (ZCC).
Logon to ZCC:
62
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 69: Login ZCC
The device can now be searched using the search mask. It is sufficient to know parts of the device
name. ZCC displays all the appropriate devices containing the search item.
Please note: Using Oracle database is search is case-sensitive.
Figure 70: Search a device
The device can now be selected and "Create Image" can be selected via the "Action" menu.
Figure 71: Contextmenu “Create Image”
The server and the name can be selected in the following menu:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
63
Figure 72: Create image – Select IMAGE-file
Figure 73: Create Image: Summary
Click "Finish" to complete the process. During the next PXE an image is created from this device.
This function makes it possible to backup an existing device completely (Full Image).
Additional steps are now required for the automatic installation process.
7.2 Imaging Bundles for Windows 10
In order for the created images to be automatically distributed to new or existing devices, imaging
bundles must be created. The simpliest type of image bundles includes one or more actions that
are applied sequentially. More complex image bundles can also contain scripts as well as any
64
Micro Focus Partner Confidential
Imaging Bundles and distribution
combination of scripts and standard functions. When more than one hardware image exists, you
need to create one imaging bundle for each type of hardware when using action “ZENworks
Image”.
Figure 74: Imaging-Bundles
The following figure shows the contents of an image bundle for a HP6730 PC:
Figure 75: Image-Bundle- HP6730 PC (Example)
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
65
7.2.1 Creating Image-Bundles
Figure 76: Creating Imaging Bundle - Preboot-Bundle
Figure 77: Creating Imaging Bundle - Category ZENworks Image
Figure 78: Creating Imaging Bundle – Select name and folder
66
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 79: Creating Imaging Bundle – Select image file
Figure 80: Creating Imaging Bundle – Add more actions
After the creation, more actions can be added: e.g.
•
WIN10-SYSPREP64.ZMG
•
WIN10-ZCMAGENT64.ZMG
•
WIN10-VMWARE64.ZMG
•
WIN10-NCSTOOLS.zmg
Scripts can also be added.
•
Harddisk partitioning using a script
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
67
•
Generate computername using a script
•
Detect hardware
Some examples of scripts are given in the appendix.
7.3 Apply Image-Bundles
For a newly created Image object to be applied to a device, a rule set must be created in the PXE
options menu:
7.3.1 Configuration of pxe options
Using Configuration / Device management / PXE Options Menu it is possible to create various to
configure automatic imaging.
As explained in the chapter "SYSPREP", a random name is generated for the Windows installation.
ZCM is able to use some hardwarespecific names as Windows hostname. The following
information is usually unambiguous:
•
BIOS asset tag
•
BIOS serial number
Furthermore, ZCM can generate a random name. The above information is transferred to the "ZIS
Record" (ZISD) after the imaging process. This is a protected area of the hard disk, which can be
evaluated by the ZCM agent.
At this point, ZCM is also able to configure the network environment of the device,for example, if
DHCP is not used.
After an imaging operation, this information is restored, so the configuration is preserved.
68
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 81: PXE-Options
For some customers, these defaults are not sufficient, because there are special naming
conventions not covered using these default values.
In this case, a script can be used:
zisedit ComputerName=MFDUS0815-1234 WindowsGroup=MICROFOCUS
7.3.1.1 Windows ZISWIN.EXE
The information stored in the ZISD can be read in Windows using.
<Windows System Drive>\<Program
Files>\Novell\ZENworks\bin\preboot\ZISWIN.EXE
Please run zisedit with option “Run as administrator”.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
69
Figure 82: Information in ZISD
7.3.2 Imaging Bundle Assignments
Using the "Device Imaging Work Assignment" menu item, a rule must be defined, to apply the
image bundles to devices. Usually one rule is required per hardware type. The rules are processed
in the defined order and the first valid rule is applied.
Add new rule: WIN10-VMWARE
Figure 83: Device Imaging Work Assigment
70
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 84: Hardware rule - WIN10-VMWARE
The easiest way to find the information you need is in the imaging environment. To do this, start the
maintenance mode and look for the recognized hardware with the tool "img".
“Img -info -hardware” presents the following screen:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
71
Figure 85: IMG – Hardware details
All information available here can be used in the rules. Please note the exact spelling!
After completion of the configuration, the imaging process can now be started for new devices. After
booting through PXE, the device is assigned the image defined in the rules set and the automatic
imaging process starts.
For previously registered devices, the imaging process must be started by assigning a rule-based
image.
For this select the device in ZCC and select “Apply Rule Base Imaging”!
72
Micro Focus Partner Confidential
Imaging Bundles and distribution
Figure 86: Apply Rule Base Imaging
The next boot process (via PXE) transfers all configured image files and the device reboots.
7.3.3 Starting the Windows-Installationprocess
The Windows installation process now starts and ends up with the installation of the ZCM agent. The
device registers to the zone according to the registration rules / registration keys configured in the ZCM
zone.
After the first agent refresh, the required application packages (bundles) are available. These can be
installed either manually or automatically.
The necessary steps for a fully automatic installation process of the bundles are described in the following
chapters.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
73
8 ZCM Installation-Bundles
8.1 General overview
In an automatic installation process, it´s a must to ensure the same installation order at any time.
This will make administration easy and troubleshooting in case of an error will be less complex.
ZCM supports the following mechanisms to to define an installlation order:
•
Bundle-Ordering
•
Installing bundles using Install-Actions
•
Installing bundles using commandline tools („zac bin <bundle>“)
Depending on customer requirements, several options are used (sometimes in combination). This
depends substantially on the number of different configurations.
When all devices should get the same set of software, it´s a good advice to use a control bundle.
This control bundle (ie. _INSTALL-CONTROL-WIN10) is assigned to all devices and uses install
actions to install other bundles.
When different configuration are required, it may be necessary to have more than one controlbundle. The scheduled installation of the correct bundle can be controlled using specific system
requirements. In this case only ONE control bundle should be effective on each device.
8.2 Install-Control-WIN10
In the simplest case, one installation bundle is required. The bundle "_INSTALL_CONTROLWIN10" is assigned to all devices or a group "WIN10-INSTALL" and the installation is run during
device refresh. Because the bundle should only run in the installation process, a system
requirement is configured and requires the following registry value.
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NCS Framework\NCSDeploymentControl]
"DeploymentInProgress"="1"
This value has already been set in the Windows Sysprep addon-image via a regfile!
Figure 87: DeploymentInProgress=1
The bundle contains at least one action that installs another bundle. This bundle (WIN10CLEANUP) is required to clean up the installation process.
The assignment takes place via the device folders or a device group, so that all registered devices
can execute the bundle.
74
Micro Focus Partner Confidential
ZCM Installation-Bundles
Figure 88: INSTALL-CONTROL-WIN10 – Device assigments
One possible configuration is shown in the next figure:
Figure 89: INSTALL-CONTROL-WIN10: Actions (Install)
This bundle installs e.g. the bundles "WIN10-CONFIG" , "WIN10-ACCOUNTS", the software
"AcrobatReader" and finally installs the bundle "WIN7-Cleanup".
8.3 WIN10-Cleanup
To complete the entire installation process, some configurations that were used in the installation
process must be changed. These include:
•
Disable the MonitorDeployment
•
Change the DeploymentInProgress
•
Disable Autologon
•
Enable PassiveModeLogin
•
Activate UAC
•
Cleanup “Temp” directories
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
75
A bundle "WIN10-CLEANUP" is used for these changes. This bundle should also be active in the
installation process. (DeploymentInProgress = 1). The following actions are configured:
Figure 90: WIN10-CLEANUP: Actions (Install)
The following table explains the individual actions:
Actions
Description
Remove Monitoring Windows
Removes “NCSMonitorDeployment” from Autostart
Disable AutoLogon
Disables Autologon
Change Deployment In Progress
Sets “DeploymentInProgress” to “0”
EnablePassiveModeLogin
Enable PassiveModeLogin
EnableUACPrompt
Aktivates UAC
DisableAuthHook
Disables AuthenticationHook
CleanUp INSTALLDIR
Deletes ${INSTALLDIR}
POWERCFG Ausbalanciert
Sets power scheme
Reboot
Reboots the device
Table 6: WIN10-Cleanup-Actions
At the end of the installation, a reboot message is displayed and the device is restarted.
The "WIN10-CLEANUP" bundle puts the device from the "INSTALLPROCESS" state to "DONE".
After the restart, these bundles are no longer available because the system requirements are no
longer met. This prevents unintentional installation on existing devices.
8.4 Installation with Bundle-Groups (WIN10-INSTALL)
Sometimes, it may be helpful to use a bundle group to control the installation process. In this case,
the "Bundle Ordering" function must be used. In the next example, bundles are member of a bundle
group and the bundle group is assigned to devices with “Install on refresh” schedule.
76
Micro Focus Partner Confidential
ZCM Installation-Bundles
Figure 91: Installation with a Bundle-Group
The bundle group is assigned to either the device folder or a device group:
Figure 92: Assigning a bundle group
The following options are important in the individual bundles:
Figure 93: Installation with a group: Bundle-Ordering
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
77
The last bundle of the installation process must contain the highest number in the bundle order.
This is the bundle "WIN10-CLEANUP". You must also activate the "On completion ..." option.
The following table documents the order:
Bundle
Order
WIN10-CONFIG
9998
WIN10-ACCOUNTS
9000
WIN10-CLEANUP
9999
Weitere Software-Bundles
100 – 500
Optionale Sprachpakete
50 - 60
Table 7: Bundle-Ordering during installation process
In this case, the "NCSMonitorDeployment" tool displays a status:
Figure 94: Bundle-Status: MonitorDeployment
8.5 Installation of default applications
Other applications can now be added easily to the control bundle "INSTALL-CONTROL-WIN10". A
change is possible at any time. Likewise, other applications for the bundle group "WIN10-INSTALL"
can be added..
All applications can now be installed automatically. Once the installation has been completed, the
user can log on and a user-specific configuration can be made.
78
Micro Focus Partner Confidential
Optional Configuration
9 Optional Configuration
9.1 General overview
In the previous chapters, an English base image was used as a starting point for a Windows 10
standard installation. In most cases, however, another language pack (e.g., German) is to be
installed so that users can work in their familiar language. Typically, additional settings that are not
included in the base image, are also to be made during the installation process. Examples thereof
are additional local accounts or the configuration of the start menu or local services.
In general, a more comprehensive configuration of the Windows 10 desktop is possible via group
policies. However, it is recommended to perform all device-specific settings (ie the basic
configuration) via ZCM functions. When this is completed, optional group policies can become
active.
The following chapters describe some possible configuration options using ZCM bundles or options
during the entire installation process
9.2 Installation and Configuration of language packs
9.2.1 General overview: Language Packs
While some customers will only use Windows 10 systems with a single language, international
customers are dependent on the operating systems being offered in the respective country
language. To avoid the creation of a new base image for every language, Microsoft has provided
separately available language packs. These can be installed at any time after the initial installation.,
After installation, the language or its regional settings can be changed at will. Although the language
packs can also be integrated directly into the base image, however, each language pack contains
about 600MB, so that the basic images may to grow unnecessarily when integration more language
packs.
Since some language packs are always based on the English language, it is recommended to use
an English base image.
9.2.2 Installation of language packs
Microsoft provides all the languages on a DVD(ISO) for download. The required archives (lp.cab)
can be copied from this DVD.
As many applications evaluate the configured (default) language, it is advisable to install the
standard language package (eg DE_DE) at the beginning of the Windows installation. Therefore,
the following process is used to install a language pack through an addon image.
9.2.2.1 Addon-Image for language Packs
For each language pack, an addon image is created that contains the required file lp.cap:
•
C:\INSTALL\SETUPS\LANGUAGEAPACKS\WIN10x64\DE_DE\lp.cab
Run the following command to install the language pack:
lpksetup.exe /i de-DE /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\DE_DE\lp.cab"
Other files are not necessary for this image. This image will be transferred in the imaging process,
so that the files are available in the ongoing installation process.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
79
Figure 95: Addon-Image: Languagepack DE_DE
9.2.2.2 Addon-Image to control language settings (WIN10-Languagecontrol)
Now, a configuration is required which installs the language pack based on specific environment
variables. For this purpose, an additional addon-image is created, which contains the configuration
file "LanguagePacks.cfg". This file is copied to the Sysprep folder (... \ $ OEM $ \ Setups) and is
used with the NCSTools "NCSExecuteSetup.exe". The installation takes place directly after the
successful driver installation during the Sysprep phase.
The following figure shows the structure of the image:
Figure 96: Addon-Image - LanguagePacks
The configuration file “Language Packs.CFG” file contains the following command:
[Control]
CustomerName=Micro Focus
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText="Installing Language Packs"
ProgressSubText="$v_NCSFile$"
ProgressDelay="1"
ProgressPos_X="75"
ProgressPos_Y="150"
ProgressHide="0"
ExitOnError="0"
DisplayMessageOnError="0"
DisplayMessageOnErrorTimeout="60"
CommandSection="LANGUAGE.%GLOBAL_REGIONAL_ID%"
EvalEnvVariables="1"
EvalEnvVariablesFromRegistry="1"
80
Micro Focus Partner Confidential
Optional Configuration
EvalEnvVariablesFromRegistryHive=""
[INFOS.MF]
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
[LANGUAGE.DE_DE]
key1=lpksetup.exe /i de-DE /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\DE_DE\lp.cab"
A language pack is now installed in the installation process:
Figure 97: Installating a language pack
If a additional language is required, more entries can be added in this file (see Appendix). Windows
must be restarted before these settings take effect. This is done automatically at the end of the
Sysprep process. The regional settings are therefore configured in the "FirstLogonCommand"
phase (GUIRUNONCE).
9.2.2.3 Addon-Image – Regional Settings (WIN10-REGIONAL-SETTINGS)
In the “regional settings”, Microsoft distinguishes between the following settings
Einstellungen
Bedeutung
SystemLocale
Systemlanguage
UserLocale
Userlanguage
LocationPreferences
Location
InputPreferences
InputPreferences
Table 8: Regional Settings
The above settings can be configured via command line. An XML configuration file is required for
each setting or language.
Control.exe
Control.exe
Control.exe
Control.exe
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\UserLocale_%GLOBAL_REGIONAL_ID%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\SystemLocale_%GLOBAL_REGIONAL_ID%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\InputPreferences_%GLOBAL_REGIONAL_ID%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\LocationPreferences_%GLOBAL_REGIONAL_ID%.xml"
For these commands to be applied during the first start, a “RegionalSettings.cfg” file is created and
integrated into an addon-image:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
81
Figure 98: Addon-Image: WIN10-Regionalsettings (CFG)
A sample file can be found in the appendix.
In addition, the required XML files are integrated into this addon-image.
Figure 99: Addon-Image: WIN10-Regionalsettings (XML)
In the installation process, the configuration of regional settings is as follows:
82
Micro Focus Partner Confidential
Optional Configuration
Figure 100: Configure Regional Settings
The configuration is done immediately after the Sysprep reboot (FirstLogonCommands). The ZCM
agent is installed afterwards.
9.3 Joining an Active Directory Domain (JOIN-DOMAIN)
If a new device is to be included in an ActiveDirectory (AD) domain, this should be done at the end
of the installation process to avoid any interactions. Because ZCM does not have any predefined
actions, the easiest way to join a AD domain is using a powerhell script. For this purpose, ZCM the
following system variables need to be defined at the zone level or folder level:
ZCM Setting
Value
DOMAINNAME
z.B. CORPDOM
DOMPASSWORD
z.B. Dompasswd
DOMOU
z.B. ou=win10,ou=pc,o=MICROFOCUS
Table 9: ZCM Variables: Join Domain
The Powershell script looks as follows:
$domcredential = New-Object System.Management.Automation.PsCredential("${DOMAINNAME}\${DOMUSER}",
(ConvertTo-SecureString "${DOMPASSWORD}" -AsPlainText -Force))
Add-Computer -DomainName "${DOMAINNAME}" -Credential $domcredential -OUPath ("${DOMOU}")
The Powershell script is created with the help of the ZCM action "Edit Text" and then executed via
Script as a system user:
powershell Set-ExecutionPolicy Unrestricted
powershell ${INSTALLDIR}/joinDomain.ps1
powershell Set-ExecutionPolicy Restricted
The bundle looks as follows:
Figure 101: JOIN-DOMAIN
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
83
9.4 Managing local accounts
Typically, the passwords of local accounts should be changed regularly (e.g., WIN10ADM). This is
done either directly in the installation process or at a later time. To do this, execute the following
command as “system” using the "Run Executable" action:
${WinSysDir}\net.exe user ${LOCALADMINWIN10} ${PASSWORD}
The variable ${LOCALADMINWIN10) is set to "WIN10ADM" at the ZONE level.
The variable ${PASSWORD} is defined at the bundle level:
Figure 102: WIN10-Accounts: Password
In many cases, it may become necessary that local account passwords do not expire. This can be
done with the following command. The command is run as a “system”.
path Win32_UserAccount WHERE Name='${LOCALADMINWIN10}' set PasswordExpires=False
9.4.1 Adding additional accounts
More local accounts can be created with the following command:
net.exe user ${LOCALADMIN} ${PASSWORD} /add
Existing accounts can be added to local groups using the following command:
net.exe localgroup Administrators /add ${LOCALADMIN}
This adds the local account $ {LOCALADMIN} to the “Administrators” group.
The WIN10-ACCOUNTS bundle looks as follows:
84
Micro Focus Partner Confidential
Optional Configuration
Figure 103: Bundle - WIN10-ACCOUNTS
9.5 Windows 10 Settings (WIN10-CONFIG)
In order to achieve a consistent desktop configuration, either the default profiles can be modified
accordingly or the settings can be made using group policies. Making settings in the default profile
require a change to the base image and is therefore only recommended for static settings. Group
policies may be used, but they are very restrictive for some settings such as the start menu, so the
following adjustments with ZCM Bundles are easier to handle.
9.5.1 Configuring Windows services
In customer environments, it may be necessary to disable specific Windows services, due to
specific security requirements, especially BSI (german government for security in the IT) policies.
Each service is identified by a unique registry value that configures the startup behavior (manual,
automatic, disabled)
The following setting configures the service “W32Time”
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time]
"Start"=dword:3
The following table shows the possible values:
Value
Function
Start=3
Manuell
Start=2
Automatisch
Start=4
Deaktiviert
Table 10: Services – Start options
The BSI policies provide recommendations for each available Windows service. However, you
should be careful disabling services, because some third-party applications rely on Windows
services. Examples of this are virus scanners or hard disk encryption.
The following services should also be disabled:
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
85
DiagTrack
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DiagTrack]
"Start"=dword:4
Dmwappushservice
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dmwappushservice]
"Start"=dword:4
In conjunction with the following setting, the (unwanted) data collection of Windows 10 is prevented.
Note: WinDefend and WdNisSvc can not be configured via the registry!
9.5.2 Deactivate Telemetry
With the introduction of Windows 10, Microsoft is using extensive data collections that are sent
directly to Microsoft on a regular basis. In company networks, it is recommended to disable the use
of telemetry data.
The following registry entry disables the telemetry data collection:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"AllowTelemetry"=dword:0
9.5.3 Modifying the Startmenu
Customizing the Start menu is one of the most important configuration options. The method
recommended by Microsoft certainly is the use of grouppolicies. However, the user can not make
his own entries after using grouppolicies. With the following solution it is possible to specify only a
part of the start menu that has a fixed configuration. All other entries can be customized by the user.
Customize the startmenu on a existing device and export the configuration.
export-startlayout –path <path><file name>.xml
See:
https://technet.microsoft.com/en-us/itpro/windows/manage/customize-and-export-start-layout
Recommendation: Only part of the start menu will be customized. To do this, add the following entry
to the export:
<DefaultLayoutOverride LayoutCustomizationRestrictionType="OnlySpecifiedGroups">
The following file show the result of the modifications: LayoutModification.xml:
<LayoutModificationTemplate Version="1"
xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride LayoutCustomizationRestrictionType="OnlySpecifiedGroups">
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6"
xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
<start:Group Name="System-Apps" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="{1AC14E77-02E74E5D-B744-2EB1AE5198B7}\cmd.exe" />
<start:DesktopApplicationTile Size="2x2" Column="2" Row="0"
DesktopApplicationID="Microsoft.Windows.Explorer" />
<start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="{1AC14E77-02E74E5D-B744-2EB1AE5198B7}\notepad.exe" />
<start:DesktopApplicationTile Size="2x2" Column="6" Row="0"
DesktopApplicationID="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\services.msc" />
</start:Group>
<start:Group Name="ZENworks Apps" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
86
Micro Focus Partner Confidential
Optional Configuration
<start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="{7C5A40EF-A0FB4BFC-874A-C0F2E0B9FA8E}\Novell\ZENworks\bin\NalWin.exe" />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>
The above file creates a customized startmenu with the groups “System Apps” and “ZENworks
apps”:
Figure 104: Custom Startmenu
In this case the user is able to add his own links to the customized startmenu.
The file is transferred to the devices with a bundle action "InstallFile" and then applied using a
Powershell script:
CustomStart.ps1
Import-StartLayout –LayoutPath ${CONFIGDIR}\LayoutModification.xml -MountPath $env:SystemDrive\
The Powershell script is executed with another "Install Script" action:
powershell Set-ExecutionPolicy Unrestricted
powershell ${INSTALLDIR}\customstart.ps1
powershell Set-ExecutionPolicy Restricted
In addition, a registration key is required:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer]
"LockedStartLayout"=dword:1
"StartLayoutFile"=hex(2):63,00,\
3a,00,5c,00,69,00,6e,00,73,00,74,00,61,00,6c,00,6c,00,5c,00,63,00,6f,00,6e,00,66,00,69,00,67,00,5c,00,4c,00,
61,00,79,00,\
6f,00,75,00,74,00,4d,00,6f,00,64,00,69,00,66,00,69,00,63,00,61,00,74,00,69,00,6f,00,6e,00,2e,00,78,00,6d,00,
6c,00,0,00,\
00,00
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
87
The entry StartlayoutFile contains the path to the file "LayoutModification.xml".
9.5.4 Customize the Login-Screen
In enterprise networks, it is useful to have the login window displayed by pressing “Ctrl-Alt-Delete”.
The following settings are required:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"dontdisplaylastusername"=dword:1
"DisableCAD"=dword:0
"LogonType"=dword:0
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DisableCad"=dword:0
„Press Ctrl-Alt-Del to unlock“ is shown on the login screen:
Figure 105: Windows 10 Login Screen
The final bundle "WIN10-CONFIG" looks as follows:
88
Micro Focus Partner Confidential
Optional Configuration
Figure 106: Bundle - WIN10-Config
Now all bundles have been explained and can be configured in ZCM. When all bundles are ready,
the Windows 10 Installation runs without user intervention.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
89
10 Appendix
10.1 Windows 10 Files
10.1.1 UNATTEND.XML
Stored in <WinDir>\Panther oder <WinDir>\SYSTEM32\SYSPREP
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<servicing></servicing>
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Path>C:\Windows\NCSRegistryImport.exe</Path>
<Order>2</Order>
<Description>Important Registry Files which are stored under %WinDir
%\System32\SYSPrep\I386\$OEM
$\REGISTRY or ...\REGISTRY.DEFAULT</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>C:\Windows\NCSExecuteSetup.exe</Path>
<Order>3</Order>
<Description>Executes Setup based on configuration files storted under %WinDir
%\System32\SYSPrep\I386\$OEM$\SETUPS</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Path>C:\Windows\NCSPrepareGuiRunOnce.exe</Path>
<Order>4</Order>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Password>
<Value>Micro$Focus$2016</Value>
<PlainText>true</PlainText>
</Password>
<Enabled>true</Enabled>
<LogonCount>999</LogonCount>
<Username>WIN10ADM</Username>
</AutoLogon>
<CopyProfile>true</CopyProfile>
<ComputerName>*</ComputerName>
<RegisteredOrganization>Micro Focus</RegisteredOrganization>
<RegisteredOwner>Micro Focus</RegisteredOwner>
90
Micro Focus Partner Confidential
Appendix
<TimeZone>W. Europe Standard Time</TimeZone>
<OEMName>Micro Focus</OEMName>
<ProductKey>xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-</ProductKey>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>Micro$Focus$2016</Value>
<PlainText>true</PlainText>
</Password>
<Description>WIN10ADM</Description>
<DisplayName>WIN10ADM</DisplayName>
<Group>Administrators</Group>
<Name>WIN10ADM</Name>
</LocalAccount>
</LocalAccounts>
<AdministratorPassword>
<Value>Micro$Focus$2016</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>2</ProtectYourPC>
</OOBE>
<RegisteredOrganization>Micro Focus</RegisteredOrganization>
<RegisteredOwner>Micro Focus</RegisteredOwner>
<TimeZone>W. Europe Standard Time</TimeZone>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
<UILanguageFallback>en-US</UILanguageFallback>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PersistAllDeviceInstalls>false</PersistAllDeviceInstalls>
<DoNotCleanUpNonPresentDevices>true</DoNotCleanUpNonPresentDevices>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/temp/windows10/install.wim#Windows 10 Enterprise"
xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
91
10.1.2 DPINST.XML
C:\INSTALL\DRV\INF
<?xml version="1.0"?>
<dpInst>
<language code="0x0409">
<dpinstTitle>ZCM Consulting Framework</dpinstTitle>
<welcomeTitle>Welcome to the Windows 10 Driver Installation!</welcomeTitle>
<welcomeIntro>This wizard will walk you through updating drivers which are stored under
C:\INSTALL\DRV\INF\SubDirectory.</welcomeIntro>
<installHeaderTitle>Installing driver(s) for Plug and Play devices...</installHeaderTitle>
<finishTitle>Congratulations! You are finished installing device driver(s).</finishTitle>
<finishText>Enjoy using Windows 10.</finishText>
</language>
<search>
<subDirectory>*</subDirectory>
</search>
</dpInst>
10.1.3 PlugAndPlayDriver.CFG
<SYSPREP Folder>\i386\$OEM$\SETUPS
[Readme]
ProgressMainText=
Short text which describes the task
Should only be once in the file.
This Information will be displayed in a status windows above the progress bar
ProgressSubText=
Short user info
Should only be once in the file.
This Information will be displayed in a status windows below the progress bar
ProgressHide=
1=No Status Window is display during command execution
0=Status Window is display during command execution
CommandWindow=
MIN, MAX or HIDE
HIDE=Execute the command in a hidden windows. Useful if program is a batch file
MAX=Execute the command in a maximize window. Useful for troubleshooting
MIN=Execute the command in a maximize window. May be useful for troubleshooting
Key=Value
Command including needed parameter; Can be add multiple times. Multiple commands will
be executed in the same order as they are listed in the configuration file
[Control]
ProgressMainText=Installing Plug and Play Drivers
ProgressSubText=Please wait ...
ProgressHide=0
CommandWindow=MAX
[Commands]
Key=C:\INSTALL\DRV\INF\DPINST.EXE /S /SH /SA /SW /EL /SE /PATH "C:\INSTALL\DRV\INF"
10.1.4 LanguagePacks.CFG
[Control]
CustomerName=Micro Focus
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText="Installing Language Packs"
ProgressSubText="$v_NCSFile$"
ProgressDelay="1"
ProgressPos_X="75"
ProgressPos_Y="150"
ProgressHide="0"
92
Micro Focus Partner Confidential
Appendix
ExitOnError="0"
DisplayMessageOnError="0"
DisplayMessageOnErrorTimeout="60"
CommandSection="LANGUAGE.%GLOBAL_REGIONAL_ID%"
EvalEnvVariables="1"
EvalEnvVariablesFromRegistry="1"
EvalEnvVariablesFromRegistryHive=""
[INFOS.MF]
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
[LANGUAGE.DE_DE]
key1=lpksetup.exe /i de-DE /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\DE_DE\lp.cab"
[LANGUAGE.EN_US]
;Not needed as long as the base OS is installed in english
[LANGUAGE.FR_FR]
key1=lpksetup.exe /i fr-FR /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\FR_FR\lp.cab"
[LANGUAGE.IT_IT]
key1=lpksetup.exe /i it-IT /s /r /p "C:\INSTALL\SETUPS\LanguagePack\WIN10x64\IT_IT\lp.cab"
10.1.5 Regional Settings
10.1.5.1 Regionalsettings.CFG
[Control]
CustomerName=Micro Focus
MenuItem=Configuring Regional Settings ...
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText="Importing GuiRunOnce configuration file(s)"
ProgressSubText="$v_NCSFile$"
ProgressDelay="1"
ProgressPos_X="75"
ProgressPos_Y="150"
ProgressHide="0"
ExitOnError="0"
DisplayMessageOnError="0"
DisplayMessageOnErrorTimeout="60"
CommandSection="Commands"
EvalEnvVariables="1"
EvalEnvVariablesFromRegistry="1"
EvalEnvVariablesFromRegistryHive=""
;It seems to be that for a few regional settings the order is relevant the get the expected results.
;To workaround this all regional settings will be called twice
[Commands]
Key1=Control.exe
Key2=Control.exe
Key3=Control.exe
%.xml"
Key4=Control.exe
%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\UserLocale_%GLOBAL_REGIONAL_ID%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\SystemLocale_%GLOBAL_REGIONAL_ID%.xml"
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\InputPreferences_%GLOBAL_REGIONAL_ID
intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\LocationPreferences_%GLOBAL_REGIONAL_ID
Key5=C:\Windows\System32\tzutil.exe /s "%GLOBAL_TIMEZONE_STRING%"
Key1=Control.exe intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\UserLocale_%GLOBAL_REGIONAL_ID%.xml"
Key2=Control.exe intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\SystemLocale_%GLOBAL_REGIONAL_ID%.xml"
Key3=Control.exe intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\InputPreferences_%GLOBAL_REGIONAL_ID
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
93
%.xml"
Key4=Control.exe intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\LocationPreferences_%GLOBAL_REGIONAL_ID
%.xml"
Key14=Control.exe intl.cpl,,/f:"C:\INSTALL\Config\RegionalSettings\MUILanguagePreferences_
%GLOBAL_REGIONAL_ID%.xml"
Please note:
The variables% GLOBAL TIME_ZONE STRING% and% GLOBAL_REGIONAL_ID% must be set in
the system environment of Windows:
Example:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"LOCATION"="DUESSELDORF"
"OSLANG"="DE"
"IMG_CUSTOMER_ENVIRONMENT"="DEVELOPMENT"
"GLOBAL_REGIONAL_ID"="DE_DE"
"GLOBAL_TIMEZONE_STRING"="W. Europe Standard Time"
LocationPreferences.xml (DE_DE)
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<!--User List-->
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true"
CopySettingsToSystemAcct="true"/>
</gs:UserList>
<!--location-->
<gs:LocationPreferences>
<gs:GeoID Value="94"/>
</gs:LocationPreferences>
</gs:GlobalizationServices>
10.1.5.2 InputPreferences.xml (DE_DE)
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<!--User List-->
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true"
CopySettingsToSystemAcct="true"/>
</gs:UserList>
<!--input preferences-->
<gs:InputPreferences>
<!--de-DE-->
<gs:InputLanguageID Action="add" ID="0407:00000407" Default="true"/>
<!--en-US-->
<gs:InputLanguageID Action="add" ID="0409:00000409"/>
<!--en-GB-->
<gs:InputLanguageID Action="add" ID="0809:00000809"/>
</gs:InputPreferences>
</gs:GlobalizationServices>
10.1.5.3 Systemlocale.xml (DE_DE)
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
94
Micro Focus Partner Confidential
Appendix
<!--User List-->
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="false"
CopySettingsToSystemAcct="true"/>
</gs:UserList>
<!--System Locale-->
<gs:SystemLocale Name="de-DE" />
</gs:GlobalizationServices>
10.1.5.4 UserLocale.xml (DE_DE)
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<!--User List-->
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true"
CopySettingsToSystemAcct="true"/>
</gs:UserList>
<!--User Locale-->
<gs:UserLocale>
<gs:Locale Name="de-DE" SetAsCurrent="true" />
</gs:UserLocale>
</gs:GlobalizationServices>
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
95
10.2 AutoIT Tools
10.2.1 NCSExecuteSetup.exe
This program executes commands defined within a <FileName>.cfg file. Primary focus is the setup execution
during the Windows OS SYSPrep phase.
The program will search for <FileName>.cfg file(s) in a given directory structure including subdirectories.
All files will be executed in a alphabetic order.
All commands which can be defined in one or more [Command Sections] will be executed. The program will
stay in memory until the executed command returns.
On Windows XP the content will be read from files which are stored in a subdirectory under
C:\SYSPREP\i386\$OEM$\SETUPS
and on Windows Vista or Windows 7 the content has to be stored under
<WinDir>\System32\SYSPrep\i386\$OEM$\SETUPS
The search path can be overwriten with the command line option --RootSearchFolder=<Folder Name>
Be aware that there is a 32Bit and a 64Bit version available.
Description of available option within the configuration file and the supported command line options:
- The file extension has to be '.cfg'.
- The file should be formatted like a typical INI file, e.g. [Section Name] with Key=Value pairs.
- Each command line parameter is formatted as --Key=Value pair
Option/Parameter
[ReadMe]
The following local options are available. The option can be defined globally in the registry or as
command line parameter.
If the options defined only in the configuration section [Control] the option will be reset to the default
or global definition when the next configuration file is read.
CustomerName=<String>
Customer Name
Default=Micro Focus Partner
ProgressHide=0|1
0=progress/status window is displayed
1=progress/status window is not displayed
Default=0
ProgressTitle=<String>
Title of the status/progress bar window
Default=Deployment Solution for $CustomerName$
ProgressMainText=<String>
Text shown above the progress bar
Default=Executing program(s) from $v_NCSFile$
ProgressSubText=<String>
Default="Please wait ..."
ProgressSubText=<String>
Text shown below the progress bar
Default=Please wait ...
ProgressDelay=<Number>
Delay factor for updating the progress bar. Default is set to 2.
ProgressPos_X=<Number>
X starting position of the status window
Default=75
96
Micro Focus Partner Confidential
Appendix
ProgressPos_Y=<Number>
Y starting position of the status window
Default=150
##### Command parameters #####
CommandWindow=NORMAL|MIN|MAX|HIDE
NORMAL=Execute the command in a normal window. This is the default
HIDE=Execute the command in a hidden window. Useful, if the program is a batch
file
MAX=Execute the command in a maximized window. May be useful for
troubleshooting
MIN=Execute the command in a minimized window. May be useful for
troubleshooting
Default=NORMAL
CommandSection=<SectionName>, <SectionName>
Can be used to overwrite the default command section [Commands]. Multiple
command sections can be defined.
Commands section will be read from the first to the last definition (left to right)
For two conditions/circumstance the section names [Commands.Default] and
[Commands.Error] can be used to define commands.
The section [Commands.Default] will be used or add to the CommandSections if a
defined section is not available.
The section [Commands.Error] will be used if none of the defined sections are
available or all of them are empty.
This includes the [Commands.Default] section. Please do not define these two
se9.Jan.2015 12:19ction in the CommandSection parameter
For example: CommandSection=Commands.All, Commands.@OSArch@
In this example the program will first read a section [Commands.All] than
depending of the platform [Commands.x86]
or [Commands.x64]. If one of the section is not available the section
[Commands.Default] will be read as well.
If all of them are not available or empty the tool will execute the command which
are defined in the section [Commands.Error].
Three types of variables can be used to defined the CommandSection.
AutoIt Macros, AutoIt Variables and Windows Environment Variables. Please use the
following Syntax.
@AutoItMacros@
$AutoItVariables$
%EnvironmentVairable%
Default=Commands
##### Error Handling #####
DisplayMessageOnError=0|1
Default=0
0=No Message box will be displayed in case of an error
1=A message box will be displayed in case of an error
An error is assumed when the executed command returns with an exit code other
then 0.
Setting can be set or overwriten once per cfg file.
DisplayMessageOnErrorTimeout=<Time in seconds>
Default=0
0=Not timeout
Setting can be set or overwriten once per cfg file.
ExitOnError=0|1
Default=0
0=NCSExecuteSetup will continue even if an error was detected
1=NCSExecuteSetup will exit immediately
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
97
An error is assumed when the executed command returns with an exit code other
then 0.
Setting can be set or overwriten once per cfg file.
##### Variable Handling #####
EvalEnvVariables=0|1
0=Defined AutoIt Macros, AutoIT or Environment Variables within the command
string will not evaluated before executing the command
1=Defined AutoIt Macros, AutoIT or Environment Variables within the command
string will evaluated before executing the command
Default=1
EvalEnvVariablesFromRegistry=0|1
0=Do not evaluate environment variables from the registry in cases they are not
available in the current session
1=Evaluates environment variables from the registry in cases the are not available
in the current session
Environment Variables=%VariableName%
AutoIT Macros=@MacroName@
AutoIT Variables=$VariablenName$
This option will only be used if EvalEnvVariables is set to 1
EvalEnvVariablesFromRegistryHive=<Registry Hive>
If EvalEnvVariablesFromRegistry is set to one and an environment variable is not
available at this time the defined
registry hive will be used to evaluate the variable
If no hive is defined the program will try to evaluate the variable first under
HKCU\Environment
and second under
HKLM\System\CurrentControlSet\Control\Session Manager\Environment
###### ZCM Agent Handling #####
BundleExecution=1
The command zac bin|bln|bv|bu <Bundle Name or Bundle GUID> will be executed.
The reguired Bundle information must be provided as string value under the registry
hive
HKEY_LOCAL_MACHINE\Software\Novell\NCS Framework\NCSExecuteSetup\Bundles
Required values are
<Number Prefix>_Bundle = "Bundle Name"
<Number Prefix>_BundleGUID = "Bundle GUID" (will be evaluated from ZCM cache if
not defined)
<Number Prefix>_BundleExecutionType = "Install|Launch|Verify|Uninstall" (Default
is Install)
<Number Prefix>_BundleExecutionPriority = "Install Order" (Lowest number will be
install first.)
The values typical exported from the Enterprise Imaging Script v4.6.2 or higher
during the imaging phase.
Please read the configuration registry parameter VerifyRegistration,
VerifyRegistrationRetryCount, VerifyRegistrationRetryDelay and ForceRegistration also
InitialRegistration=1
The initial-web-service configuration file of the ZCM Agent is patch with the
provided
information under the registry hive
HKEY_LOCAL_MACHINE\Software\Novell\NCS
Framework\NCSExecuteSetup\InitialRegistrationKey
1=initial-web-service file will be patched
98
Micro Focus Partner Confidential
Appendix
Configuration values (for example) are:
RegistrationKey="WIN_${IMG_LOCATION_UIDKEY}"
ServerIP[1]="192.168.179.26"
ServerDNS[1]="ZCMServer01.novell.local"
ServerIPPort[1]="443"
ServerIPProtocol[1]="https"
The values typical exported from the Enterprise Imaging Script v4.6 or higher during
the imaging phase.
Please read the configuration registry parameter VerifyRegistration,
VerifyRegistrationRetryCount, VerifyRegistrationRetryDelay and ForceRegistration also
Registration=1
The tool is able to executed the command "zac.exe ark <Registration Key Name>".
The to used <Registration Key Name> are read from the the registry string value
<Number Prefix>_RegistrationKey
HKEY_LOCAL_MACHINE\Software\M\NCS
Framework\NCSExecuteSetup\RegistrationKeys
The values typical exported from the Enterprise Imaging Script v4.6 or higher during
the imaging phase.
1=Command zac.exe ark <Registration Key Name> will be executed.
[Control]
CustomerName="Micro Focus Partner"
ProgressTitle="Deployment Solution for $CustomerName$"
ProgressMainText="Executing program(s) from $v_NCSFile$"
ProgressSubText="Please wait ..."
ProgressDelay="2"
ProgressStep="10"
ProgressPos_X=75
ProgressPos_Y=200
ProgressHide=0
ExitOnError=0
DisplayMessageOnError=0
DisplayMessageOnErrorTimeout=60
CommandWindow="NORMAL"
CommandSection="Commands"
EvalEnvVariables=1
EvalEnvVariablesFromRegistry=1
EvalEnvVariablesFromRegistryHive=""
[Commands]
Key1=<Command including parameters>
Key2=<Command including parameters> [<KeyWord>Value</KeyWord> <KeyWord>Value</KeyWord>]
Keywords
All keywords are optional
<WorkingDirectory>Value</WorkingDirectory>
Defines the working/current directory. Normally this is the user temp directory.
Replace Value with full path to the working directory.
Example: Key=Notepad.exe C:\DATA\TEST.TXT
<WorkingDirectory>C:\TEMP</WorkingDirectory>
<SuccessReturnCodes>Value</SuccessReturnCodes>
Defines the success return codes of the program. Normally NCSExecuteSetup
expects 0 as return codes.
All other return code will be seen as possible error. Replace value with all success
return codes.
Multiple codes must be separated by a comma.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
99
Example: Key=msiexec /i Setup.msi
<SuccessReturnCodes>0,3010</SuccessReturnCodes>
<ReturnCodeSchema>Keyword</ReturnCodeSchema>
Normal = Return code will be compared against the return code(s) defined with
<SuccessReturnCodes>Value</SuccessReturnCodes>
DPinst = Return Code will be analyzed as hex value and will be analyzed to identify
how many driver packages
were successfully installed or copied to the driver store and how many
failed
<ProgressMainText>Text</ProgressMainText>
Overwrites the general Progress Bar Main Text as defined with the
Option/Parameter ProgressMainText for the given key
<ProgressSubText>Text</ProgressSubText>
Overwrites the general Progress Bar Sub Text as defined with the Option/Parameter
ProgressSubText for the given key
Three types of variables can be used within the command definition (command including
parameter).
AutoIt Macros, AutoIt Variables and Windows Environment Variables. Please use the following
Syntax.
@AutoItMacros@
$AutoItVariables$
%EnvironmentVairable%
If you do not want to evaluate a variable please double the variable or macro identifier.
@@AutoItMacros@@ will not be evaluate but the @@ signed will be replace by one @
character before the command is executed
$$AutoItVariables$$ will not be evaluate but the $$ signed will be replace by $ character
before the command is executed
%%AutoItVariables%% will not be evaluate but the %% signed will be replace by % character
before the command is executed
Please mask every @,$ and % character in the command line by doubling the character, too
(@=@@, $=$$, %=%%).
[Commands.Default]
Key1=<Command including parameters>
Key2=<Command>
The normal command section can be overwriten with the key CommandSection.
If the section is not available the commands in section [Commands.Default] will be executed if this
section is available and
contains command definitions.
[Commands.<VariableName as defined with key CommandSection>
For example:
[Control]
CommandSection=Command.@OSArch@
The AutoIt variable @OSArchQ will be evaluate during runtime.
Depending on the platform the commands in section [Command.X64] or
[Command.X86 will be executed].
If the section is not available the commands in section
[Commands.Default] will be executed if this section is available
and contains command definitions.
[Command.X86]
Key1=<Command including parameters>
Key2=<Command>
[Command.X64]
Key1=<Command including parameters>
Key2=<Command>
Registry or command line parameter
100
Micro Focus Partner Confidential
Appendix
Each configuration option is formatted as Key=Value, Value=Value or Parameter=Data pair.
If a configuration option is configured in the windows registry the key/value is must be type string.
A command line parameter must start with the character(s) '-', '--' or '/' followed by the
Parameter=Data pair.
For example:
If you like to change the default customer name over the registry add the following string to the
windows registry.
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSExecuteSetup\Config String:
CustomerName="Your Name"
If you like to overwrite the default customer name via a command line parameter call the program as
followed.
NCSExecuteSetup.exe --CusterName="Your Name"
Registry Parameter take place over a command line parameter
Available Configuration option
BundleExecution
NCSExecuteSeutp will install, launch, verify or uninstall ZCM Bundles which are
typically provided via
the Enterprise Imaging Script v4.6 or higher.
CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=1
Remark: This switch was added to the tool for compatibly reason.
CustomerName=<String>
Customer Name
DebugLevel=INFO|WARN|ERROR|DEBUG
Default debug level is INFO
ForceRegistration=0|1
If a workstation is not registered to a ZCM Zone NCSExecuteSetup can fore the
registration
by executing a zac ref general bypasscache command.
0=Do not force a registration
1=Force a registration
Default=1
InitialRegistration
Add a registration key to the initial-web-service file. May patch the server ip and
dns information in the ZCM initial-web-service file.
The initial registration key is typically provided via the Enterprise Imaging Script
v4.6 or higher.
Key to add must be defined in the Registry under hive
HKLM\Software\Novell\ZCM Framework\NCSExecuteSetup\InitialRegistration
Required/Optional string values:
RegistrationKey=<Key> (required)
ServerIP=<IP address of a primary server>
ServerIPProtocol=https (default)
ServerIPPort=443 (default)
ServerDNS=<DNS name of a primary server>
ServerDNSProtocol=https (currently the only supported protocol)
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
101
ServerDNSPort=443 (default)
LogFileSize=<Number>
The default log file size is 25 MB
The log file is normally stored in the directory %ZENworks_Home
%\logs\NCSFramework or to %TEMP%\NCSFrameworks
if the tool has no write permission to the %ZENworks_Home%\Logs directory. The
directory can be overwriten
with the option LogFilePath
LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
already definedThe Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
Help
Display this help message
Registration
Adds additional registration keys to a managed device by executing zac ark
<registration key>.
The keys typically provided via the Enterprise Imaging Script v4.6 or newer.
Key to add must be defined in the Registry under hive
HKLM\Software\Novell\ZCM Framework\NCSExecuteSetup\Registration
Required string values:
<unique number>_RegistrationKey=<Key>
RootSearchFolder=<Drive:>\<Path>
Change the default root search folder for configuration files with
the extension .cfg.
UpdateAuthHookNCS=0|1
If the tool AuthHookNCS is in place a bundle will only be installed if the bundle pass
the AuthHookNCS.
NCSExecuteSetup can update the AuthHookNCS configuration with the GUID if the
bundle to execute. In that case
the called Bundle will pass the hook.
0=Do not Update the AuthHookNCS configuration
1=Do Update the AuthHookNCS configuration
Remark: AuthHookNCS must be configured to pass bundles based on
NCSExecuteSetup. Please verify the
AuthhookNCS option AllowBasedOnBundleGuidNCSExecuteSetup. This option must
be set to 1.
VerifyRegistration=0|1
NCSExecuteSetup is able to install ZCM Bundles (parameter BundleExecution) or to
register a workstation with additional
ZCM Registration Keys (parameter Registration). For this a workstation must already
register to a ZCM Zone.
NCSExecuteSetup is able to verify this.
0=Do not verify the registration
1=Verify the registration
Default=1
VerifyRegistrationRetryCount=<Number>
Max count of registration verification intervals
Default=3
102
Micro Focus Partner Confidential
Appendix
VerifyRegistrationRetryDelay=<Time in Seconds>
Delay between each registration verification interval
Default 90 seconds
WriteDefaultToRegistry
Writes all default configuration options to the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSExecuteSetup\Config
WriteDefaultToRegistryFile
Creates a Registry File with all default configuration options
WriteDefaultToConfigFile
Creates a Config File with the default configuration option and sections
In addition all options as described in the [Readme] section can be defined/overwriten as registry or
command line option
Available AutoIt Variables
@AppDataCommonDir@=Path to Application Data
@AppDataDir@=Path to current user's Application Data
@CommonFilesDir@=Path to Common Files folder
@ComputerName@=Computer's network name.
@ComSpec@=Value of %comspec%, the SPECified secondary COMmand interpreter; primarily
for command line uses, e.g. Run(@ComSpec@ & " /k help | more")
@CPUArch@=Returns "X86" when the CPU is a 32-bit CPU and "X64" when the CPU is 64-bit.
@DesktopCommonDir@=Path to Desktop
@DesktopDir@=Path to current user's Desktop
@DesktopHeight@=Height of the desktop screen in pixels. (Vertical resolution)
@DesktopWidth@=Width of the desktop screen in pixels. (Horizontal resolution)
@DesktopDepth@=Depth of the desktop screen in bits per pixel.
@DesktopRefresh@=Refresh rate of the desktop screen in hertz.
@DocumentsCommonDir@=Path to Documents
@FavoritesCommonDir@=Path to Favorites
@FavoritesDir@=Path to current user's Favorites
@HomeDrive@=Drive letter of drive containing current user's home directory.
@HomePath@=Directory part of current user's home directory. To get the full path, use in
conjunction with @HomeDrive@.
@HomeShare@=Server and share name containing current user's home directory.
@HOUR@=Hours value of clock in 24-hour format. Range is 00 to 23
@HotKeyPressed@=Last hotkey pressed. See the HotKeySet function.
@IPAddress1@=IP address of first network adapter. Tends to return 127.0.0.1 on some
computers.
@IPAddress2@=IP address of second network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress3@=IP address of third network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress4@=IP address of fourth network adapter. Returns 0.0.0.0 if not applicable.
@KBLayout@=Returns code denoting Keyboard Layout. See Appendix for possible values.
@LogonDNSDomain@=Logon DNS Domain.
@LogonDomain@=Logon Domain.
@LogonServer@=Logon server.
@MDAY@=Current day of month. Range is 01 to 31
@MIN@=Minutes value of clock. Range is 00 to 59
@MON@=Current month. Range is 01 to 12
@MSEC@=Milliseconds value of clock. Range is 00 to 999. The update frequency of this value
depends on the timer resolution of the hardware and may not update every millisecond.
@MUILang@=Returns code denoting Multi Language if available (Vista is OK by default). See
Appendix for possible values.
@MyDocumentsDir@=Path to My Documents target
@NumParams@=Number of parameters used to call the user functions
@OSArch@=Returns one of the following: "X86", "IA64", "X64" - this is the architecture type of
the currently running operating system.
@OSBuild@=Returns the OS build number. For example, Windows 2003 Server returns 3790
@OSLang@=Returns code denoting OS Language. See Appendix for possible values.
@OSServicePack@=Service pack info in the form of "Service Pack 3".
@OSType@=Returns "WIN32_NT" for NT/2000/XP/2003/Vista/2008/Win7/2008R2.
@OSVersion@=Returns one of the following: "WIN_2008R2", "WIN_7", "WIN_8", "WIN_2008",
"WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_XPe", "WIN_2000".
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
103
@ProgramFilesDir@=Path to Program Files folder
@ProgramsCommonDir@=Path to Start Menu's Programs folder
@ProgramsDir@=Path to current user's Programs (folder on Start Menu)
@ScriptDir@=Directory containing the running script. (Result doesn't contain a trailing
backslash)
@ScriptFullPath@=Equivalent to @ScriptDir@ & "\" & @ScriptName@
@ScriptName@=Long filename of the running script.
@SEC@=Seconds value of clock. Range is 00 to 59
@StartMenuCommonDir@=Path to Start Menu folder
@StartMenuDir@=Path to current user's Start Menu
@StartupCommonDir@=Path to Startup folder
@StartupDir@=current user's Startup folder
@SystemDir@=Path to the Windows' System (or System32) folder
@TempDir@=Path to the temporary files folder.
@UserProfileDir@=Path to current user's Profile folder.
@UserName@=ID of the currently logged on user.
@WDAY@=Numeric day of week. Range is 1 to 7 which corresponds to Sunday through
Saturday.
@WindowsDir@=Path to Windows folder
@WorkingDir@=Current/active working directory. (Result doesn't contain a trailing backslash)
@YDAY@=Current day of year. Range is 001 to 366 (or 001 to 365 if not a leap year)
@YEAR@=Current four-digit year
Remark: If you use any variable within a registry file which will be imported via the tool
NCSRegistryImport mask the variable sign ($@%) by double it (% -> %%, $ -> $$, @ -> @@).
Important Information
UAC (User Account Control) under Windows Vista and WIndows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the
Windows UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential
set of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behaviour can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC prompt is disabled before you
execute this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",5)
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
104
Micro Focus Partner Confidential
Appendix
10.2.2 NCSMonitorProcess.exe
This program will monitor and if needed execute a program. Primary focus is to monitor a setup program
which will release the main program handle directly or shortly after calling the program. This is typically
the case when using setup programs which are embedded in an executable zip file for example.
It also displays a progress bar window as long as the program is executed or monitored.
Be aware that there is a 32Bit and a 64Bit version available.
Description of command line parameters:
Each parameter is formatted as --Key=Value pair
Mandatory Parameter:
--MonitorProcess=<String>
Process Name/Executable including file extension
Optional Parameter:
--CommandPath=<String>
Path to executable
--CommandParameter=<String>
Parameter for the executable
--CommandWindow=<String>
MIN, MAX or HIDE
HIDE=Execute the command in a hidden windows. Useful, if the program is a batch
file
MAX=Execute the command in a maximized window. Useful for troubleshooting
MIN=Execute the command in a minimized window. May be useful for
troubleshooting
--CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=1
Remark: This switch was added to the tool for compatibly reason.
--ExecuteCommand=<String>
Command to execute without path or parameter
--LogFileSize=<Size>
Size=Log File size in MB
Default=25
--LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
already definedThe Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
--PostExecuteCommand=<String>
Command to execute after the monitored process was closed. Command should be
defined without an path"
--PostCommandPath=<String>
Path to (post)executable
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
105
--PostCommandParameter=<String>
Parameter for the (post)executable
--PostCommandWindow=<String>
MIN, MAX or HIDE
HIDE=Execute the (post)command in a hidden windows. Useful, if the program is a
batch file
MAX=Execute the (post)command in a maximized window. Useful for
troubleshooting
MIN=Execute the (post)command in a minimized window. May be useful for
troubleshooting
--IgnoreProcessCount=<Number>
Number of process which will be ignored.
--Timeout=<Number>
Max time to wait for the process in seconds.
--CustomerName=<String>
Customer Name
Default=Micro Focus Partner
--ProgressHide=<Number>
0=progress/status window is displayed
1=progress/status window is not displayed
Default=0
--ProgressTitle=<String>
Title of the status/progress bar window
Default=Deployment Solution for $CustomerName$
--ProgressMainText=<String>
Text shown above the progress bar
Default=Monitoring process $MonitorProcess$
--ProgressSubText=<String>
Text shown below the progress bar
Default=Please wait ...
--ProgressPos_X=<Number>
X starting position of the status window
--ProgressPos_Y=<Number>
Y starting position of the status window
--ProgressDelay=<Number>
Delay between monitoring interval in seconds. Default is 5 seconds.
Please do not enter any value below 5 seconds. This would slow down the
installation.
During each interval the progress bar is updated by 5%.
At 100% the progress bar is reset to zero.
--Help
Display this help message
Important Information
UAC (User Account Control) under Windows Vista and WIndows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the
Windows UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential
set of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behavior can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC is disabled before you
execute this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
106
Micro Focus Partner Confidential
Appendix
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
10.2.3 NCSMonitorDeployment
This program monitors a Windows deployment process. The following functions are currently implemented.
- Displaying a process bar
- Looks for unwanted upcoming windows during an installation. Several AutoIT commands can be executed
against that window.
- Disabling Keyboard and Mouse
- Displaying a bitmap (splash image) which overlays the whole desktop
Be aware that there is a 32Bit and a 64Bit version available.
----- General Information ----The general behavior can be configured in the windows registry or as command line option.
The default configuration hive is located under:
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSMonitorDeployment\Config
Each configuration option is formatted as Key=Value, Value=Value or Parameter=Data pair.
If a configuration option is configured in the windows registry the key/value is must be type string.
A command line parameter must start with the character(s) '-', '--' or '/' followed by the Parameter=Data pair.
For example:
If you like to change the default customer name over the registry add the following string to the
windows registry.
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSMonitorDeployment\Config
String: CustomerName="Your Name"
If you like to overwrite the default customer name via a command line parameter call the program as
followed.
NCSMonitorDeployment.exe --CusterName="Your Name"
For example --CustomerName="Micro Focus"
Registry values take place over command line options.
Description of available registry options or command line options
----- General Options ----Help
Display this help message
This option is only available as command line parameter
Alternative the program can be called with /? -help --help
CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
107
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=1
Remark: This switch was added to the tool for compatibly reason.
CustomerName=<String>
String=Customer Name
Default=Micro Focus Partner
DefaultRegFileName=<File Name>
Export reg file name when call tool with switch WriteDefaultToRegFile
Default=%TEMP%\NCSMonitorDeploymentDefaultRegFile.reg
DebugLevel=INFO|WARN|ERROR|DEBUG|DBGALL01|DBGALL02|DBGALL03|DBGALL04|DBGALL05
INFO=Logs messages of type INFO,WARN and ERROR to the log file
WARN=Logs messages of type WARN and ERROR to the log file
ERROR=Logs messages of type ERROR to the log file
DEBUG=Logs most important debug messages to the log file
DBGALL01 ... DBGALL05=Log up to all debug messages to the log file
If possible the log file is create in the directory %ZENworks_Home
%\Logs\NCSFramework
otherwise in the directory %TEMP%\NCSFramework. The program will check for the
environment variable
as well as for the directory C:\Program Files\Novell\ZENworks\Logs on a 32 bit (x86)
Platform
or the directory C:\Program Files (x86)\Novell\ZENworks\Logs on a 64 bit platform.
ExitAll=1 Any instance of this program will be closed
This option is only available as command line parameter
LogFileSize=<Size>
Size=Log File size in MB
Default=25
LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
already definedThe Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
RegConfigRootHive=<String>
String=Registry hive
Change the default registry hive for configuration and windows definitions from
KEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorWindows
to
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorDeployment
. As a result the new location for the configuration option and window definitions
are
KEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorDeployment\Config
KEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorDeployment\WindowDefintions
UpdateProgressBarSubTextWithBundleInfos=0|1
0=Do not update progress bar sub text with the last called bundle information
1=Do update progress bar sub text with the last called bundle information
108
Micro Focus Partner Confidential
Appendix
Default=1
The feature is only be available if the AuthHookNCS.exe version 2.0.0.10 or newer
is in place.
UpdateBundleTreeView=0|1
0=Do not display a tree view with the planed bundle installation during windows 7
deployment
1=Do display a tree view with the planed bundle installation during windows 7
deployment
Default=1
The feature is only be available if the AuthHookNCS.exe version 2.0.1 or newer is in
place.
VerifyZCMAgentBundleAssignments=0|1
0=Tool will not verify if the agent already knows assigned bundles
1=Tool will verify if the agent already knows assigned bundles. This is done by a zac
bl command.
Default=0
If not bundle is found a agent refresh (zac ref) is triggered.
VerifyZCMAgentRefreshStartDelay=<Seconds>
If parameter VerifyZCMAgentBundleAssignments is set to 1 and no assigned bundles
are found the tool will wait
the defined time in seconds to refresh the agent the first time.
Default=90
VerifyZCMAgentRefreshTimeDelay=<Seconds>
If parameter VerifyZCMAgentBundleAssignments is set to 1 and no assigned bundles
are found the tool will wait
the defined time in seconds to refresh the agent after the first refresh is already
triggered.
Default=300
WriteDefaultToRegistry
Writes the default settings to the registry
This option is only available as command line parameter
WriteDefaultToRegFile
Writes the default settings to a registry file
This option is only available as command line parameter
----- User Input / Keyboard Mouse Options ----UserInputDisable=0|1
0=Do not disable keyboard and mouse
1=Disable keyboard and mouse.
Default=0
Remark: Please note that by default a few hotkeys are available to disable and
enable keyboard and mouse.
UserInputDisableLevel=0|1|2|3
0=Keyboard and Mouse will not be disabled even if parameter UserInputDisable is 1
1=Keyboard and Mouse is disabled.
2=Only Mouse is disabled
3=Only Keyboard is disabled
Default=1
----- Splash Image Options ----SplashImageEnable=0|1
Default=0
SplashImagePhase=<Number>
Number=Can be used to defines the current deployment phase.
Could be used to define different Images for different deployment phase.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
109
Default=1
SplashImagePathA=<File Name>
File Name=Path and File Name of an Image/Bitmap. This Image will be shown if
SplashImagePhase is set to A
No Default defined
SplashImagePathB=<File Name> ;May be First Login
File Name=Path and File Name of an Image/Bitmap. This Image will be shown if
SplashImagePhase is set to B
No Default defined
SplashImagePathC=<File Name>
File Name=Path and File Name of an Image/Bitmap. This Image will be shown if
SplashImagePhase is set to C
No Default defined
SplashImagePathD=<File Name>
File Name=Path and File Name of an Image/Bitmap. This Image will be shown if
SplashImagePhase is set to D
No Default defined
SplashImageTitleGeneral=<String>
String=Title of the splash image window.
Default=NCSMonitorDeployment.exe powered by Novell Consulting Germany
SplashImageTitleInputDisabled=
String=Title suffix if input devices are disabled
Default="Keyboard and Mouse are disabled"
SplashImageTitleInputEnabled
String=Title suffix if input devices are enabled via HotKey
Default=Keyboard and Mouse are enabled
----- Hot Keys ----HotKeyScriptEndAllowed=0|1
0=No HotKey available to close the program
1=Program can be closed with a HotKey
Default=1
HotKeyUserInputOnOffAllowed=0|1
0=No HotKey available to enable/disable keyboard and/or mouse
1=Keyboard and /or mouse can be enabled/disabled with a HotKey
Default=1
HotKeyBundleTreeViewOnOffAllowed=0|1
0=No HotKey available to enable/disable a bundle tree view
1=A bundle tree view can be enabled/disabled with a HotKey
Default=1
HotKeyProgressBarOnOffAllowed=0|1
0=No HotKey available to enable/disable a progress bar
1=A progress bar can be enabled/disabled with a HotKey
Default=1
HotKeySplashScreenOnOffAllowed=0|1
0=No HotKey available to enable/disable a splash screen
1=A splash screen can be enabled/disabled with a HotKey
Default=1
----- Progress Bar Settings ----ProgressHide=0|1
0=progress/status window is displayed
110
Micro Focus Partner Confidential
Appendix
1=progress/status window is not displayed
Default=0
ProgressTitle=<String>
String=Title of the status/progress bar window
Default=Deployment Solution for $CustomerName$
ProgressMainText=<String>
String=Text shown above the progress bar
Default=Monitoring process $MonitorProcess$
ProgressSubText=<String>
String=Text shown below the progress bar
Default=Please wait ...
ProgressPosX=<Number>
Number=X starting position of the status window
Default=-1 (Center)
ProgressPosY=<Number>
Number=Y starting position of the status window
Default=75
ProgressDelay=<Number>
Delay factor for updating the progress bar. Default is set to 2.
In addition the factor is used to calculate the next interval to re-read the
configuration from the registry.
During each interval (ProgressDelay in seconds) a counter is increased by 5. At 100
the counter is reset to zero
and the configuration is read from the registry once again.
Default=5
----- Timeout ----TimeoutEnable=<0|1>
If enabled the tool will terminate after a given time.
0=Tool will run forever
1=Tools will terminate after the time defined in the parameter timeout.
Default=0
Timeout=<Seconds>
If parameter TimeoutEnable is set to 1 the tool will terminate after the time (in
seconds) defined in the parameter timeout.
Default: 300
----- Process Management ----ProcessListWriteToLogFile=0|1
The Monitor tool is able to gather a few process information from all running
processes.
0=No process information are gathered
1=Process information are gathered and written to a log file
Default=0 or if LogLevel is set to DEBUG
ProcessListReadCycle=<seconds>
Interval in which the process properties of all running processes are read.
The allowed minimum read interval it 15 seconds and the maximum is 300 second.
Default=60
ProcessListWriteCycle=<seconds>
Interval in which the process properties of all identified processes are written to
the log file.
The ProcessListWriteCycle interval must be greater then the ProcessListReadCycle
interval therefore
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
111
the ProcessListWriteCycle minimum interval is the ProcessListReadCycle interval
plus 1 second.
The ProcessListWriteCycle maximum interval is 3600 second (one hour)
Default=300 (5 minutes)
----- Window Management ----The windows which should be monitored including the needed action(s) can be defined in the Registry under
"HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\NCSMonitorDeployment\WindowDefinitions\<SubKey>"
SubKey is any arbitrary name. Within that Subkey the below documented string values should be present
for each windows to monitor:
WindowTitle=<String>
Title of the window to monitor
WindowText=<String>
Text within the window to monitor
<Any Name>=<String>
Action must be a supported AutoIt window command such as
- WinClose (...)
- Send (...)
- ControlClick (...)
- ControlSend (...)
----- Important Information ----Available AutoIt Variables
@AppDataCommonDir@=Path to Application Data
@AppDataDir@=Path to current user's Application Data
@CommonFilesDir@=Path to Common Files folder
@ComputerName@=Computer's network name.
@ComSpec@=Value of %comspec%, the SPECified secondary COMmand interpreter; primarily
for command line uses, e.g. Run(@ComSpec@ & " /k help | more")
@CPUArch@=Returns "X86" when the CPU is a 32-bit CPU and "X64" when the CPU is 64-bit.
@DesktopCommonDir@=Path to Desktop
@DesktopDir@=Path to current user's Desktop
@DesktopHeight@=Height of the desktop screen in pixels. (Vertical resolution)
@DesktopWidth@=Width of the desktop screen in pixels. (Horizontal resolution)
@DesktopDepth@=Depth of the desktop screen in bits per pixel.
@DesktopRefresh@=Refresh rate of the desktop screen in hertz.
@DocumentsCommonDir@=Path to Documents
@FavoritesCommonDir@=Path to Favorites
@FavoritesDir@=Path to current user's Favorites
@HomeDrive@=Drive letter of drive containing current user's home directory.
@HomePath@=Directory part of current user's home directory. To get the full path, use in
conjunction with @HomeDrive@.
@HomeShare@=Server and share name containing current user's home directory.
@HOUR@=Hours value of clock in 24-hour format. Range is 00 to 23
@HotKeyPressed@=Last hotkey pressed. See the HotKeySet function.
@IPAddress1@=IP address of first network adapter. Tends to return 127.0.0.1 on some
computers.
@IPAddress2@=IP address of second network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress3@=IP address of third network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress4@=IP address of fourth network adapter. Returns 0.0.0.0 if not applicable.
@KBLayout@=Returns code denoting Keyboard Layout. See Appendix for possible values.
@LogonDNSDomain@=Logon DNS Domain.
@LogonDomain@=Logon Domain.
@LogonServer@=Logon server.
@MDAY@=Current day of month. Range is 01 to 31
@MIN@=Minutes value of clock. Range is 00 to 59
@MON@=Current month. Range is 01 to 12
@MSEC@=Milliseconds value of clock. Range is 00 to 999. The update frequency of this value
depends on the timer resolution of the hardware and may not update every millisecond.
@MUILang@=Returns code denoting Multi Language if available (Vista is OK by default). See
Appendix for possible values.
@MyDocumentsDir@=Path to My Documents target
112
Micro Focus Partner Confidential
Appendix
@NumParams@=Number of parameters used to call the user functions
@OSArch@=Returns one of the following: "X86", "IA64", "X64" - this is the architecture type of
the currently running operating system.
@OSBuild@=Returns the OS build number. For example, Windows 2003 Server returns 3790
@OSLang@=Returns code denoting OS Language. See Appendix for possible values.
@OSServicePack@=Service pack info in the form of "Service Pack 3".
@OSType@=Returns "WIN32_NT" for NT/2000/XP/2003/Vista/2008/Win7/2008R2.
@OSVersion@=Returns one of the following: "WIN_2008R2", "WIN_7", "WIN_8", "WIN_2008",
"WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_XPe", "WIN_2000".
@ProgramFilesDir@=Path to Program Files folder
@ProgramsCommonDir@=Path to Start Menu's Programs folder
@ProgramsDir@=Path to current user's Programs (folder on Start Menu)
@ScriptDir@=Directory containing the running script. (Result doesn't contain a trailing
backslash)
@ScriptFullPath@=Equivalent to @ScriptDir@ & "\" & @ScriptName@
@ScriptName@=Long filename of the running script.
@SEC@=Seconds value of clock. Range is 00 to 59
@StartMenuCommonDir@=Path to Start Menu folder
@StartMenuDir@=Path to current user's Start Menu
@StartupCommonDir@=Path to Startup folder
@StartupDir@=current user's Startup folder
@SystemDir@=Path to the Windows' System (or System32) folder
@TempDir@=Path to the temporary files folder.
@UserProfileDir@=Path to current user's Profile folder.
@UserName@=ID of the currently logged on user.
@WDAY@=Numeric day of week. Range is 1 to 7 which corresponds to Sunday through
Saturday.
@WindowsDir@=Path to Windows folder
@WorkingDir@=Current/active working directory. (Result doesn't contain a trailing backslash)
@YDAY@=Current day of year. Range is 001 to 366 (or 001 to 365 if not a leap year)
@YEAR@=Current four-digit year
Remark: If you use any variable within a registry file which will be imported via the tool
NCSRegistryImport mask the variable sign ($@%) by double it (% -> %%, $ -> $$, @ -> @@).
UAC (User Account Control) under Windows Vista and Windows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the
Windows UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential
set of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behavior can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC is disabled before you
execute this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
113
RD",2)
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
10.2.4 NCSPrepareGuiRunOnce.exe
This program search for <FileName.CFG> files in a given directory structure and adds commands defined within
the file to
the GuiRunOnce registry hive. Primary focus is to add setups during the Windows OS SYSPrep phase to the
GuiRunOnce hive.
All commands which can be defined in a [Commands] section will be added to the registry under hive
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx"
On Windows XP the configuration will be read from files which are stored in a sub-directory under
C:\SYSPREP\i386\$OEM$\GuiRunOnce
and on Windows Vista or Windows 7 the config files must be stored under
<WinDir>\System32\SYSPrep\i386\$OEM$\GuiRunOnce
The default search path can be overwritten with the command line option --RootSearchFolder=<Folder Name>
Be aware that there is a 32Bit and a 64Bit version available.
Description of available option within the configuration file and the supported command line options:
- The file extension has to be '.cfg'.
- The file should be formatted like a typical INI file, e.g. [Section Name] with Key=Value pairs.
- Each command line parameter is formatted as --Key=Value pair
Option/Parameter
The following local options are available. The option can be defined globally in the registry or as
command line parameter.
If the options defined only in the configuration section [Control] the option will be reset to the default
or global definition when the next configuration file is read.
MenuTitle=<String>
Title of the windows menu which will be displayed during the GUIRunOnce phase
This entry should be added only once within all config files
MenuItem=<String>
Short text which describes the task
This entry can be added only once per config files
Windows will display a menu for all GuiRunOnce commands
Title describes the entry within this menu
CustomerName=<String>
Customer Name
Default=Micro Focus Partner
ProgressHide=0|1
0=progress/status window is displayed
1=progress/status window is not displayed
Default=0
ProgressTitle=<String>
Title of the status/progress bar window
Default=Deployment Solution for $CustomerName$
ProgressMainText=<String>
Text shown above the progress bar
Default=Importing GuiRunOnce configuration file(s)
ProgressSubText=<String>
Text shown below the progress bar
114
Micro Focus Partner Confidential
Appendix
Default=$v_NCSFile$
ProgressDelay=<Number>
Delay factor for progress bar update. Default factor is 2.
ProgressPos_X=<Number>
X starting position of the status window
Default=75
ProgressPos_Y=<Number>
Y starting position of the status window
Default=150
ProgressDelay=<Number>
Delay between progress. Default is 2 seconds.
During each interval the progress bar is updated by 10%.
At 100% the progress bar is reset to zero.
CommandSection=<SectionName>, <SectionName>
Can be used to overwrite the default command section [Commands]. Multiple
command sections can be defined.
Commands section will be read from the first to the last definition (left to right)
For two conditions/circumstance the section names [Commands.Default] and
[Commands.Error] can be used to define commands.
The section [Commands.Default] will be used or add to the CommandSections in if
one defined section is not available.
The section [Commands.Error] will be used if none of the defined sections are
available or all of them are empty.
This includes the [Commands.Default] section. Please do not define these two
section in the CommandSection parameter
For example: CommandSection=Commands.All, Commands.@OSArch@
In this example the program will first read a section [Commands.All] than
depending of the platform [Commands.x86]
or [Commands.x64]. If one of the section is not available the section
[Commands.Default] will be read as well.
If all of them are not available or empty the tool will execute the command which
are defined in the section [Commands.Error].
Three types of variables can be used to defined the CommandSection.
AutoIt Macros, AutoIt Variables and Windows Environment Variables. Please use the
following Syntax.
@AutoItMacros@
$AutoItVariables$
%EnvironmentVairable%
Default=Commands
EvalEnvVariables=0|1
0=Defined AutoIt Macros, AutoIT or Environment Variables with the command string
will not evaluated before executing the command
1=Defined AutoIt Macros, AutoIT or Environment Variables with the command string
will evaluated before executing the command
Default=1
EvalEnvVariablesFromRegistry=0|1
0=Do not evaluate environment variables from the registry in cases they are not
available in the current session
1=Evaluates environment variables from the registry in cases the are not available
in the current session
Environment Variables=%VariableName%
EvalEnvVariablesFromRegistryHive=<Registry Hive>
Default=HKLM\System\CurrentControlSet\Control\Session Manager\Environment
[Control]
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
115
ProgressTitle=Deployment Solution for $CustomerName$
ProgressMainText=Importing GuiRunOnce configuration file(s)
ProgressSubText=$v_NCSFile$
ProgressDelay="2"
ProgressStep="10"
ProgressPos_X="75"
ProgressPos_Y="200"
ProgressHide="0"
CommandSection="Commands"
EvalEnvVariables="1"
EvalEnvVariablesFromRegistry="1"
EvalEnvVariablesFromRegistryHive=""
[Commands]
Key1=<Command including parameters>
Key2=<Command>
Three types of variables can be used within the command definition (command including
parameter).
AutoIt Macros, AutoIt Variables and Windows Environment Variables. Please use the following
Syntax.
@AutoItMacros@
$AutoItVariables$
%EnvironmentVairable%
If you do not want to evaluate a variable please double the variable or macro identifier.
@@AutoItMacros@@ will not be evaluate but the @@ signed will be replace by one @
character before it is written to the registry
$$AutoItVariables$$ will not be evaluate but the $$ signed will be replace by $ character
before it is written to the registry
%%AutoItVariables%% will not be evaluate but the %% signed will be replace by % character
before it is written to the registry
Please mask every @,$ and % character in the command line by doubling the character, too
(@=@@, $=$$, %=%%).
[Commands.Default]
Key1=<Command including parameters>
Key2=<Command>
The normal command section can be overwritten with the key CommandSection.
If the section is not available the commands in section [Commands.Default] will be executed if this
section is available and contains command definitions.
[Commands.<VariableName as defined with key CommandSection>
For example:
[Control]
CommandSection=Command.@OSArch@
The AutoIt variable @OSArchQ will be evaluate during runtime.
Depending on the platform the commands in section [Command.X64] or
[Command.X86 will be executed].
If the section is not available the commands in section
[Commands.Default] will be executed if this section is available and contains command definitions.
[Command.X86]
Key1=<Command including parameters>
Key2=<Command>
[Command.X64]
Key1=<Command including parameters>
Key2=<Command>
Registry or command line parameter
Each configuration option is formatted as Key=Value, Value=Value or Parameter=Data pair.
If a configuration option is configured in the windows registry the key/value is must be type string.
A command line parameter must start with the character(s) '-', '--' or '/' followed by the
Parameter=Data pair.
116
Micro Focus Partner Confidential
Appendix
For example:
If you like to change the default customer name over the registry add the following string to the
windows registry.
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSPrepairGuiRunOnce\Config
String: CustomerName="Your Name"
If you like to overwrite the default customer name via a command line parameter call the program as
followed.
NCSPrepairGuiRunOnce.exe --CusterName="Your Name"
Available Configuration option
CustomerName=<String>
Customer Name
CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=1
Remark: This switch was added to the tool for compatibly reason.
DebugLevel=INFO|WARN|ERROR|DEBUG
Default debug level is INFO
LogFileSize=<Number>
The default log file size is 25 MB
The log file is normally stored in the directory %ZENworks_Home
%\logs\NCSFramework or to %TEMP%\NCSFrameworks if the tool has no write permission to the %ZENworks_Home
%\Logs directory
The directory can be overwritten with the option LogFilePath
LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
already defined.
The Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
RootSearchFolder=<Drive:>\<Path>
Change the default root search folder for configuration files with
the extension.cfg.
WriteDefaultToRegistry
Writes all default configuration options to the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSGUIRunOnce\Config
WriteDefaultToRegistryFile
Creates a Registry File with all default configuration options
WriteDefaultToConfigFile
Creates a Config File with the default configuration option and sections
Help
Display this help message
In addition all options as described in the [Readme] section can be defined/overwritten as registry or
command line option
Available AutoIt Variables
@AppDataCommonDir@=Path to Application Data
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
117
@AppDataDir@=Path to current user's Application Data
@CommonFilesDir@=Path to Common Files folder
@ComputerName@=Computer's network name.
@ComSpec@=Value of %comspec%, the SPECified secondary COMmand interpreter; primarily
for command line uses, e.g. Run(@ComSpec & " /k help | more")
@CPUArch@=Returns "X86" when the CPU is a 32-bit CPU and "X64" when the CPU is 64-bit.
@DesktopCommonDir@=Path to Desktop
@DesktopDir@=Path to current user's Desktop
@DesktopHeight@=Height of the desktop screen in pixels. (Vertical resolution)
@DesktopWidth@=Width of the desktop screen in pixels. (Horizontal resolution)
@DesktopDepth@=Depth of the desktop screen in bits per pixel.
@DesktopRefresh@=Refresh rate of the desktop screen in hertz.
@DocumentsCommonDir@=Path to Documents
@FavoritesCommonDir@=Path to Favorites
@FavoritesDir@=Path to current user's Favorites
@HomeDrive@=Drive letter of drive containing current user's home directory.
@HomePath@=Directory part of current user's home directory. To get the full path, use in
conjunction with @HomeDrive.
@HomeShare@=Server and share name containing current user's home directory.
@HOUR@=Hours value of clock in 24-hour format. Range is 00 to 23
@HotKeyPressed@=Last hotkey pressed. See the HotKeySet function.
@IPAddress1@=IP address of first network adapter. Tends to return 127.0.0.1 on some
computers.
@IPAddress2@=IP address of second network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress3@=IP address of third network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress4@=IP address of fourth network adapter. Returns 0.0.0.0 if not applicable.
@KBLayout@=Returns code denoting Keyboard Layout. See Appendix for possible values.
@LogonDNSDomain@=Logon DNS Domain.
@LogonDomain@=Logon Domain.
@LogonServer@=Logon server.
@MDAY@=Current day of month. Range is 01 to 31
@MIN@=Minutes value of clock. Range is 00 to 59
@MON@=Current month. Range is 01 to 12
@MSEC@=Milliseconds value of clock. Range is 00 to 999. The update frequency of this value
depends on the timer resolution of the hardware and may not update every millisecond.
@MUILang@=Returns code denoting Multi Language if available (Vista is OK by default). See
Appendix for possible values.
@MyDocumentsDir@=Path to My Documents target
@NumParams@=Number of parameters used to call the user functions
@OSArch@=Returns one of the following: "X86", "IA64", "X64" - this is the architecture type of
the currently running operating system.
@OSBuild@=Returns the OS build number. For example, Windows 2003 Server returns 3790
@OSLang@=Returns code denoting OS Language. See Appendix for possible values.
@OSServicePack@=Service pack info in the form of "Service Pack 3".
@OSType@=Returns "WIN32_NT" for NT/2000/XP/2003/Vista/2008/Win7/2008R2.
@OSVersion@=Returns one of the following: "WIN_2008R2", "WIN_7", "WIN_8", "WIN_2008",
"WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_XPe", "WIN_2000".
@ProgramFilesDir@=Path to Program Files folder
@ProgramsCommonDir@=Path to Start Menu's Programs folder
@ProgramsDir@=Path to current user's Programs (folder on Start Menu)
@ScriptDir@=Directory containing the running script. (Result doesn't contain a trailing
backslash)
@ScriptFullPath@=Equivalent to @ScriptDir & "\" & @ScriptName
@ScriptName@=Long filename of the running script.
@SEC@=Seconds value of clock. Range is 00 to 59
@StartMenuCommonDir@=Path to Start Menu folder
@StartMenuDir@=Path to current user's Start Menu
@StartupCommonDir@=Path to Startup folder
@StartupDir@=current user's Startup folder
@SystemDir@=Path to the Windows' System (or System32) folder
@TempDir@=Path to the temporary files folder.
@UserProfileDir@=Path to current user's Profile folder.
@UserName@=ID of the currently logged on user.
@WDAY@=Numeric day of week. Range is 1 to 7 which corresponds to Sunday through
Saturday.
@WindowsDir@=Path to Windows folder
@WorkingDir@=Current/active working directory. (Result doesn't contain a trailing backslash)
@YDAY@=Current day of year. Range is 001 to 366 (or 001 to 365 if not a leap year)
118
Micro Focus Partner Confidential
Appendix
@YEAR@=Current four-digit year
Remark: If you use any variable within a registry file which will be imported via the tool
NCSRegistryImport mask the variable sign ($@%) by double it (% -> %%, $ -> $$, @ -> @@).
Important Information
UAC (User Account Control) under Windows Vista and WIndows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the Windows
UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential set
of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behavior can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC is disabled before you execute
this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
10.2.5 NCSRegistryImport.exe
This program search for reg files in a given directory structure and import these files.
Primary focus is to add registry file during the Windows OS SYSPrep phase to registry.
On Windows XP contents will be read from registry files which are stored in a sub directory under
C:\SYSPREP\i386\$OEM$\REGISTRY or
C:\SYSPREP\i386\$OEM$\REGISTRY.DEFAULT
and on Windows Vista or Windows 7 the contents must be stored under
<WinDir>\SYSTEM32\SYSPREP\i386\$OEM$\REGISTRY or
<WinDir>\SYSTEM32\SYSPREP\i386\$OEM$\REGISTRY.DEFAULT
The file extension must be '.reg'. Reg files which are stored in the folder
...\REGISTRY will be imported normal.
The current user setting in registry files which are stored under the folder
...\REGISTRY.DEFAULT will be imported to Default Profile and the Administrator Profile
Note: The Administrator Profile is the profile template for the Windows XP Default Profile since Windows XP
SP2.
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
119
Be aware that there is a 32Bit and 64 Bit version available.
Description of command line parameters:
Each parameter is formatted as --Key=Value pair
Registry or command line parameter
Each configuration option is formatted as Key=Value, Value=Value or Parameter=Data pair.
If a configuration option is configured in the windows registry the key/value is must be type string.
A command line parameter must start with the character(s) '-', '--' or '/' followed by the
Parameter=Data pair.
For example:
If you like to change the default customer name over the registry add the following string to the
windows registry.
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSRegistryImport\Config String:
CustomerName="Your Name"
If you like to overwrite the default customer name via a command line parameter call the program as
followed.
NCSRegistryImport.exe --CusterName="Your Name"
Registry Parameter take place over a command line parameter
Available Configuration option
CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=1
Remark: This switch was added to the tool for compatibly reason.
CustomerName=<String>
Customer Name
Default=Micro Focus Partner
DebugLevel=INFO|WARN|ERROR|DEBUG
Default debug level is INFO
DisplayMessageOnError=0/1
Default=0
0=No Message box will be displayed in case of an error
1=A message box will be displayed in case of an error
An error is assumed when the executed command returns with an exit code other
then 0.
Setting can be set or overwritten once per cfg file.
DisplayMessageOnErrorTimeout=<Time in seconds>
Default=0
0=Not timeout
Setting can be set or overwritten once per cfg file.
EvalEnvVariables=0|1
0=Defined AutoIt Macros, AutoIT Variables or Environment Variables within the
registry file will not be evaluated before importing the file
1=Defined AutoIt Macros, AutoIT Variables or Environment Variables within the
registry file will be evaluated before importing the file
Default=1
Three types of variables can be used within the registry file.
AutoIt Macros, AutoIt Variables and Windows Environment Variables. Please use the
120
Micro Focus Partner Confidential
Appendix
following Syntax.
@AutoItMacros@
$AutoItVariables$
%EnvironmentVairable%
If you do not want to evaluate a variable please double the variable or macro
identifier.
@@AutoItMacros@@ will not be evaluate but the @@ signed will be replace by one
@ character before it is written to the registry
$$AutoItVariables$$ will not be evaluate but the $$ signed will be replace by $
character before it is written to the registry
%%AutoItVariables%% will not be evaluate but the %% signed will be replace by %
character before it is written to the registry
Please mask every @,$ and % character in the command line by doubling the
character, too (@=@@, $=$$, %=%%).
EvalEnvVariablesFromRegistry=0|1
0=Do not evaluate environment variables from the registry in cases they are not
available in the current session
1=Evaluates environment variables from the registry in cases the are not available
in the current session
Environment Variables=%VariableName%
AutoIT Macros=@MacroName@
AutoIT Variables=$VariablenName$
This option will only be used if EvalEnvVariables is set to 1
EvalEnvVariablesFromRegistryHive=<Registry Hive>
If EvalEnvVariablesFromRegistry is set to one and an environment variable is not
available at this time the defined registry hive will be used to evaluate the variable
If no hive is defined the program will try to evaluate the variable first under
HKCU\Environment
and second under
HKLM\System\CurrentControlSet\Control\Session Manager\Environment
ExitOnError=0/1
Default=0
0=NCSExecuteSetup will continue even if an error was detected
1=NCSExecuteSetup will exit immediately
An error is assumed when the executed command returns with an exit code other
then 0.
Setting can be set or overwritten once per cfg file.
LogFileSize=<Number>
The default log file size is 25 MB
The log file is normally stored in the directory %ZENworks_Home
%\logs\NCSFramework or to %TEMP%\NCSFrameworks if the tool has no write permission to the %ZENworks_Home
%\Logs directory
The directory can be overwritten with the option LogFilePath
LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
already defined.
The Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
ProgressHide=0|1
0=progress/status window is displayed
1=progress/status window is not displayed
Default=0
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
121
ProgressTitle=<String>
Title of the status/progress bar window
Default=Deployment Solution for $CustomerName$
ProgressMainText=<String>
Text shown above the progress bar
Default=Executing program(s) from $v_NCSFile$
ProgressSubText=<String>
Default="Please wait ..."
ProgressSubText=<String>
Text shown below the progress bar
Default=Please wait ...
ProgressDelay=<Number>
Delay factor for progress bar update. Default factor is 2.
ProgressPos_X=<Number>
X starting position of the status window
Default=75
ProgressPos_Y=<Number>
Y starting position of the status window
Default=150
RootSearchFolder=<Drive:>\<Path>
Change the default root search folder for registry files with extension .reg.
WriteDefaultToRegistry
Writes all default configuration options to the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\NCSGUIRunOnce\Config
WriteDefaultToRegistryFile
Creates a Registry File with all default configuration options
Help
Display this help message
Available AutoIt Variables
@AppDataCommonDir@=Path to Application Data
@AppDataDir@=Path to current user's Application Data
@CommonFilesDir@=Path to Common Files folder
@ComputerName@=Computer's network name.
@ComSpec@=Value of %comspec%, the SPECified secondary COMmand interpreter; primarily
for command line uses, e.g. Run(@ComSpec & " /k help | more")
@CPUArch@=Returns "X86" when the CPU is a 32-bit CPU and "X64" when the CPU is 64-bit.
@DesktopCommonDir@=Path to Desktop
@DesktopDir@=Path to current user's Desktop
@DesktopHeight@=Height of the desktop screen in pixels. (Vertical resolution)
@DesktopWidth@=Width of the desktop screen in pixels. (Horizontal resolution)
@DesktopDepth@=Depth of the desktop screen in bits per pixel.
@DesktopRefresh@=Refresh rate of the desktop screen in hertz.
@DocumentsCommonDir@=Path to Documents
@FavoritesCommonDir@=Path to Favorites
@FavoritesDir@=Path to current user's Favorites
@HomeDrive@=Drive letter of drive containing current user's home directory.
@HomePath@=Directory part of current user's home directory. To get the full path, use in
conjunction with @HomeDrive.
@HomeShare@=Server and share name containing current user's home directory.
@HOUR@=Hours value of clock in 24-hour format. Range is 00 to 23
@HotKeyPressed@=Last hotkey pressed. See the HotKeySet function.
@IPAddress1@=IP address of first network adapter. Tends to return 127.0.0.1 on some
computers.
@IPAddress2@=IP address of second network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress3@=IP address of third network adapter. Returns 0.0.0.0 if not applicable.
@IPAddress4@=IP address of fourth network adapter. Returns 0.0.0.0 if not applicable.
@KBLayout@=Returns code denoting Keyboard Layout. See Appendix for possible values.
122
Micro Focus Partner Confidential
Appendix
@LogonDNSDomain@=Logon DNS Domain.
@LogonDomain@=Logon Domain.
@LogonServer@=Logon server.
@MDAY@=Current day of month. Range is 01 to 31
@MIN@=Minutes value of clock. Range is 00 to 59
@MON@=Current month. Range is 01 to 12
@MSEC@=Milliseconds value of clock. Range is 00 to 999. The update frequency of this value
depends on the timer resolution of the hardware and may not update every millisecond.
@MUILang@=Returns code denoting Multi Language if available (Vista is OK by default). See
Appendix for possible values.
@MyDocumentsDir@=Path to My Documents target
@NumParams@=Number of parameters used to call the user functions
@OSArch@=Returns one of the following: "X86", "IA64", "X64" - this is the architecture type of
the currently running operating system.
@OSBuild@=Returns the OS build number. For example, Windows 2003 Server returns 3790
@OSLang@=Returns code denoting OS Language. See Appendix for possible values.
@OSServicePack@=Service pack info in the form of "Service Pack 3".
@OSType@=Returns "WIN32_NT" for NT/2000/XP/2003/Vista/2008/Win7/2008R2.
@OSVersion@=Returns one of the following: "WIN_2008R2", "WIN_7", "WIN_8", "WIN_2008",
"WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_XPe", "WIN_2000".
@ProgramFilesDir@=Path to Program Files folder
@ProgramsCommonDir@=Path to Start Menu's Programs folder
@ProgramsDir@=Path to current user's Programs (folder on Start Menu)
@ScriptDir@=Directory containing the running script. (Result doesn't contain a trailing
backslash)
@ScriptFullPath@=Equivalent to @ScriptDir & "\" & @ScriptName
@ScriptName@=Long filename of the running script.
@SEC@=Seconds value of clock. Range is 00 to 59
@StartMenuCommonDir@=Path to Start Menu folder
@StartMenuDir@=Path to current user's Start Menu
@StartupCommonDir@=Path to Startup folder
@StartupDir@=current user's Startup folder
@SystemDir@=Path to the Windows' System (or System32) folder
@TempDir@=Path to the temporary files folder.
@UserProfileDir@=Path to current user's Profile folder.
@UserName@=ID of the currently logged on user.
@WDAY@=Numeric day of week. Range is 1 to 7 which corresponds to Sunday through
Saturday.
@WindowsDir@=Path to Windows folder
@WorkingDir@=Current/active working directory. (Result doesn't contain a trailing backslash)
@YDAY@=Current day of year. Range is 001 to 366 (or 001 to 365 if not a leap year)
@YEAR@=Current four-digit year
Remark: If you use any variable within a registry file which will be imported via the tool
NCSRegistryImport mask the variable sign ($@%) by double it (% -> %%, $ -> $$, @ -> @@).
Important Information
UAC (User Account Control) under Windows Vista and WIndows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the
Windows UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential
set of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behavior can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC is disabled before you
execute this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
123
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
124
Micro Focus Partner Confidential
Appendix
10.3 Registry files
10.3.1 Windows-Settings
10.3.1.1 DisableAPIPA
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]
"IPAutoconfigurationEnabled"=dword:00000000
10.3.1.2 DisableUAC
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
10.3.1.3 EnableUAC
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000005
10.3.1.4 DisableWU
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\WindowsUpdate]
"NoWindowsUpdate"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000001
10.3.1.5 LoginBackground
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background]
"OEMBackground"=dword:00000001
10.3.1.6 Win7-FW-Disable
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\DomainProfi
le]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\PublicProfil
e]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardPro
file]
"EnableFirewall"=dword:00000000
10.3.1.7 DisableAutologon
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="0"
"DefaultDomainName"="DefaultUserName"="DefaultPassword"=-
10.3.2 ZCM-Agent-Configuration
10.3.2.1 DisablePassiveModeLogin
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM\ZenLgn]
"DisablePassiveModeLogin"=dword:00000001
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
125
10.3.2.2 DisableStatusMessages
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\Authentication]
"EnableStatusMessages"=dword:00000000
10.3.2.3 EnableNALIconOnDesktop
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM\NAL]
"SetIconOnDesktop"=dword:00000001
10.3.2.4 DisableRequireCerts
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"Require-Verified-Certs"="false"
10.3.2.5 ConfigureImagingAgent_x64
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Novell\ZCM]
"ZISWin Disabled"="0"
"ZISWin Do Not Restore Mask"=dword:00000028
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"ZISWin Disabled"="0"
"ZISWin Do Not Restore Mask"=dword:00000028
10.3.2.6 ZISPreventReboot
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Novell\ZCM]
"ZISWin Prevent Reboot"="1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM]
"ZISWin Prevent Reboot"="1"
10.3.3 Settings for NCS Tools
10.3.3.1 NCSMonitorDeployment (Default)
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NCS Framework\NCSMonitorDeployment\Config]
"DebugLevel"="INFO"
"RegConfigRootHive"="HKEY_LOCAL_MACHINE\\Software\\Novell\\NCS Framework\\NCSMonitorDeployment"
"LogFileSize"="25"
"LogFilePath"="C:\\Install\\Logs\\NCSFramework"
"CopyLogFilesToAgentLogDir"="1"
"CustomerName"="Micro Focus Partner"
"ReadConfigurationTime"="300"
"ProgressTitle"="Deployment Solution for $CustomerName$ (Client: @IPAddress1@)"
"ProgressMainText"="Monitoring Windows Deployment on @IPAddress1@"
"ProgressSubText"="Please wait ..."
"ProgressDelay"="2"
"ProgressHide"="0"
"ProgressPosX"="-1"
"ProgressPosY"="75"
"UserInputDisable"="0"
"UserInputDisableLevel"="1"
"HotKeyScriptEndAllowed"="1"
"HotKeyUserInputOnOffAllowed"="1"
"HotKeyProgressBarOnOffAllowed"="1"
"HotKeySplashScreenOnOffAllowed"="1"
"HotKeyBundleTreeViewOnOffAllowed"="1"
"SplashImageEnable"="0"
"SplashImagePhase"="A"
"SplashImagePathA"=""
"SplashImagePathB"=""
"SplashImagePathC"=""
"SplashImagePathD"=""
"SplashImageTitleGeneral"="NCSMonitorDeployment powered by Micro Focus Consulting Germany"
126
Micro Focus Partner Confidential
Appendix
"TitleUserInputDisabled"="Keyboard/Mouse disabled"
"TitleUserInputEnabled"="Keyboard/Mouse enabled"
"ProgressBarBundleInfoEnabled"="1"
"BundleTreeViewEnabled"="0"
"BundleTreeViewRelativePosX"="Left"
"VerifyZCMAgentBundleAssignments"="0"
"VerifyZCMAgentBundleAssignmentsMaxCount"="9"
"VerifyZCMAgentRefreshStartDelay"="150"
"VerifyZCMAgentRefreshTimeDelay"="90"
"TimeoutEnable"="0"
"Timeout"="300"
"ProcessListWriteToLogFile"="0"
"ProcessListReadCycle"="60"
"ProcessListWriteCycle"="300"
10.4 VMware driver and tools
10.4.1 Configuration File – VMWareTools.cfg
[Readme]
ProgressMainText=
Short text which describes the task
Should only be once in the file.
This Information will be displayed in a status windows above the progress bar
ProgressSubText=
Short user info
Should only be once in the file.
This Information will be displayed in a status windows below the progress bar
ProgressHide=
0=No Status Window is display during command execution
1=Status Window is display during command execution
CommandWindow=
MIN, MAX or HIDE
HIDE=Execute the command in a hidden windows. Useful if program is a batch file
MAX=Execute the command in a maximize window. Useful for troubleshooting
MIN=Execute the command in a maximize window. May be useful for troubleshooting
Key=Value
Command including needed parameter; Can be add multiple times. Multiple commands will
be executed in the same order as they are listed in the configuration file
[Control]
CustomerName=ZFD
ProgressHide=1
CommandWindow=HIDE
ProgressMainText=Installing VMWare Tools....
[Commands]
Key1=C:\INSTALL\SETUPS\VMWARETools\setup64.exe /S /v"/qn REBOOT=R"
10.5 ZCM Agent
10.5.1 Configuration File – ZCMINSTALL.CFG
[Readme]
;Commands will be executed in the listed order
;Only the first 32767 chars are taken in account in an section due to Win9x compatibility.
;If more entries required create more the one file
[Control]
MenuItem=Installing ZCM Agent...
ProgressMainText=Monitoring ZCM Agent
[Commands]
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
Key2=NCSRegistryImport.exe --RootSearchFolder=C:\INSTALL\SETUPS\ZCM-AGENT
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
127
Key3=sc start "Novell ZENworks Image-Safe Data Service"
Key4=shutdown /r /t 180
10.6 Authentication Hook
The “Authentication Hook” (AuthHookNCS.exe) is used during a defined installation process to
block any unwanted bundles. This includes all “System Bundles” such as PRU or SystemUpdates
as well as Patch Bundles and other bundles, which are started automatically.
For the actual setup the AuthenticationHook is configured in a way that only bundles are allowed to
run that have „InstallDuringDeploymentProcess=1“ included in the description field. Additionally all
bundles in the folder /Bundles/ZPM are blocked.
Figure 107: AuthHookNCS: Bundle Description
The “Authentication Hook” is described in the documentaion:
http://www.novell.com/documentation/zenworks11/zen11_cm_software_distribution/data/bfwtxps.ht
ml.
10.6.1 Settings of Authentication Hook
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\NCS Framework\AuthHookNCS\Config]
"EnableAuthHook"="1"
"AuthHookAutoDisable"="1"
"AuthHookAutoLifeTime"="43200"
"DebugLevel"="INFO"
"AuthHookLogFileSize"="25"
"DisableAuthHookAfterDeploymentPhase"="1"
"EnableAuthHookDuringDeploymentOnly"="1"
"EnableAuthHookDuringDeploymentRegKey"="HKEY_LOCAL_MACHINE\\Software\\Novell\\NCS
Framework\\NCSDeploymentControl"
"EnableAuthHookDuringDeploymentRegValue"="DeploymentInProgress"
"AllowBasedOnBundleDescription"="1"
"AllowBasedOnBundleDescriptionRegExp"="(?is).*?InstallDuringDeploymentProcess=[ ]*1.*"
"DenyBasedOnBundleDescription"="0"
"DenyBasedOnBundleDescriptionRegExp"="N/A"
"AllowBasedOnBundleDisplayName"="0"
"AllowBasedOnBundleDisplayNameRegExp"="N/A"
"DenyBasedOnBundleDisplayName"="0"
"DenyBasedOnBundleDisplayNameRegExp"="N/A"
"AllowBasedOnBundleDisplayNameNCSAgentHelper"="0"
128
Micro Focus Partner Confidential
Appendix
"AllowBasedOnBundleDisplayNameNCSAgentHelperRegExp"="N/A"
"AllowBasedOnBundleGuid"="0"
"AllowBasedOnBundleGuidRegExp"="N/A"
"DenyBasedOnBundleGuid"="0"
"DenyBasedOnBundleGuidRegExp"="N/A"
"AllowBasedOnBundleGuidNCSExecuteSetup"="0"
"AllowBasedOnBundleGuidNCSExecuteSetupRegExp"=""
"AllowBasedOnBundleFullDN"="0"
"AllowBasedOnBundleFullDNRegExp"="N/A"
"DenyBasedOnBundleFullDN"="0"
"DenyBasedOnBundleFullDNRegExp"="N/A"
"AllowBasedOnBundleName"="1"
"AllowBasedOnBundleNameRegExp"="_INSTALL-CONTROL"
"DenyBasedOnBundleName"="0"
"DenyBasedOnBundleNameRegExp"="N/A"
"AllowBasedOnBundleFolder"="0"
"AllowBasedOnBundleFolderRegExp"="N/A"
"DenyBasedOnBundleFolder"="0"
"DenyBasedOnBundleFolderRegExp"="(?i)/Bundles/ZPM/.*"
"AllowBasedOnBundleType"="0"
"AllowBasedOnBundleTypeRegExp"="N/A"
"DenyBasedOnBundleType"="0"
"DenyBasedOnBundleTypeRegExp"="N/A"
"AllowBundlesOnUserApproval"="0"
"AllowLinkedBundlesViaBundleAction"="1"
"AllowLinkedBundlesViaZacCommand"="0"
"AllowLinkedBundlesViaNCSExecuteSetup"="1"
"SendBundleStatusToNCSMonitorDeploymentEnabled"="1"
"SendBundleTreeToNCSMonitorDeploymentEnabled"="1"
10.6.2 Documentation
The tool AuthHookNCS.EXE will control the bundle execution based on a few registry settings.
Main reason for this is to allow only well defined bundle to be installed during a deployment process
of Windows XP/Windows Vista/Windows 7 without defining requirements within each bundle.
The tool plugs in to the "Authentication Hook" of the ZCM Agent 10.1 or newer.
The tool will return 264 in case the bundle should be installed or 0 if the bundle should not be installed.
For more information of the Hook refer to the normal ZENworks Configuration Management documentation.
Installation:
Just copy the tool into the directory %ZENworks_Home%\bin and reboot the machine.
Be aware that you use the x86 or x64 bit version depending on your Windows architecture.
Configuration Option:
The general behavior can be defined with the following documented registry values in the Windows
registry under hive
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\AuthhookNCS\Config
Please make sure that the logged in user has write access to this hive or at leased to the hive
HKEY_CURRENT_USER\SOFTWARE\NOVELL\NCS Framework\AuthhookNCS\Config.
If this is not the case, the tool will exit with error code 264 which means the bundle will be installed.
General Control Settings
EnableAuthHook=0|1
Default EnableAuthHook=0
0=AuthHookNCS is disabled and will exit with error code 264.
1=AuthHookNCS is enabled and will check if the bundle should be installed or not
AuthHookAutoDisable=0|1
Default AuthHookAutoDisable=1
0=Do nothing
1=AuthHook will disable it self if the life time is reached. Default life time 43200 seconds (12
hour)
See also AuthHookAutoLifeTime
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
129
AuthHookAutoLifeTime=seconds
Default AuthHookAutoLifeTime=43200
If AuthHookAutoDisable is set to 1 the tool will disable it self after life time is reached.
The life time is the time delta between the first execution and the current execution.
The execution time will be written to string value AuthhookFirstStart and AuthhookLastStart
under
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS
Framework\AuthhookNCS\Config\RunTimeSettings.
Make sure the logged in user has write access to this hive or at leased to the hive
HKEY_CURRENT_USER\SOFTWARE\NOVELL\NCS
Framework\AuthhookNCS\Config\RunTimeSettings
Otherwise the tool will exit with error code 264 which means the bundle will be installed.
EnableAuthHookDuringDeploymentOnly=0|1
EnableAuthHookDuringDeploymentOnly=1
0=AuthHookNCS will determine the Enable Status based on the setting EnableAuthHook only.
1=AuthHookNCS will only check if a bundle should be installed when EnableAuthHook is set to
1
and the registry string value DeploymentInProgress is set to TRUE or contains an integer
greater 0.
DisableAuthHookAfterDeploymentPhase=0|1
Default DisableAuthHookAfterDeploymentPhase=1
0=Do nothing
1=AuthHookNCS will determine if a deployment is still in progress.
If not the tool will disable it self by setting the registry value EnableAuthHook to 0.
EnableAuthHookDuringDeploymentRegKey=Registry Hive
EnableAuthHookDuringDeploymentRegKey=HKEY_LOCAL_MACHINE\Software\Novell\NCS
Framework\NCSDeploymentControl
Defines the registry hive where the registry value is set for identifying if a deployment is in
progress or not.
EnableAuthHookDuringDeploymentRegValue=String Value
Default EnableAuthHookDuringDeploymentRegValue=DeploymentInProgress
Defines the name of the string value on which the tool identifiers if a deployment is in
progress or not.
Default name is DeploymentInProgress. The tool expects a deployment if the value is set to
'TRUE' or contains
a integer greater then 0.
CopyLogFilesToAgentLogDir=0|1|2
0=The directory <LogFilePath>\NCSFramework will never be copied to
%ZENworks_Home%\logs\NCSFramework
1=The directory <LogFilePath>\NCSFramework will be copied to %ZENworks_Home
%\logs\NCSFramework
if the ZCM Agent is installed each time the program is called.
2=The directory <LogFilePath>\NCSFramework will always be copied to
%ZENworks_Home%\logs\NCSFramework
each time the program is called. <not recommended>
Default=0
Remark: This switch was added to the tool for compatibly reason.
DebugLevel=DEBUG|ERROR|WARN|INFO
Default DebugLevel=INFO
LogFileSize=<Size in MB>
Default LogFileSize=25
LogFilePath=<Path>
Path to store the log files
(NCSMonitorDeployment.log/NCSMonitorDeploymentProcessList.log
The Subdirectory NCSFramwork will always be added to the log file path if not
130
Micro Focus Partner Confidential
Appendix
already definedThe Default path is 'C:\Install\Logs\NCSFramework'
Please see parameter CopyLogFilesToAgentLogDir also.
Allow and Deny Settings
Based on this settings the tool will decide if a bundle should be installed or not. Each analyse option
can be enabled or disabled. If an analyse option is enabled to checks if the corresponding bundle
definition
fits into the defined regular expression. If yes the bundle will be denied (not installed) if it was a 'deny'
setting or
or passed (installed) if it was an 'allow' settings.
First, all enabled deny settings will be analysed. If a bundle falls into one enabled deny setting the
bundle will be blocked.
Second, all enabled allow settings will be analysed. If a bundle falls into one enabled allow settings the
bundle will be installed.
If no enabled allow settings match, the bundle will be blocked also. Therefore the deny settings are
normally not needed.
Attention regular expressions are case sensitive. This behaviour
overwritten with '(?i)' add the beginning of the regular expression.
AllowBasedOnBundleDescription=0|1
Default AllowBasedOnBundleDescription=0
0=AuthHookNCS will not analyze the bundle description
1=AuthHookNCS will analyze the bundle description to identifier if the bundle should be
installed or not.
Bundle will be installed if the description match the regular expression as defined
within the registry value AllowBasedOnBundleDescriptionRegExp.
AllowBasedOnBundleDescriptionRegExp=<Regular Expression>
Default AllowBasedOnBundleDescriptionRegExp=(?is).*?InstallDuringDeploymentProcess=[ ]*1.*
Bundle will be installed if the bundle description match the regular expression and
parameter AllowBasedOnBundleDescription is set to 1
DenyBasedOnBundleDescription=0|1
Default AllowBasedOnBundleDescription=0
0=AuthHookNCS will not analyze the bundle description
1=AuthHookNCS will analyze the bundle description to identifier if the bundle should be
blocked or not.
Bundle will be blocked if the description match the regular expression as defined
within the registry value AllowBasedOnBundleDescriptionRegExp.
DenyBasedOnBundleDescriptionRegExp=<Regular Expression>
Default AllowBasedOnBundleDescriptionRegExp=N/A
Bundle will be blocked if the bundle description match the regular expression and
parameter AllowBasedOnBundleDescription is set to 1
AllowBasedOnBundleDisplayName=0|1
Default AllowBasedOnBundleDisplayName=0
0=AuthHookNCS will not analyze the bundle display name
1=AuthHookNCS will analyze the bundle display name to identifier if the bundle should be
installed or not.
Bundle will be installed if the name match the regular expression as defined
within the registry value AllowBasedOnBundleNameRegExp.
AllowBasedOnBundleDisplayNameRegExp=<Regular Expression>
Default AllowBasedOnBundleNameDisplayRegExp=(?i).*
Bundle will be installed if the bundle name match the regular expression and
parameter AllowBasedOnBundleName is set to 1
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
131
DenyBasedOnBundleDisplayName=0|1
Default AllowBasedOnBundleDisplayName=0
0=AuthHookNCS will not analyze the bundle display name
1=AuthHookNCS will analyze the bundle display name to identifier if the bundle should be
blocked or not.
Bundle will be blocked if the display name match the regular expression as defined
within the registry value AllowBasedOnBundleNameRegExp.
DenyBasedOnBundleDisplayNameRegExp=<Regular Expression>
Default AllowBasedOnBundleNameDisplayRegExp=N/A
Bundle will be blocked if the bundle name match the regular expression and
parameter AllowBasedOnBundleName is set to 1
AllowBasedOnBundleName=0|1
Default AllowBasedOnBundleName=1
0=AuthHookNCS will not analyze the bundle name
1=AuthHookNCS will analyze the bundle name to identifier if the bundle should be installed
or not.
Bundle will be installed if the name match the regular expression as defined
within the registry value AllowBasedOnBundleNameRegExp.
AllowBasedOnBundleNameRegExp=<Regular Expression>
Default AllowBasedOnBundleNameRegExp=(?i).*
Bundle will be installed if the bundle name match the regular expression and
parameter AllowBasedOnBundleName is set to 1
DenyBasedOnBundleName=0|1
Default AllowBasedOnBundleName=0
0=AuthHookNCS will not analyze the bundle name
1=AuthHookNCS will analyze the bundle name to identifier if the bundle should be blocked
or not.
Bundle will be blocked if the name match the regular expression as defined
within the registry value AllowBasedOnBundleNameRegExp.
DenyBasedOnBundleNameRegExp=<Regular Expression>
Default AllowBasedOnBundleNameRegExp=N/A
Bundle will be blocked if the bundle name match the regular expression and
parameter AllowBasedOnBundleName is set to 1
AllowBasedOnBundleDisplayNameNCSAgentHelper=0|1
Default AllowBasedOnBundleDisplayNameNCSAgentHelper=0
The NCSAgentHelper is a small tool which was developed for a few named customers.
The NCSAgentHelper is able to inform the AuthHookNCS which bundle should be installed.
0=AuthHookNCS will not analyze the bundle display name set by the tool NCSAgentHelper
1=AuthHookNCS will analyze the bundle name to identifier if the bundle should be installed
or not.
Bundle will be installed if the display name match the regular expression as defined
within the registry value AllowBasedOnBundleNameNCSAgentHelperRegExp.
AllowBasedOnBundleNameNCSAgentHelperRegExp=<Regular Expression>
Default AllowBasedOnBundleNameNCSAgentHelperRegExp=N/A
Bundle will be installed if the bundle name match the regular expression and
parameter AllowBasedOnBundleNameNCSAgentHelper is set to 1
AllowBasedOnBundleFullDN=0|1
Default AllowBasedOnBundleFullDN=0
0=AuthHookNCS will not analyze the bundle full distinguished name (<folder path>/<name>)
1=AuthHookNCS will analyze the bundle bundle full distinguished name to identifier if the
bundle
should be installed or not. Bundle will be installed if the folder match the regular
expression as defined
132
Micro Focus Partner Confidential
Appendix
within the registry value AllowBasedOnBundleFullDNRegExp
AllowBasedOnBundleFullDNRegExp=<Regular Expression>
Default AllowBasedOnBundleFullDNRegExp=(?i).*
Bundle will be installed if the bundle bundle full distinguished name match the regular
expression and
parameter AllowBasedOnBundleFolder is set to 1.
DenyBasedOnBundleFullDN=0|1
Default DenyBasedOnBundleFullDN=0
0=AuthHookNCS will not analyze the bundle full distinguished name (<folder path>\<name>)
1=AuthHookNCS will analyze the bundle bundle full distinguished name to identifier if the
bundle should be blocked or not.
Bundle will be blocked if the bundle full distinguished name match the regular expression as
defined
within the registry value DenyBasedOnBundleFullDNRegExp.
DenyBasedOnBundleFullDNRegExp=<Regular Expression>
Default DenyBasedOnBundleFullDNRegExp=N/A
Bundle will be blocked if the bundle bundle full distinguished name match the regular
expression and
parameter DenyBasedOnBundleFullDN is set to 1.
AllowBasedOnBundleFolder=0|1
Default AllowBasedOnBundleFolder=0
0=AuthHookNCS will not analyze the bundle folder
1=AuthHookNCS will analyze the bundle folder to identifier if the bundle should be installed
or not.
Bundle will be installed if the folder match the regular expression as defined
within the registry value AllowBasedOnBundleFolderRegExp.
AllowBasedOnBundleFolderRegExp=<Regular Expression>
Default AllowBasedOnBundleFolderRegExp=(?i).*
Bundle will be installed if the bundle folder match the regular expression and
parameter AllowBasedOnBundleFolder is set to 1.
DenyBasedOnBundleFolder=0|1
Default DenyBasedOnBundleFolder=1
0=AuthHookNCS will not analyze the bundle folder
1=AuthHookNCS will analyze the bundle folder to identifier if the bundle should be blocked or
not.
Bundle will be blocked if the folder match the regular expression as defined
within the registry value DenyBasedOnBundleFolderRegExp.
DenyBasedOnBundleFolderRegExp=<Regular Expression>
Default AllowBasedOnBundleFolderRegExp=(?i)/Bundles/ZPM/.*
Bundle will be blocked if the bundle folder match the regular expression and
parameter AllowBasedOnBundleFolder is set to 1.
AllowBasedOnBundleGuid=0|1
Default AllowBasedOnBundleGuid=0
0=AuthHookNCS will not analyze the bundle Guid
1=AuthHookNCS will analyze the bundle GUID to identifier if the bundle should be installed or
not.
Bundle will be installed if the GUID match the regular expression as defined
within the registry value AllowBasedOnBundleGuidRegExp.
AllowBasedOnBundleGuidRegExp=<Regular Expression>
Default AllowBasedOnBundleGuidRegExp=(?i).*
Bundle will be installed if the bundle GUID match the regular expression and
parameter AllowBasedOnBundleGuid is set to 1.
DenyBasedOnBundleGuid=0|1
Default DenyBasedOnBundleGuid=0
0=AuthHookNCS will not analyze the bundle Guid
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
133
1=AuthHookNCS will analyze the bundle GUID to identifier if the bundle should be blocked or
not.
Bundle will be blocked if the GUID match the regular expression as defined
within the registry value DenyBasedOnBundleGuidRegExp.
DenyBasedOnBundleGuidRegExp=<Regular Expression>
Default DenyBasedOnBundleGuidRegExp=N/A
Bundle will be blocked if the bundle GUID match the regular expression and
parameter DenyBasedOnBundleGuid is set to 1.
AllowBasedOnBundleGuidNCSExecuteSetup=0|1
Default AllowBasedOnBundleGuidNCSExecuteSetup=0
0=AuthHookNCS will not analyze the bundle guid set by the tool NCSExecute Setup
1=AuthHookNCS will analyze the bundle GUID to identifier if the bundle should be installed or
not.
Bundle will be installed if the GUID match the regular expression as defined
within the registry value AllowBasedOnBundleGuidNCSExecuteSetupRegExp.
The value AllowBasedOnBundleGuidNCSExecuteSetupRegExp can automatically set from the
tool NCSExecuteSetup.exe
AllowBasedOnBundleGuidNCSExecuteSetupRegExp=<Regular Expression>
Default AllowBasedOnBundleGuidNCSExecuteSetupRegExp=""
Bundle will be installed if the bundle GUID match the regular expression and
parameter AllowBasedOnBundleGuidNCSExecuteSetup is set to 1.
This value can automatically set from the tool NCSExecuteSetup.exe
AllowBasedOnBundleType=0|1
Default AllowBasedOnBundleType=0
0=AuthHookNCS will not analyze the bundle type
1=AuthHookNCS will analyze the bundle type to identifier if the bundle should be installed or
not.
Bundle will be installed if the type match the regular expression as defined
within the registry value AllowBasedOnBundleTypeRegExp.
AllowBasedOnBundleTypeRegExp=<Regular Expression>
Default AllowBasedOnBundleTypeRegExp=(?i).*
Bundle will be installed if the bundle name match the regular expression and
parameter AllowBasedOnBundleType is set to 1.
DenyBasedOnBundleType=0|1
Default DenyBasedOnBundleType=1
0=AuthHookNCS will not analyze the bundle type
1=AuthHookNCS will analyze the bundle type to identifier if the bundle blocked be installed
or not.
Bundle will be blocked if the type match the regular expression as defined
within the registry value AllowBasedOnBundleTypeRegExp.
DenyBasedOnBundleTypeRegExp=<Regular Expression>
Default DenyBasedOnBundleTypeRegExp=Patch Bundle
Bundle will be blocked if the bundle name match the regular expression and
parameter DenyBasedOnBundleType is set to 1.
AllowLinkedBundlesViaBundleAction=0|1
Default AllowLinkedBundlesViaBundleAction=1
0=AuthHook will not analyze a bundle for an Install, a Launch, a Verify or an Uninstall Bundle
Action. As a result the main bundle
will only be installed if those chained bundle will also pass one of the other filter.
1=AuthHookNCS will analyze a bundle for install, launch, verify and uninstall bundle actions
and stores the GUIDs in the registry
for later use. As a result only the main bundle must pass one of the other filters.
AllowLinkedBundlesViaZacCommand=0|1
Default AllowLinkedBundlesViaZacCommand=1
0=AuthHook will not analyze a bundle for a Launch Executable Action which executes a ZAC
134
Micro Focus Partner Confidential
Appendix
bin|bln|bv|bu command to start an bundle installation.
As a result the main bundle will only be installed if those linked bundles will also pass one of
the other filter.
1=AuthHookNCS will analyze a bundle for a Launch Executable Action which executes a ZAC
bin|bln|bv|bu command to start an bundle installation
and stores the GUIDs in the registry for later use. As a result only the main bundle must pass
one of the other filters.
AllowLinkedBundlesViaNCSExecuteSetup=0|1
Default AllowLinkedBundlesViaNCSExecuteSetup=1
0=AuthHook will not analyze a bundle for a Launch Executable Action which executes a
NCSExecuteSetup /BundleExecution command to start an bundle installation.
As a result the main bundle will only be installed if those linked bundles will also pass one of
the other filter.
1=AuthHookNCS will analyze a bundle for a Launch Executable Action which executes a
NCSExecuteSetup /BundleExecution command to start an bundle installation
and stores the GUIDs in the registry for later use. As a result only the main bundle must pass
one of the other filters.
AllowBundlesOnUserApproval=0|1
Default AllowBundlesOnUserApproval=0
0=AuthHook will not request a user approval if a bundle did not pass any 'Allow Filter'
1=AuthHook will request a user approval if a bundle did not pass any 'Allow Filter'. The user
then has the choice
to allow the installation of the bundle and all it's chained bundles to deny them for ever or
deny them only once.
SendBundleStatusToNCSMonitorDeploymentEnabled=0|1
Default SendBundleStatusToNCSMonitorDeploymentEnabled=1
0=AuthHook will not provide the last called bundle name and time to the
NCSMonitorDeployment.exe
1=AuthHook will provide the last called bundle name and time to the
NCSMonitorDeployment.exe
The NCSMonitorDeployment.exe is able to display this information as text under the
progress bar
Require NCSMonitorDeployment.exe version 2.2 or higher/newer.
SendBundleTreeToNCSMonitorDeploymentEnabled=0|1
Default UpdateNCSMonitorDeploymentTreeViewEnabled=1
0=AuthHook will not provide the tree view information of the called bundle including all
chained bundle to the NCSMonitorDeployment.exe
1=AuthHook will provide the tree view information of the called bundle including all chained
bundle to the NCSMonitorDeployment.exe
The NCSMonitorDeployment.exe is able to display a tree view of all bundle as information in
an additional window.
Requires NCSMonitorDeployment.exe version 2.5.0.0 or newer.
Log file
The log file 'NCSAuthHook' is written to directory %ZENworks_Home%\Logs or to the directory
%Temp% if the user has no write access to the above directory.
Additional Comamndline Paramter
The following parameters are supported
/? or /Help
Displays this help
/WriteDefaultToRegistry
Writes all default configuration options to the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\NCS Framework\AuthhookNCS\Config
/WriteDefaultToFile
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
135
Creats a Registry File with all default configuration options
Important Information
UAC (User Account Control) under Windows Vista and WIndows 7
This tools requires admin privileges. If the logged in user is not the build-in Administrator the
Windows UAC will request the needed privileges.
If the user is a member of the administrator group the users only needs to accepts the privilege
change.
If the user is not a member of the Administrator group the logged user must provide the credential
set of a administrator account.
The script execution will stop until the user accepts the privilege change. The script execution will
terminate if the user rejects the privilege change.
The UAC dialog prompt behavior can be changed for user which are member of the administrator
group with the following registry entries.
If you use this tool within the imaging process make sure that the UAC is disabled before you
execute this tool.
Windows Vista
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",2)
Windows 7
Disable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",0)
Enable UAC Admin Prompt:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System","ConsentPromptBehaviorAdmin","REG_DWO
RD",5)
Regular Expression
Please visit the following web site for a brief description of regular expression
http://en.wikipedia.org/wiki/Regular_expression
Following a few Matching Characters
(?i)
Case-insensitivity flag. This does not operate as a group. It tells the regular expression engine
to do case-insensitive matching from that point on.
(?-i)
(default) Case-sensitivity flag. This does not operate as a group. It tells the regular
expression engine to do case-sensitive matching from that point on.
(?m)
^ and $ match newlines within data.
(?s)
. matches anything including newline. (by default "." don't match newline)
(?x)
Ignore whitespace and # comments.
(?U)
Invert greediness of quantifiers.
.
Match any single character (except newline).
|
Or. The expression on one side or the other can be matched.
\
Escape a special character (have it match the actual character) or introduce a special
character type (see below).
\\
Match an actual backslash (\).
\A
Match only at beginning of string.
\b
Matches at a word boundary.
\B
Matches when not at a word boundary.
\d
Match any digit (0-9).
\D
Match any non-digit.
\f
Match an formfeed character (chr(12)).
\h
any horizontal whitespace character.
\H
any character that is not a horizontal whitespace character.
136
Micro Focus Partner Confidential
Appendix
\n
Match a linefeed (@LF, chr(10)).
\r
Match a carriage return (@CR, chr(13)).
\s
Match any whitespace character: Chr(9) through Chr(13) which are Horizontal Tab, Line Feed,
Vertical Tab, Form Feed, and Carriage Return, and the standard space ( Chr(32) ).
\S
Match any non-whitespace character.
\t
Match a tab character (chr(9)).
\v
any vertical whitespace character.
\V
any character that is not a vertical whitespace character.
\w
Match any "word" character: a-z, A-Z, 0-9 or underscore (_).
\W
Match any non-word character.
\z
Match only at end of string.
\Z
Match only at end of string, or before newline at the end.
and a few Repeating Characters
{x}
{x,}
{0,x}
{x, y}
*
+
?
?
Repeat the previous character, set or group exactly x times.
Repeat the previous character, set or group at least x times.
Repeat the previous character, set or group at most x times.
Repeat the previous character, set or group between x and y times, inclusive.
Repeat the previous character, set or group 0 or more times. Equivalent to {0,}
Repeat the previous character, set or group 1 or more times. Equivalent to {1,}
The previous character, set or group may or may not appear. Equivalent to {0, 1}
(after a repeating character) Find the smallest match instead of the largest.
Disclaimer
Micro Focus or the developer makes no representations or warranties with respect to this tool,
and specifically disclaims any express or implied warranties of merchantability or fitness
for any particular purpose. Use this tool on your own risk.
10.7 Bundle-Actions (Examples)
10.7.1 Set Powerscheme to “Maximum”
Powercfg -SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
10.7.1.1 Deactivate NetBios over TCPIP
Wmic nicconfig where TcpipNetbiosOptions=0 call SetTcpipNetbios 2
10.7.1.2 Deactivate Bindings
${INSTALLDIR}\TOOLS\nvspbind.exe
${INSTALLDIR}\TOOLS\nvspbind.exe
${INSTALLDIR}\TOOLS\nvspbind.exe
${INSTALLDIR}\TOOLS\nvspbind.exe
${INSTALLDIR}\TOOLS\nvspbind.exe
${INSTALLDIR}\TOOLS\nvspbind.exe
/d *
/d *
/d *
/d *
/d *
/d *
ms_tcpip6
ms_server
ms_pacer
ms_lltdio
ms_msclient
ms_rspndr
10.7.1.3 Disable powermanagement for network
'************************************************************************
'* VBS Script to:
'* Enable/Disable showing the icon in your system tray for connected NICs
'* Enable/Disable Power Management for Connected NICs
'************************************************************************
'Let's setup our variables
Const HKLM = &H80000002
'HKEY_LOCAL_MACHINE info for registry writes
Dim objReg
'Registry Object
Dim objWMIService
'WMI Service Object
Dim arrayNetCards
'Array of all connected NICs
Dim objNetCard
'A specific NIC
Dim strNICguid
'
Dim strShowNicKeyName
'Key Specific to the Network Adapters in CurrentControlSet
Dim strShowNicKeyName001 'Key Specific to the Network Adapters in CurrentControlSet001
Dim strPnPCapabilitesKeyName
'Key Specific to the Network Adapters in CurrentControlSet
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
137
Dim strPnPCapabilitesKeyName001
Dim strComputer
strComputer = "."
'Key Specific to the Network Adapters in CurrentControlSet001
'Name of computer to modify
'Period = local computer
strShowNicKeyName = "SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\"
strShowNicKeyName001 = "SYSTEM\CurrentControlSet001\Control\Network\{4D36E972-E325-11CE-BFC108002BE10318}\"
strPnPCapabilitiesKeyName = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC108002bE10318}\"
strPnPCapabilitiesKeyName001 = "SYSTEM\CurrentControlSet001\Control\Class\{4D36E972-E325-11CE-BFC108002bE10318}\"
ShowNicdwValue = 1
'1 for ON, 0 for OFF
PnPdwValue = 24
'56 to disable "Allow the computer to turn off this device to save power."
'48 to enable "Allow the computer to turn off this device to save power."
'32 to enable "Allow the computer to turn off this device to save power."
' and enable "Allow this device to bring the computer out of standby."
'288 to enable "Allow the computer to turn off this device to save power."
' and enable "Allow this device to bring the computer out of standby."
' and enable "Only allow management stations to bring the computer out
of standby."
On Error Resume Next
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer &
"\root\default:StdRegProv")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer &
"\root\cimv2")
'Look for the NICs that have IP enabled
Set arrayNetCards = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapterConfiguration Where
IPEnabled = True")
'Make changes on the NICs that have IP enabled
For Each objNetCard in arrayNetCards
strNICguid = objNetCard.SettingID
strDeviceID = Mid(objNetCard.Caption,6,4)
'Get the GUID of the NIC
'Get the DeviceID of the NIC
'Change the "Show icon in notification area when connected value"
objReg.SetDWORDValue HKLM, strShowNicKeyName & strNICguid & "\Connection", "ShowIcon",
ShowNicdwValue
objReg.SetDWORDValue HKLM, strShowNicKeyName001 & strNICguid & "\Connection", "ShowIcon",
ShowNicdwValue
'Change the Power Management Values
objReg.SetDWORDValue HKLM, strPnPCapabilitiesKeyName & strDeviceID &
"\","PnPCapabilities",PnPdwValue
objReg.SetDWORDValue HKLM, strPnPCapabilitiesKeyName001 & strDeviceID &
"\","PnPCapabilities",PnPdwValue
Next
Set objReg = Nothing
Set objWMIService = Nothing
10.7.1.4 Deactivate LMHOSTS
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"EnableLMHOSTS"=dword:0
10.7.1.5 IPv6 disabled
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters]
138
Micro Focus Partner Confidential
Appendix
"DisabledComponents"=dword:ffffffff
10.7.1.6 Set NTP Server
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers]
"0"="ntp1.microfocus.com"
@="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\DateTime\Servers]
"0"="ntp1.microfocus.com"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters]
"ServiceMain"="SvchostEntry_W32Time"
"ServiceDllUnloadOnStop"=dword:1
"Type"="NTP"
"NtpServer"="ntp1.microfocus.com,0x9"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient]
"SpecialPollInterval"=dword:15180
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
139
11 Imaging-Skripts (Examples)
11.1 GetWSName
GET_WSNAME ()
{
WSNAME=`zisview computername`
# Get Name of Workstation if ZIS is empty
if [ -z "${WSNAME}" ]; then
setterm -clear
echo "--------------------------------------------"
echo "--------------------------------------------"
echo "--------------------------------------------"
echo "
Micro Focus
"
echo "
WIN10 Installation
"
echo "--------------------------------------------"
echo "--------------------------------------------"
echo "--------------------------------------------"
echo "
Please enter PC-NAME
"
echo "
(max. 16 Zeichen )
"
read WSNAME
echo "
Die Eingabe war: $WSNAME
"
echo "--------------------------------------------"
echo "--------------------------------------------"
export WSNAME
WRITE_ZIS
fi
}
11.2 CreatePartitions / CreateMBR (BIOS)
CREATE_PARTITIONS ()
{
#Deleting all Partitions and recreate MBR
img -pd -all
#Creating and formating Windows 10 Partitions and recreating MBR
#Creating Boot partition
img -pc 1 -type=$FILESYSTEM -size=500
img -pa 1
#Creating Windows partition
img -pc 2 -type=$FILESYSTEM
tftp ${PROXYADDR} -m binary -v -c get NOVELL/TOOLS/MBR/mbr-win10 /tmp/mbr-win7
chmod 755 /tmp/mbr-win10
dd if=/tmp/mbr-win10 of=/dev/sda bs=446 count=1
}
11.3 RestoreImages
RESTORE_IMAGES ()
{
#Restore Images
img -rp $BASE_IMAGE_PATH/WIN7-BOOT64.zmg -ap=a1:p1 -legacyntfs
img -rp $BASE_IMAGE_PATH/WIN7-BASE64.zmg -ap=a2:p2
img -rp $COMMON_IMAGE_PATH/SYSPREP64.zmg
img -rp $COMMON_IMAGE_PATH/ZCM-AGENT.zmg
img -rp $COMMON_IMAGE_PATH/DESKTOP.zmg
img -rp $HARDWARE_IMAGE_PATH/$HARDWARE_IMAGE.zmg
140
Micro Focus Partner Confidential
Imaging-Skripts (Examples)
}
11.4 Create Partitions and Restore Images (UEFI)
#Create Partitions
img
img
img
img
img
-pd -all
-pc 1 -type=NTFS -size=300 -guid=WRE
-pc 2 -type=FAT32 -size=100 -guid=ESP
-pc 3 -type=NTFS -size=128 -guid=MRP
-pc 4 -type=NTFS -guid=MBD
#Restore Images
img -rp CUSTOMER/MF/DEVELOPMENT/WINDOWS10/Win10-boot-mbr.zmg -ap=a1:p1 -legacyntfs
img -rp CUSTOMER/MF/DEVELOPMENT/WINDOWS10/win10-part2.zmg -ap=a1:p2
img -rp CUSTOMER/MF/DEVELOPMENT/WINDOWS10/Win10-base.zmg
img
img
img
img
-rp
-rp
-rp
-rp
CUSTOMER/MF/DEVELOPMENT/WINDOWS10/WIN10-SYSPREP.zmg -ap=a2:p4
CUSTOMER/MF/DEVELOPMENT/WINDOWS10/WIN10-NCSTOOLS.zmg -ap=a2:p4
CUSTOMER/MF/DEVELOPMENT/WINDOWS10/WIN10-VMWARE.zmg -ap=a2:p4
CUSTOMER/MF/DEVELOPMENT/WINDOWS10/WIN10-ZCM-AGENT.zmg -ap=a2:p4
sidChange -i
11.5 WriteZISD
WRITE_ZIS ()
{
#Writing Windows NetBios Name and GUID to ZIS record
zisedit ComputerName=${WSNAME}
zisedit DNSHostName=${WSNAME}
zisedit WindowsWorkgroup=*W${WORKGROUP}
}
11.6 Using variables
#DEFINE VARIABLES
BASE_IMAGE_PATH=BASE-WIN10
COMMON_IMAGE_PATH=COMMON-WIN10
HARDWARE_IMAGE_PATH=HARDWARE-WIN10
FILESYSTEM=NTFS
WORKGROUP=MICROFOCUS
IMG_WORK_DIR="${IMG_WORK_DIR:=/tmp/zen}"
IMG_LOG_FILE="${IMG_LOG_FILE:=LOG.TXT}"
11.7 HWINFO
GET_HWINFO ()
{
if [[ "$SMBIOS_PRODUCT" == *"Pro 6300"* ]];
then
HARDWARE_IMAGE=HPDC6300
echo $HARDWARE_IMAGE
echo -e "\tHardware:\t\t${HARDWARE_IMAGE}"
>>"${IMG_WORK_DIR}/${IMG_LOG_FILE}"
fi
if [[ "$SMBIOS_PRODUCT" == *"OptiPlex780"* ]];
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
141
then
HARDWARE_IMAGE=DELL780
echo -e "\tHardware:\t\t${HARDWARE_IMAGE}"
>>"${IMG_WORK_DIR}/${IMG_LOG_FILE}"
fi
if [[ "$SMBIOS_PRODUCT" == *"OptiPlex380"* ]];
then
HARDWARE_IMAGE=DELL380
echo -e "\tHardware:\t\t${HARDWARE_IMAGE}"
>>"${IMG_WORK_DIR}/${IMG_LOG_FILE}"
fi
if [[ "$SMBIOS_PRODUCT" == *"24295Q0"* ]];
then
HARDWARE_IMAGE=LENOVO530i
echo -e "\tHardware:\t\t${HARDWARE_IMAGE}"
>>"${IMG_WORK_DIR}/${IMG_LOG_FILE}"
fi
if [[ "$SMBIOS_PRODUCT" == *"VMware"* ]];
then
HARDWARE_IMAGE=VMWARE64
echo -e "\tHardware:\t\t${HARDWARE_IMAGE}"
>>"${IMG_WORK_DIR}/${IMG_LOG_FILE}"
fi
}
142
Micro Focus Partner Confidential
Imaging-Skripts (Examples)
Windows 10 Best Practices with ZCM - Documentation
Revision: Version 1.12
143
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising