473
ENGL Imaging Toolkit™ 11.0.8 for ZENworks Configuration Management

ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

ENGL Imaging Toolkit™ 11.0.8

for

ZENworks Configuration Management

Page 2: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …
Page 3: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

Table of Contents

Table of ContentsTable of Contents 3

1 Getting started 7

1.1 Overview 8

1.1.1 Build Console 8

1.1.2 Driver Management 8

1.1.3 Imaging Integration 9

1.1.4 Deployment Process 11

1.1.5 Application Delivery During the Build Process 12

1.2 System requirements 13

1.2.1 Administration machine 13

1.2.2 Deployment machine 13

1.2.3 ZENworks 15

1.3 Installation 16

1.3.1 Downloading 16

1.3.2 Installing 16

1.3.3 Upgrading 17

1.3.4 Welcome Wizard 18

1.3.5 Migrating Build Console content 18

1.4 Prerequisites 19

1.4.1 LDAP (Active Directory) 19

1.4.2 LDAP (eDirectory) 19

1.4.3 Networking 21

1.4.4 WSUS 22

1.4.5 ZENworks 22

1.5 Walkthroughs 24

1.5.1 Windows deployment 24

1.6 Updating Imaging Toolkit licenses 79

1.6.1 Update Administrative workstation 79

1.6.2 Update the imaging server 79

1.6.3 Update build process add-on images 79

2 How To? 80

3 Update the ZENworks agent 81

4 Update ENGL TFTP files (Linux/ZMG based imaging) 82

5 Configuration 83

5.1 Build Console 84

5.1.1 Starting 84

5.1.2 Tour of the Workspace 84

5.1.3 Options 87

5.1.4 File Library 89

- 3 -

Page 4: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

Table of Contents

5.1.5 Project Wizard 115

5.1.6 Deployment Wizard 151

5.1.7 Integration Wizard 154

5.1.8 Create WinPE Boot Media Wizard 159

5.1.9 Build Console Migration Tool 162

6 Implementation 164

6.1 Creating the universal base image 165

6.2 Creating a hotfixes image 167

6.3 Adding images to the server 168

6.4 Updating the TFTP server 170

6.5 Deploying applications 171

6.6 Imaging configuration files 172

6.6.1 Advanced configuration 175

7 Reference 212

7.1 Zclean 213

7.2 Zclonewiz 214

7.3 Zdrivers 215

7.4 Zgdiwiz 216

7.5 Zim 217

7.5.1 Command line usage 217

7.5.2 Caveats 218

7.5.3 Zim Script Methods 218

7.5.4 Button macros 343

7.5.5 Colour usage 344

7.5.6 Reserved Variables 345

7.5.7 Text editor language syntax files 349

7.6 Zimageprep 351

7.7 Zisdwiz 352

7.8 Zmainrun 355

7.9 Zrun 356

7.10 Zshutdwn 357

7.11 Ztftpclient 359

7.12 Ztoolkit Control 360

7.12.1 ENGL.Ztoolkit.LDAP 361

7.12.2 ENGL.Ztoolkit.Monitor 387

7.12.3 ENGL.Ztoolkit.Utils 393

7.12.4 ENGL.Ztoolkit.ZENworks 437

7.13 Ztrace 463

7.14 Zupdate 464

7.15 Zwinwiz 465

- 4 -

Page 5: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

Table of Contents

8 Support 467

9 ENGL software licence 468

- 5 -

Page 6: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …
Page 7: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1 Getting startedThis section introduces you to Imaging Toolkit, system requirements, prerequisites and installation walkthroughs.

n Overview

n System Requirements

n Installation

n Prerequisites

n Walkthroughs

ENGL strongly recommend reviewing the product walkthroughs, which provide a step-by-step guide to creating and configuring a fully automated Windows deployment process.

- 7 -

Page 8: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.1 OverviewENGL Imaging Toolkit 11.0.8 is an automated Windows deployment solution that includes driver management for ZENworks Configuration Management (ZCM). Imaging Toolkit uses a flexible deployment process that automates the installation and configuration of Windows 10, 8.x, 7, Server 2016, Server 2012 R2, Server 2012 and Server 2008 R2.

1.1.1 Build ConsoleThe Imaging Toolkit management tool is named Build Console and is run from the administrative machine where Imaging Toolkit is installed.

Media including the Windows operating system, Novell Client, ZENworks Agent and LDAP certificates can be imported into the File Library. Once media is imported into the File Library it can be included in one or more projects.

The Project Wizard creates a new project that contains all necessary information required to deploy Windows in your environment. Once a project has been opened, an advanced view named the Expert View is available, allowing all project settings to be modified. Build Console includes project validation that detects configuration errors and warnings.

The Deployment Wizard reads the configuration of an open project and outputs a process to create a single Universal Base Image for a given Windows version. The Deployment Wizard can also create separate images to deliver the Imaging Toolkit software and configuration, hardware drivers, and other components that are required by ZENworks Configuration Management (ZCM). The benefit of using overlay images is that changes can be made to the separate components without having to modify the Windows base image. This is particularly important in multi-site environments where images need to be replicated to more than one site.

Windows updates can be installed when the Universal Base Image is created based on the configuration set in the Deployment Wizard. Windows updates can also be automatically installed during the Deployment Process to ensure the latest available updates are installed.

1.1.2 Driver ManagementImaging Toolkit includes Driver Management that takes care of all of the deployment challenges presented by Windows OEM drivers. The deployment process created by Build Console will be identical for all types of machine being deployed, the key variation will be the OEM drivers required for each hardware platform.

In order for a machine to deploy without requiring manual intervention all of the hardware drivers must install successfully and silently. Imaging Toolkit will match drivers to a specific piece of hardware based on the machine's manufacturer and the version of Windows being deployed. This approach combined with the analysis process ensures that drivers are installed and configured correctly during the deployment process. Figure 1 provides an overview of the Driver Management process used in Imaging Toolkit.

- 8 -

Page 9: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Figure 1:

1. Hardware inventory is gathered using the Imaging Toolkit hardware inventory scanner and imported into Build Console

2. Once the inventory has been imported a search for drivers can be initiated for the Windows version and platform that will be deployed, for example Windows 10 64-bit.

3. Build Console will then download all of the required drivers.

4. The analysis process checks each driver package and establishes the best deployment method for that driver.

5. The drivers are then packaged up into a driver image for the specified machine and can used in the deployment process

1.1.3 Imaging IntegrationImaging Toolkit can integrate with ZCM to provide a secure, user-friendly, menu driven imaging front-end. The Integration Wizard in Build Console performs the imaging integration and configures Zim (imaging front-end).

Figure 2 below illustrates where the Zim imaging front-end integrates in the PXE (network) boot environment stack with ZCM. When a machine is to be deployed and PXE booted, Zim will display an imaging menu that provides options to start the deployment process based on the projects created by Build Console.

- 9 -

Page 10: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Figure 2:

The imaging environment can be secured to require authentication against an LDAP directory such as Microsoft Active Directory or NetIQ eDirectory. Additionally, information such as an asset tag or machine owner can be gathered using Zim customisable forms that are displayed at the beginning of the deployment process.

When the deployment process is initiated a set of predefined images will be restored to the machine and a fully automated deployment process will complete all of the steps required to make the machine ready for the end user. Figure 3 displays the restore order of images for BIOS (non-UEFI) and UEFI hardware. When using ZENworks native imaging (Linux / ZMG) for UEFI hardware, optionally a UEFI-specific boot image can be created by Deployment Wizard: this will allow the BIOS image to be restored to UEFI hardware.

Note: UEFI imaging requires 64-bit platform versions of Windows 10, 8.x, 7, Server 2012 R2 and Server 2012 with ZCM 11.3 and above with compatible hardware.

- 10 -

Page 11: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Figure 3:

ZCM projects can be configured with either WIM or ZMG (native ZENworks image format) images (see Options).

1.1.4 Deployment ProcessOnce the appropriate images have been restored, Windows will boot and Imaging Toolkit will perform an automated deployment process which will configure the machine based on the deployment project. The deployment process is split into 5 phases each of which perform a number of tasks. The order of the tasks has been designed to build the machine in a controlled manner and to minimise the total build time.

For a detailed description of the build process, review the Build Process.

Figure 4 shows the Imaging Toolkit deployment process in action. During the deployment process a status window and wallpapers can be displayed. The status window and wallpapers can also be customised.

- 11 -

Page 12: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Figure 4:

1.1.5 Application Delivery During the Build ProcessApplications can be installed as part of the deployment process.

For further details review Deploying Applications.

- 12 -

Page 13: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.2 System requirementsThe following system requirements must be met in order to use Imaging Toolkit.

n Administration machine

n Deployment machine

n ZENworks Configuration Management

1.2.1 Administration machineThe following minimum system requirements must be met in order to install Imaging Toolkit and launch Build Console.

Operating System Requirements Notes

n Windows 10

n Windows Server 2016

n Windows Server 2019

n 64-bit only

n .NET Framework 4.5 or above

Note: Server 2016 and Server 2019 must be installed using the Server with Desktop Experience option, the Server Core option is not supported.

Other

Hardware n Display resolution: 1024 x 768 with 256 colours

Windows Assessment and Deploy-ment Kit (ADK) for Windows 10

n Windows ADK 10 The following Windows ADK 10 components must be installed:

n Deployment Tools

n Windows Preinstallation Environment (Windows PE)

Note: Check ENGL Windows ADK Support for com-patibility and down-load links.

1.2.2 Deployment machineThe following minimum system requirements must be met to deploy Windows using Imaging Toolkit.

- 13 -

Page 14: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Operating System .NET Framework Notes

n Windows 10 Enterprise

n Windows 10 Education

n Windows 10 Professional

n Windows 8.1 Enterprise

n Windows 8.1 Professional

n Windows 8 Enterprise

n Windows 8 Professional

n Windows Server 2016

n Windows Server 2016 Core

n Windows Server 2012 R2 Datacenter

n Windows Server 2012 R2 Standard

n Windows Server 2012 Datacenter

n Windows Server 2012 Standard

See notes. The .NET Framework 4.8 (which includes .NET Framework 4.0) is already included in Windows 10.0.18362 (May 2019 Update).

The .NET Framework 4.7.2 (which includes .NET Framework 4.0) is already included in Windows 10.0.17134 (April 2018 Update).

The .NET Framework 4.7.1 (which includes .NET Framework 4.0) is already included in Windows 10.0.16299 (Fall Creators Update).

The .NET Framework 4.7 (which includes .NET Framework 4.0) is already included in Windows 10.0.14393 (Anniversary Update) Windows 10.0.15063 (Creators Update).

The .NET Framework 4.6.2 (which includes .NET Framework 4.0) is already included in Windows 10.0.14393 (Anniversary Update) and Server 2016.

The .NET Framework 4.6.1 (which includes .NET Framework 4.0) is already included in Windows 10.0.10586.

The .NET Framework 4.6 (which includes .NET Framework 4.0) is already included in Windows 10.0.10240.

The .NET Framework 4.5.1 (which includes .NET Framework 4.0) is already included in Windows 8.1 and Server 2012 R2.

The .NET Framework 4.5 (which includes .NET Framework 4.0) is already included in Windows 8 and Server 2012.

The .NET Framework 3.5.1 (3.5 SP1) feature will be enabled automatically during the Imaging Toolkit base image creation process.

- 14 -

Page 15: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: NET Framework 4.7 cannot be installed on Server 2012 due to missing depend-encies.

n Windows 7 Enterprise

n Windows 7 Ultimate

n Windows 7 Professional

n Windows Server 2008 R2

The .NET Framework 4.0 or above media must be imported into the File Library and specified in the project settings.

The .NET Framework 4.0 will be installed automatically during the Imaging Toolkit base image creation process.

Note: n Windows 7 SP1 and

Server 2008 R2 sup-port .NET Framework 4.5, 4.6, 4.7.1 and 4.7.2, all of which include .NET Frame-work 4.0.

n .NET Framework 4.7 cannot be installed on Windows 7 SP1 or Server 2008 R2 due to missing depend-encies.

Note: n Windows media must be VLA or Select licensed.

n European "N" versions of the listed Windows media are also supported.

n Windows media that has been modified by a 3rd party application is not supported.

n Split WIM files / multiple CD installations are not supported. You must provide a single bootable DVD media (or a file system copy of the same).

n Windows media created by the "Windows media creation tool" is not supported.

1.2.3 ZENworksPlease visit the Imaging Toolkit compatibility web page for the latest information on supported ZENworks versions.

Note: n UEFI imaging is supported when used with Windows 7 (and above) 64-bit platform versions or Server 2012 (and above) in

conjunction with ZENworks 11.3 or above. Imaging Toolkit supports the restore of MBR (Master Boot Record) images to both BIOS hardware and UEFI hardware configured in "legacy" mode.

n For a list of supported/required .NET Framework versions, please review the deployment machine requirements.

n ZENworks Agents must match the version of ZENworks in use. For example, the ZENworks 11.4.1 Agent can only be used with ZENworks 11.4.1.

n Use the Standalone agent installation package only. Do not use the With .NET package.

- 15 -

Page 16: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.3 InstallationThis section describes the steps required to install Imaging Toolkit on an Administrator machine. Before performing these steps you should familiarise yourself with System Requirements.

The following tasks are used to install or upgrade Imaging Toolkit.

n Downloading

n Installing

n Upgrading

n Welcome Wizard

n Migrating Build Console content

1.3.1 DownloadingThe following tasks must be completed to download the latest version of Imaging Toolkit.

1. Visit the ENGL web site at www.engl.co.uk

2. New users should click Login then Register Me and following on screen instructions to activate their ENGL user account.

3. Login to the ENGL web site.

4. Select My ENGL>Product Downloads.

5. Click the Download link for Imaging Toolkit 11.0.8.

6. Carefully read the license agreement. Click Yes to accept the terms of the license agreement or No to cancel the download.

7. Click an available link to begin the download.

1.3.2 InstallingThe following steps are required to install Imaging Toolkit.

1. Install Windows Assessment and Deployment Kit (ADK) for Windows 10 with the following features: n Deployment Tools

n Windows Preinstallation Environment (Windows PE)

Note: n Check Microsoft compatibility requirements for the Windows 10 ADK version being installed.

n Starting with Windows 10, version 1809, Windows Preinstallation Environment (PE) is released separately from the Assessment and Deployment Kit (ADK). To add Windows PE to your ADK installation, download the Windows PE Addon and run the included installer after installing the ADK.

2. Run the Imaging Toolkit 11.0.8 setup EXE and follow these steps. a. At the Welcome page, click Next.

b. At the License Agreement page, read the license agreement and do one of the following: n Select I Accept the Terms of the License Agreement then click Next.

OR

n Select I Do Not Accept the Terms of the License Agreement then click Next.

Note: If the license agreement is not accepted the setup will exit.

c. At the Choose Destination Location page, click Next to accept the default path or Change to specify a different install-ation path then click Next.

d. At the Ready to Install the Program page, click Install.

Setup Status will be displayed during installation.

- 16 -

Page 17: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

e. At the Installation Wizard Complete page, click Finish.

f. Run Imaging Toolkit Build Console and complete the Welcome Wizard.

1.3.3 Upgrading

Upgrading from Imaging Toolkit 11.x to 11.0.8The following tasks must be completed to upgrade from Imaging Toolkit 11.x.

1. Run the Imaging Toolkit 11.0.8 setup EXE and follow these steps. a. At the Welcome page, click Next.

Setup Status will be displayed during upgrade.

b. At the Update Complete page, click Finish.

2. Run Imaging Toolkit Build Console.

3. For every deployment project complete the following steps: a. Select Open Existing Project from the Task View and select the existing project file.

b. Run Deployment Wizard to recreate build process (ztoolkit) image.

4. Run Integration Wizard to configure Zim by updating Zim binaries and license files in the server TFTP folder.

5. When restoring a cloned image, the build process (ztoolkit) image must also be restored to ensure the ENGL build engine and other binaries are updated.

Upgrading from Imaging Toolkit 10.x to 11.0.8

Warning: Following an upgrade to Imaging Toolkit 11.0.8, Windows media and Driver Packs will not be displayed in Build Console if Windows versions do not meet deployment machine requirements.

The following tasks must be completed to upgrade from Imaging Toolkit 10.x.

1. Visit the My ENGL web page, select My Licenses and ensure you have a valid Imaging Toolkit 11.0.8 license before starting the upgrade.

2. Run the Imaging Toolkit 11.0.8 setup EXE and follow these steps. a. At the Welcome page, click Next.

Setup Status will be displayed during upgrade.

b. At the Update Complete page, click Finish.

3. Run Imaging Toolkit Build Console.

4. Select the appropriate Desktop Management solution and image format.

5. For every deployment project complete the following steps: a. Select Open Existing Project from the Task View and select the existing project file.

b. Run Deployment Wizard to recreate build process (ztoolkit) image.

6. Run Integration Wizard to configure Zim by updating Zim binaries and license files in the server TFTP folder.

7. When restoring a cloned image, the build process (ztoolkit) image must also be restored to ensure the ENGL build engine and other binaries are updated.

Note: n After any upgrade of Imaging Toolkit, the next time that Build Console is started, a Check for Updates is automatically per-

formed.

n Since Imaging Toolkit 10.0.3, driver images are created with an encrypted configuration file. After upgrading to Imaging Toolkit 11.0.8, the Deployment Wizard must be used to recreate the Ztoolkit build process add-on image to ensure that driver images will be correctly processed and installed.

- 17 -

Page 18: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

n Since Imaging Toolkit 10.0.3, file names of base images, UEFI boot images and unattended boot ISO's will include the Win-dows 10 build number.

n If you previously upgraded to Imaging Toolkit 9, but did not recreate your old base images, see TID-2014019: Using base images created with Imaging Toolkit 8, in projects deployed using Imaging Toolkit 10, or Imaging Toolkit 9 for details of how to include .NET with your deployments.

n After upgrading to Imaging Toolkit 11.0.8, Deployment Monitor 1.0 servers must be upgraded to Deployment Monitor 2.0 to ensure status updates continue to be sent.

n Projects created using Custom deployment solution in Imaging Toolkit 10.0.9 must be configured to use ENGL Deployment.

1.3.4 Welcome WizardThe following tasks must be completed the first time Build Console is run in order to complete the Welcome Wizard.

1. At the Welcome page, click Next.

2. At the Licensing page, do one of the following: a. Select Request Evaluation License to request a restricted evaluation license then complete the following:

n Username Specifies your ENGL website username.

Note: If you have not previously registered a username on the ENGL website, click Create Account.

n Password Specifies your ENGL website password.

Note: If you have a previously registered user account but have forgotten your password, click Forgot Password.

b. Select Enter License Key if you have received a license code from ENGL. n Paste in the license key.

c. Click Next.

d. If license activation was successful a confirmation message will appear, then click OK.

Note: If an Evaluation license key is used, there are certain restrictions applied to the use of the Imaging Toolkit, which include:

n In the Build Console, only 4 machines can exist in the File Library, only 5 driver searches are allowed, and searching for drivers for multiple machines is disabled

n Zim header and footer is always displayed, and colours are not configurable

n During the Build process, the keyboard and mouse cannot be locked, nor can sound be disabled. A status dialog is displayed, and the reboot delay is fixed at 5 seconds

n Reminders will be shown to indicate that Imaging Toolkit is currently being evaluated

These limitations are removed once a valid non-evaluation key is used.

3. At the Integration Settings page, select the appropriate Desktop Management solution and image format, then click Next.

4. At the Folders page, change default folder paths as required, then click Next.

5. At the Completed page, click Finish.

Build Console starts.

1.3.5 Migrating Build Console contentWhen installing Build Console on a new machine with the intention to move File Library and Project content from another Build Console machine, the Build Console Migration Tool can be used to simplify the migration process.

- 18 -

Page 19: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.4 PrerequisitesThe precise prerequisites will depend on the Desktop Management environment but ensure that you check each of the following sections:

n LDAP (Active Directory)

n LDAP (eDirectory)

n Network

n WSUS

n ZENworks Configuration Management

1.4.1 LDAP (Active Directory)The following prerequisites must be met in order to use LDAP connectivity to Active Directory and must be completed before continuing.

n Connecting to an Active Directory LDAP Server

n Additional configuration for Zim authentication

Connecting to an Active Directory LDAP ServerActive Directory Domain controllers will natively support unsecured LDAP communications and no further server configuration is required. If secure LDAP communication is required the relevant certificate will need to be exported from an Active Directory Domain controller.

1. Run the Microsoft Management Console on the server and add the Certificates snapin for the local computer account

2. Select the Personal certificate store, right click the relevant certificate and select All Tasks > Export

Note: The certificate should be named as the fully qualified DNS name of the server.

3. Click Next, do not export the private key, click Next again and select DER encoded binary X.509 (.cer) then click Next again

4. For the File name enter rootcert.der and click Next then click Finish

5. Save the rootcert.der file into a directory on the Administration machine.

6. Use the Build Console Add LDAP Certificate task to import the certificate into the File Library Note: The Build Console will prompt for this certificate if the option for secure LDAP is selected.

Additional configuration for Zim authenticationTo secure the imaging environment, Zim can display an LDAP contextless login box using LDAP:LoginBox functions.

When searching for users in Active Directory, Zim uses an LDAP proxy user to read a specified attribute for each user account as defined in the search order (see LDAP:AddSearch). When using Active Directory you must specify the proxy user's DN, password and the attribute used to search for user accounts.

1. Edit your Zim.cfg and ensure that before you call Ldap:Init() you have set the following variables:

n _LdapLogin_BindUsername

n _LdapLogin_BindPassword

n _LdapLogin_SearchAttribute

1.4.2 LDAP (eDirectory)The following prerequisites must be met in order to use LDAP connectivity to eDirectory and must be completed before continuing.

- 19 -

Page 20: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

The ENGL Imaging Toolkit utilises LDAP in order to secure ZENworks Imaging. If you are not authenticating users to Zim using LDAP this section can be skipped.

n Configuring the eDirectory LDAP Server

n Configuring the eDirectory LDAP Server (SSL/TLS)

n Assigning eDirectory Rights to [Public] to Support LDAP Contextless Login

Configuring the eDirectory LDAP Server

Warning: Do NOT change any LDAP/eDirectory server configuration setting unless you are absolutely sure what will be affected by the changes.

To establish an unsecured LDAP connection the LDAP server must be configured to allow clear text authentication. iManager should be used to check the LDAP Group and Server object configuration as follows:

1. Using iManager, open the LDAP Role and select the LDAP Options task.

2. Select the appropriate LDAP group object.

3. Ensure Require TLS for Simple Binds with Password is not checked.

4. Click OK.

5. Select the LDAP Options task again.

6. Select the appropriate LDAP Server.

7. Select the Connections tab.

8. Ensure Require TLS for All Operations is not checked.

9. Click Apply.

10. Select the Information page.

11. Click Refresh.

Configuring the eDirectory LDAP Server (SSL/TLS)To establish a secure LDAP connection the LDAP server must be configured to allow secure authentication. iManager should be used to check that the LDAP Group and Server objects are configured correctly. The eDirectory trusted root certificate must also be exported to a .DER file. This can be achieved by performing the following steps:

1. Using iManager, open the LDAP Role and select the LDAP Options task.

2. Select the appropriate LDAP group object.

3. Ensure Require TLS for Simple Binds with Password is checked.

4. Click OK.

5. Select the LDAP Options task again.

6. Select the appropriate LDAP Server.

7. Select the Connections tab.

8. Ensure Require TLS for All Operations is checked.

9. Click Apply.

10. Select the Information page.

11. Click Refresh.

12. Within iManager select the Novell Certificate Server role.

13. Select the Configure Certificate Authority task.

14. Click the Certificates tab.

15. Select the Self Signed Certificate and select Export.

16. Deselect Export private key and ensure the Export format is DER.

- 20 -

Page 21: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

17. Click Next.

18. Click the Save the exported certificate link.

19. Save the cert.der file into a directory on the administration machine.

20. Use the Build Console, select the Add LDAP Certificate task to import the certificate into the File Library.

Note: The Build Console will prompt for this certificate if the option for secure LDAP is selected.

Assigning eDirectory Rights to [Public] to Support LDAP Contextless LoginTo secure the ZENworks Linux imaging environment, Zim can display an LDAP contextless login box using LDAP:LoginBox functions.

When searching for users, Zim uses an LDAP anonymous bind (unless _LDAPLOGIN_BINDUSERNAME and _LDAPLOGIN_BINDPASSWORD have been specified) to read the CN (or, if specified, _LDAPLOGIN_SEARCHATTRIBUTE) attribute for each user account as defined in the search order (see LDAP:AddSearch).

When using eDirectory an anonymous bind inherits rights from the [Public] object.

To grant the [Public] with Compare and Read rights to the CN attributes throughout the tree, perform the following steps;

1. Using iManager, select the Rights role and select the Modify Trustees task.

2. If the [Public] object does not appear in list, click Add Trustee, select the [Public] object, then click OK.

3. Click Assigned Rights for the [Public] entry.

4. Select [Entry Rights], select Browse from the Assigned Rights list, select Inherit.

5. Click Add Property.

6. Select Show all properties in schema, select CN from the list.

7. Click OK.

8. Select CN from the list, select Compare and Read, then select Inherit.

9. Click OK.

1.4.3 NetworkingDepending on your environment the following items must be configured.

n Internet access

n DHCP

n DNS

Internet AccessBuild Console requires an Internet connection to search for and download drivers. If not using a local WSUS server, Zimageprep and Zupdate require an Internet connection to search for Windows Updates.

Note: n Access is required over http, https and ftp to download driver files from vendor websites.

n Access is required for *.engl.co.uk for driver search queries, product updates and licensing.

n Driver source files can also be manually imported.

DHCPThe ENGL Imaging Toolkit is designed for use in an environment where IP addresses are delivered using DHCP.

Where IP addresses are configured on a per machine basis without using DHCP, ENGL recommends using a DHCP server solution where IP addresses are delivered based on the MAC address of the machine. This has all the benefits of static IP addressing without the concerns of potential address duplication.

- 21 -

Page 22: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

DNSCorrectly configured DNS entries are required by the ZENworks Agent and Novell Client to reduce the likelihood of login failures during the build process.

Note: It is essential that the ZENworks Configuration Management server address can be resolved by devices when using the subject of the ZENworks server certificate. The server certificate must not contain an IP address.

1.4.4 WSUSIn order to use WSUS to deliver Windows Updates the following items must be configured.

n WSUS Target Group

WSUS Target GroupComplete the following steps in the WSUS Console:

1. Create a target group in the console.

2. Ensure Options | Automatic Approvals has a rule to automatically approve the required Classifications for the appropriate Products for the target group.

3. Change Options | Computers to Use Group Policy or registry settings on computers.

1.4.5 ZENworksThe following prerequisites must be completed before continuing.

Note: For details on Imaging Toolkit supported ZCM versions please view the ZENworks requirements.

n Imaging

n User source

n Disable policies

ImagingImaging Toolkit supports ZENworks Native Imaging (Linux/ZMG), WinPE Imaging (WinPE/WIM) and with ZENworks 2020 or later, WinPE Imaging with ZENworks imaging engine (WinPE/ZMG) which can be configured in Global settings. To integrate Imaging Toolkit with ZENworks PXE imaging, Preboot Services must be configured in accordance with ZENworks documentation.

With ZCM 11.3 and above, base images captured on BIOS (non-UEFI) hardware can be deployed to UEFI hardware. When using ZENworks Native Imaging, a UEFI boot image can be created by the Deployment Wizard: this allows the BIOS captured image to be restored to UEFI hardware.

Note: Before following a walkthrough or using the Integration Wizard, you should ensure that ZENworks imaging is working correctly by PXE booting a test machine.

User SourceIf a ZENworks Configuration Management User source (either eDirectory or Active Directory) is configured you must designate an "Installer User" from this user source as a ZENworks administrator. This user will be used to register the device with ZENworks and to control application delivery during the build process. You must ensure that the same credentials are used to authenticate to eDirectory / Active Directory and to register the device with ZENworks.

Note: The username and password specified for the Installer user will be required by the Build Console. The domain Administrator account must not be used for domain registration or as the ZENworks Installer user.

1. Configure a user source as per the ZENworks Configuration Management documentation.

2. Create an Installer user in the source LDAP directory.

3. Login to ZENworks Control Center as an administrator.

- 22 -

Page 23: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

4. Go to the Configuration page and click New under the Administrators section.

5. Select the Based on user(s) in a user source radio button, click Add and browse for the Installer user created above.

6. Either select Give this Administrator the same rights as I have box and click OK.

OR

Specifically assign the rights within ZENworks Control Center. Ensure the Installer user has the following device and bundle rights:

Object Rights Privilege Required

Device Rights Modify Yes

Create/Delete Yes

Modify Groups Yes

Modify Group Memberships Yes

Modify Folders If using MoveZcmDevice or MoveZcmDeviceByUid in phase scripts

Modify Settings Yes

Assign Bundles If using AssignZcmBundle in phase scripts

Bundle Rights Assign Bundles If using AssignZcmBundle in phase scripts

Disable PoliciesIf a Dynamic Local User (DLU) or Windows Group Policy has been defined in ZENworks these must be disabled during the Imaging Toolkit build process:

1. Open the relevant DLU or Group policy.

2. Select the Requirements tab and click Add Filter.

3. Select Registry Key Exists from the drop down list.

4. Enter \HKEY_LOCAL_MACHINE\Software\ENGL\Ztoolkit into the first option box.

5. Select No in the second option box.

6. Click Apply.

- 23 -

Page 24: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.5 WalkthroughsThe following step-by-step walkthroughs will help you to create and configure a Windows deployment process.

n Creating a Windows Deployment

n Updating Imaging Toolkit licenses

For common tasks such as updating media components and images, review the How To? section:

n How To?

1.5.1 Windows deploymentThe following step-by-step walkthroughs have been created to help you create an automated Windows deployment for ZENworks Configuration Management.

Note: See ZENworks requirements for Windows version deployment compatibility.

Linux / ZMG (ZENworks native imaging)

n Windows 10

n Windows 8

n Windows 7 SP1

WinPE / WIM (Windows image format)

n Windows 10

n Windows 8

n Windows 7 SP1

WinPE / ZMG (WinPE with ZENworks imaging engine)

n Windows 10

n Windows 8

n Windows 7 SP1

- 24 -

Page 25: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 10 deployment for ZENworks (Linux/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 10 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (Linux/ZMG) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 10 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 25 -

Page 26: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 10 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 10 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win10-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 26 -

Page 27: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 10 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, Install Windows updates, and Remove default and consumer Windows applic-ations, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Windows Built-in applications page, select the Applications to Remove or Applications to Retain during base image preparation process.

7. Click Next.

- 27 -

Page 28: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

8. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

n UEFI boot image

Note: UEFI deployment is only available for 64-bit Windows platforms with ZCM 11.3 and above.

9. Select the required machine models from the Driver images page and click Next.

10. Click Next.

11. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

12. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Select Download initrd containing Zim integration hook and select the version of ZENworks you are using (including any Imaging patches).

7. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

8. Select all four options from the Zim Integration Options page then click Next.

9. From the list of projects select the Windows 10 for ZCM project then click Next.

10. At the Zim Login Method page, select None for the Login Method, then click Next.

11. At the Zim Restore Menu page, leave the default options, then click Next.

12. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

13. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

14. Leave the default options on the Zim Maintenance Menu page and click Next.

15. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

16. At the Integration Progress page click Next.

17. Ensure the Open integration folder option is selected and click Finish.

- 28 -

Page 29: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

18. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

19. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 10 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 10 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select Start ZENworks Imaging Maintenance and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 10 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

- 29 -

Page 30: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: Ensure the directory specified in Image path exists on the server.

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 10.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 10 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 30 -

Page 31: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 10 deployment for ZENworks (WinPE/WIM)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 10 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/WIM) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 10 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 31 -

Page 32: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 10 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 10 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win10-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 32 -

Page 33: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 10 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, Install Windows updates, and Remove default and consumer Windows applic-ations, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Windows Built-in applications page, select the Applications to Remove or Applications to Retain during base image preparation process.

7. Click Next.

- 33 -

Page 34: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

8. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.wim)

n Build process (ztoolkit.wim)

9. Select the required machine models from the Driver images page and click Next.

10. Click Next.

11. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

12. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the images share on the ZCM server, for example \\<server>\images

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 10 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, specify the full UNC Path and provide Credentials to a share containing the WIM image files, then click Next.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

- 34 -

Page 35: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 10 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 10 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select ENGL WinPE environment and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 10 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

h. Ensure C: is selected from the list of Partitions.

i. Click OK to start the image capture.

j. Once the image capture has completed the Main Menu will appear.

- 35 -

Page 36: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Deploy WindowsThe following are steps to deploy Windows 10.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 10 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 36 -

Page 37: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 10 deployment for ZENworks (WinPE/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 10 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/ZMG).

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 10 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 37 -

Page 38: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 10 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 10 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win10-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 38 -

Page 39: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 10 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, Install Windows updates, and Remove default and consumer Windows applic-ations, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Windows Built-in applications page, select the Applications to Remove or Applications to Retain during base image preparation process.

7. Click Next.

- 39 -

Page 40: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

8. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

9. Select the required machine models from the Driver images page and click Next.

10. Click Next.

11. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

12. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server.

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 10 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

- 40 -

Page 41: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 10 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 10 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 10 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

- 41 -

Page 42: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 10.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 10 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 42 -

Page 43: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 8 deployment for ZENworks (Linux/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 8 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (Linux/ZMG) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 8 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 43 -

Page 44: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 8 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 8 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win8-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 44 -

Page 45: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 8 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

n UEFI boot image

- 45 -

Page 46: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: UEFI deployment is only available for 64-bit Windows platforms with ZCM 11.3 and above.

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Select Download initrd containing Zim integration hook and select the version of ZENworks you are using (including any Imaging patches).

7. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

8. Select all four options from the Zim Integration Options page then click Next.

9. From the list of projects select the Windows 8 for ZCM project then click Next.

10. At the Zim Login Method page, select None for the Login Method, then click Next.

11. At the Zim Restore Menu page, leave the default options, then click Next.

12. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

13. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

14. Leave the default options on the Zim Maintenance Menu page and click Next.

15. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

16. At the Integration Progress page click Next.

17. Ensure the Open integration folder option is selected and click Finish.

18. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

19. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

- 46 -

Page 47: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 8 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 8 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select Start ZENworks Imaging Maintenance and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 8 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 8.

- 47 -

Page 48: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 8 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 48 -

Page 49: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 8 deployment for ZENworks (WinPE/WIM)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 8 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/WIM) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 8 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 49 -

Page 50: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 8 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 8 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win8-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 50 -

Page 51: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 8 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.wim)

n Build process (ztoolkit.wim)

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

- 51 -

Page 52: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the images share on the ZCM server, for example \\<server>\images

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 8 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, specify the full UNC Path and provide Credentials to a share containing the WIM image files, then click Next.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

- 52 -

Page 53: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 8 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 8 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select ENGL WinPE environment and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 8 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

h. Ensure C: is selected from the list of Partitions.

i. Click OK to start the image capture.

j. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 8.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

- 53 -

Page 54: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

a. Select the Restore menu.

b. Select Windows 8 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 54 -

Page 55: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 8 deployment for ZENworks (WinPE/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 8 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/ZMG).

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 8 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 55 -

Page 56: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 8 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

9. At the Project Details page, enter a project description, for example Windows 8 for ZCM, then click Next.

10. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

11. When prompted save the project file as win8-<edition>-zcm.

12. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

13. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and

- 56 -

Page 57: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

select the Monitor Server from the list.

d. Save the project.

14. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 8 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

- 57 -

Page 58: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server.

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 8 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

- 58 -

Page 59: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 8 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 8 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 8 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 8.

- 59 -

Page 60: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 8 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 60 -

Page 61: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 7 SP1 deployment for ZENworks (Linux/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 7 SP1 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (Linux/ZMG) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 7 SP1 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 61 -

Page 62: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding .NET Framework media

a. Select the Add .NET Framework task from the Task View.

b. Browse to a directory containing the .NET Framework 4.5 (or later) full offline re-distributable media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

3. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 7 SP1 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the .NET Framework Requirement page, select a .NET Framework 4 package then click Next.

9. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

10. At the Project Details page, enter a project description, for example Windows 7 SP1 for ZCM, then click Next.

11. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

12. When prompted save the project file as win7-sp1-<edition>-zcm.

13. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

14. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

- 62 -

Page 63: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and select the Monitor Server from the list.

d. Save the project.

15. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 7 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

- 63 -

Page 64: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

n UEFI boot image

Note: UEFI deployment is only available for 64-bit Windows platforms with ZCM 11.3 and above.

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Select Download initrd containing Zim integration hook and select the version of ZENworks you are using (including any Imaging patches).

7. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

8. Select all four options from the Zim Integration Options page then click Next.

9. From the list of projects select the Windows 7 for ZCM project then click Next.

10. At the Zim Login Method page, select None for the Login Method, then click Next.

11. At the Zim Restore Menu page, leave the default options, then click Next.

12. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

13. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

14. Leave the default options on the Zim Maintenance Menu page and click Next.

15. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

16. At the Integration Progress page click Next.

17. Ensure the Open integration folder option is selected and click Finish.

- 64 -

Page 65: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

18. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

19. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 7 SP1 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 7 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select Start ZENworks Imaging Maintenance and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 7 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

- 65 -

Page 66: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: Ensure the directory specified in Image path exists on the server.

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 7.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 7 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 66 -

Page 67: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 7 SP1 deployment for ZENworks (WinPE/WIM)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 7 SP1 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/WIM) .

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 7 SP1 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 67 -

Page 68: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding .NET Framework media

a. Select the Add .NET Framework task from the Task View.

b. Browse to a directory containing the .NET Framework 4.5 (or later) full offline re-distributable media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

3. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 7 SP1 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the .NET Framework Requirement page, select a .NET Framework 4 package then click Next.

9. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

10. At the Project Details page, enter a project description, for example Windows 7 SP1 for ZCM, then click Next.

11. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

12. When prompted save the project file as win7-sp1-<edition>-zcm.

13. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

14. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

- 68 -

Page 69: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and select the Monitor Server from the list.

d. Save the project.

15. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 7 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

- 69 -

Page 70: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.wim)

n Build process (ztoolkit.wim)

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the images share on the ZCM server, for example \\<server>\images

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 7 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, specify the full UNC Path and provide Credentials to a share containing the WIM image files, then click Next.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

- 70 -

Page 71: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 7 SP1 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 7 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select ENGL WinPE environment and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 7 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

- 71 -

Page 72: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

h. Ensure C: is selected from the list of Partitions.

i. Click OK to start the image capture.

j. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 7.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 7 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 72 -

Page 73: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Windows 7 SP1 deployment for ZENworks (WinPE/ZMG)This walkthrough will complete the following steps:

n Specify desktop management solution

n Add Deployment Monitor server

n Add required media

n Create project

n Discover drivers

n Deployment Wizard

n Imaging integration

n Add applications

n Create base image

n Deploy Windows

Note: Ensure the prerequisite actions have been completed and a version of ZENworks is installed and configured that meets the requirements for deployment of Windows 7 SP1 before starting this walkthrough.

Specify Desktop Management SolutionThe following are steps to specify the desktop management solution.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration.

3. Select ZENworks Configuration Management (WinPE/ZMG).

4. Click OK to save the changes.

Add Deployment Monitor serverThe following are steps to add Deployment Monitor servers to Build Console.

Note: ENGL Deployment Monitor is a separately licensed product. Skip this step if you do not have a Deployment Monitor license. For more information visit the ENGL Deployment Monitor product page.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Monitoring.

3. Click Add, enter a Description, Hostname and Port for the Deployment Monitor server, then click OK.

4. Click Test Servers to ensure the Deployment Monitor server is available and licensed.

Add Required MediaThe following are steps add media to the File Library.

1. Adding Windows media

a. Select the Add Windows Media task from the Task View.

b. Browse to a directory containing the Windows 7 SP1 media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

- 73 -

Page 74: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

2. Adding .NET Framework media

a. Select the Add .NET Framework task from the Task View.

b. Browse to a directory containing the .NET Framework 4.5 (or later) full offline re-distributable media then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

3. Adding ZENworks Agent

a. Select the Add ZENworks Agent task from the Task View.

b. Browse to a directory containing the ZENworks Agent then click Next.

c. At the import confirmation window click Yes to import the media.

d. Click Finish.

Create ProjectThe following are steps to create a new project.

1. Click Create new project in the Task View.

2. At the Welcome page, click Next.

3. At the Desktop Management Version page, select your installed ZENworks version from the list of Desktop Management versions then click Next.

4. At the Windows Media page, select Windows 7 SP1 from the list of Windows Operating Systems then click Next.

Note: Windows operating system descriptions may differ based on the Windows version and edition that have been impor-ted.

5. At the Windows Details page, complete the Windows Licensing details and enter a password for the local Administrator account (used during base image creation) in the Windows Login Credentials section, then click Next.

6. At the Novell Client page, click Next as the Novell Client is not required in this scenario.

7. At the ZENworks Agent page, select Install ZENworks Agent, complete the details for your ZENworks environment , select Install applications during build process, then click Next.

Note: This Walkthrough assumes that a User Source is configured for the Zone

8. At the .NET Framework Requirement page, select a .NET Framework 4 package then click Next.

9. At the Active Directory page, select Join Active Directory, complete the details for your Active Directory environment, then click Next.

10. At the Project Details page, enter a project description, for example Windows 7 SP1 for ZCM, then click Next.

11. At the Finish page, ensure Launch Deployment Wizard is not selected then click Finish.

12. When prompted save the project file as win7-sp1-<edition>-zcm.

13. Review the project properties in the Expert View and consider whether the following settings should be altered in a pro-duction environment.

n Customisation > Error detection Specifies how a critical error is handled that would otherwise cause the build pro-cess to fail (default True).

n Customisation > Lockdown Specifies whether the keyboard and mouse are disabled during the build process (default False).

n Customisation > Post-build > Cleanup Specifies whether Imaging Toolkit files are removed from the deployed machine at the end of the build process (default False).

n Customisation > Trace window Specifies whether a trace window is displayed during the build process (default True).

14. To configure a Deployment Monitor server to receive status progress updates during deployment, follow the steps below:

- 74 -

Page 75: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

a. Ensure the project is open then select the Expert View.

b. Select Customisation>Monitoring.

c. In the Deployment Monitor Server properties, set Enabled to True, set Include detailed status updates to True and select the Monitor Server from the list.

d. Save the project.

15. From the Tools menu, select Validate Project Settings, if any errors are reported resolve those errors and save the project.

Discover DriversThe following are steps to discover machine drivers.

1. Run Zdrivers on the hardware platform(s) to be deployed.

2. Click the Add Drivers button in the Task View.

3. Select Machine then click Next.

4. Select Zdrivers inventory report (XML) files.

5. Select Import a single Zdrivers XML file and specify a path to the Zdrivers hardware scan XML file.

6. Ensure Search for drivers is selected then click Next.

7. When prompted click Yes to import the machine into the File Library.

8. Select Windows 7 from the Windows Operating System list and click Next.

9. Click Next to search for drivers.

10. Select all available drivers and click Next to download the driver source files.

Note: This may take some time.

11. Click Finish.

Deployment WizardThe following are steps to run the Deployment Wizard.

1. In the global toolbar, click to launch the Deployment Wizard.

2. At the Welcome page, click Next.

3. At the Task Selection page, select Base image preparation, Build process creation and Driver Images then click Next.

4. At the Unattended Windows Installation page, select Boot from Windows media, Automatically prepare the machine for imaging after unattended installation, and Install Windows updates, then click Next.

Note: If you want to create the base image on UEFI hardware, select the Install on UEFI hardware option. If this option is selected the base image that is created can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option, and create the image using a BIOS machine.

5. At the Windows Update Installation page, select Critical / Security updates and select Windows Update as the Update source, then click Next.

Note: n All updates will install Windows updates from all update classifications with the exception of language packs and

preview updates. Critical / Security updates will install Windows updates from just the Critical and Security update classifications.

- 75 -

Page 76: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

n WSUS can be used as the Update source once the WSUS prerequisites have been completed.

6. At the Image Selection page, select the following images then click Next. n Novell Components (novcomp.zmg)

n Build process (ztoolkit.zmg)

7. Select the required machine models from the Driver images page and click Next.

8. Click Next.

9. Once the Deployment Wizard has completed, leave the default options selected and then click Finish.

10. Once Windows Explorer has opened the images folder: a. Copy the image files directory structure to the content-repo/images folder on the ZENworks server.

Note: See Adding images to the server for more details.

Imaging IntegrationThe following are steps to integrate with ZCM PXE for imaging:

1. In the global toolbar, click to launch the Integration Wizard.

2. Click Next.

3. Select your installed ZENworks version from the list of Desktop Management solutions then click Next.

4. Select Update imaging files, Configure Zim and Create build process bundles then click Next.

5. Enter your ZENworks server address, ZENworks administrator user and Administrative user password then click Next.

6. Specify a path to your ZENworks server TFTP source folder (if your ZCM server is Linux-based, make a copy of the /srv/tftp folder and copy it to a local drive: use this as the "TFTP source folder" in Build Console, and remember to update this copy whenever you update your ZENworks server files) and select Bypass Preboot menu then click Next.

7. Select the Windows PE Localisation language for the imaging environment then click Next.

8. Select Mass-storage Drivers to be added to the WinPE WIM then click Next.

Note: Mass Storage Drivers must be present in the File Library for the option to appear. See Mass-storage Device Drivers for more details.

9. Select all four options from the Zim Integration Options page then click Next.

10. From the list of projects select the Windows 7 for ZCM project then click Next.

11. At the Zim Login Method page, select None for the Login Method, then click Next.

12. At the Zim Restore Menu page, leave the default options, then click Next.

13. At the Zim Images Path page, leave the default options, then click Next.

Note: Leave the path blank to use the standard content-repo/images folder. See Adding images to the server for more details.

14. At the Zim Monitor Settings page, select Enabled and specify a (Deployment) Monitor Server, then click Next.

Note: Skip this step if you did not previously add a Deployment Monitor server to Options>Monitoring. For more information visit the ENGL Deployment Monitor product page.

15. Leave the default options on the Zim Maintenance Menu page and click Next.

16. At the ZENworks bundles page check the Assign bundle to ENGL Installer user option then browse for the ZENworks user you specified when creating the deployment project and click Next.

17. At the Integration Progress page click Next.

18. Ensure the Open integration folder option is selected and click Finish.

- 76 -

Page 77: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

19. Rename the existing TFTP folder on the ZENworks server and copy the TFTP folder from the <Integration_Folder> in its place.

20. Copy the images.ini file from the <Images_Folder>\drivers subdirectory to the TFTP\zimfiles folder on the ZCM server.

Add ApplicationsThe following are steps to automate application bundle deployment.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

Create Base ImageThe following are steps to create the universal base image.

1. From the Project directory open the Unattend\autounattend directory.

2. Copy the entire contents onto a blank formatted USB pen drive.

3. Put the Windows 7 SP1 DVD and the USB pen drive into a reference machine.

Warning: Disk partitions on the reference machine will be removed and reformatted.

4. When the Windows 7 installation process has completed a shutdown prompt will appear.

Note: The machine may reboot several times if the option to install Windows critical updates was selected in the Deploy-ment Wizard.

5. Shut down the machine.

Warning: Do NOT boot into Windows.

6. PXE boot the machine into ZENworks imaging.

Note: If the ZENworks Preboot Options menu is displayed, select and press ENTER.

7. From Zim, perform the following steps;

a. Select the Maintenance menu.

b. Select the Development menu.

c. Select the Make an image option.

d. Set the Image Type to OS.

e. Select the Windows 7 for ZCM project from the list.

f. Click OK.

g. The Image path and Image name will be automatically populated based on the project configuration.

Note: Ensure the directory specified in Image path exists on the server.

- 77 -

Page 78: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

h. Click OK to start the image capture.

i. Once the image capture has completed the Main Menu will appear.

Deploy WindowsThe following are steps to deploy Windows 7.

1. PXE boot the target machine into ZENworks imaging.

2. From Zim, perform the following steps;

a. Select the Restore menu.

b. Select Windows 7 for ZCM.

c. Check the information in the form and supply a valid computer name.

d. Click OK.

e. At the hard disk is about to be erased warning, click Yes.

The deployment process will begin.

- 78 -

Page 79: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

1 Getting started

1.6 Updating Imaging Toolkit licensesThis walkthrough will complete the following steps to update Imaging Toolkit licenses:

n Update Administrative workstation

n Update the imaging server

n Update build process add-on images

1.6.1 Update Administrative workstation

1. If the Imaging Toolkit license has already expired a prompt will appear stating the expiry date, click OK

or

If the Imaging Toolkit license is still valid but needs to be updated, from within Build Console select Help > Register Imaging Toolkit.

2. Paste the license code in the Register Imaging Toolkit dialog and click OK.

3. Select Help > About Build Console. The dialog will display the new license and updated expiry date.

1.6.2 Update the imaging server

1. Launch the Integration Wizard.

2. Select the appropriate Desktop Management version and click Next.

3. Select Configure Zim and click Next.

4. Select Update Zim binaries and license and click Next twice.

5. At the Finish page ensure Open integration folder is selected and click Finish.

6. Navigate to the TFTP\zimfiles folder and copy the engl.lic file to the ZCM server's zimfiles directory

Linux: /srv/tftp/zimfiles

Windows: %ZENWORKS_HOME%\share\tftp\zimfiles

1.6.3 Update build process add-on images

1. From with Build Console, open an existing deployment project.

2. Launch the Deployment Wizard and click Next.

3. Select Build process creation from the Deployment Tasks page and click Next.

4. Select Build process (ztoolkit.wim | zmg) from the Build Process Image Creation page and click Next twice.

5. When the confirmation dialog appears click OK.

6. At the Finish page, ensure Open images folder is selected and click Finish.

7. Navigate to the projects\<project directory> folder and copy the ztoolkit.wim | zmg to the <project directory> on the ZCM server, i.e. the content-repo/images/<project directory> folder.

- 79 -

Page 80: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

2 How To?

2 How To?The following sections provide how-to steps for common tasks:

n Update the ZENworks agent

n Update the ENGL TFTP files (Linux/ZMG based imaging)

- 80 -

Page 81: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

3 Update the ZENworks agent

3 Update the ZENworks agentThe following steps are required to update the ZENworks agent following a ZCM upgrade or system update:

Note: Check the Imaging Toolkit compatibility page to ensure the ZCM version is supported.

1. Open Build Console and run Help > Check for updates to obtain the latest supported version information.

2. Go to http://yourprimaryserver/zenworks-setup and select your custom deployment package.

3. Save the ZENworks deployment package with its default filename (PreAgentPkg_AgentComplete.exe) to a directory on the Administration machine.

4. Copy the "ca.der" file from the ZENworks server's security directory to the same directory as the ZENworks deployment pack-age.

Windows Primary Server:

%ZENWORKS_HOME%\conf\security

Linux Primary Server:

/etc/opt/novell/zenworks/security

5. Click the Add ZENworks Agent button in the Task View.

6. Click the Browse button and select the folder containing the ZENworks Agent media.

7. Uncheck the Copy source files to File Library if the source path is on your local machine.

8. Click Next.

9. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Failed to indentify ZENworks Agent", verify the import path and retry the import.

10. Click Finish to close the Import Wizard.

11. Open the appropriate project in Build Console, from the Expert View select Desktop Management Solution > Version and select the ZENworks version.

12. Select ZENworks > Configuration and select the ZENworks Agent Version from the list.

13. In the global toolbar click to Validate the project settings.

14. In the global toolbar, click to start the Deployment Wizard.

15. Click Next, then select Build process creation from the Deployment Tasks page and click Next.

16. Select Novell components and Build process and click Next twice.

17. Once the process completes click OK on the Deployment has completed successfully message box.

18. Select Open images folder and click Finish.

19. Navigate to the Projects\<project name> folder and copy the updated image files (.zmg | .wim) to the projects\<project name> folder on the ZCM server.

20. Run a test deployment to ensure the build process completes with the new ZENworks agent.

- 81 -

Page 82: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

4 Update ENGL TFTP files (Linux/ZMG based imaging)

4 Update ENGL TFTP files (Linux/ZMG based imaging)The following steps are required to update ENGL TFTP files following a ZENworks imaging update when using Linux/ZMG based imaging:

1. Open Build Console and run Help > Check for updates to obtain the latest supported version information.

Note: Check the Imaging Toolkit compatibility page to ensure the imaging update is supported.

2. Download and apply the required imaging update from Micro Focus.

Note: Ensure the imaging update has applied successfully and test the PXE boot process before continuing.

3. Copy the TFTP directory from the updated ZCM server to a folder on the workstation where Build Console is running.

4. In the global toolbar, click to start the Integration Wizard.

5. Select the version of ZCM that you are using and click Next.

Note: This is the main version of ZCM that is installed, the imaging update will be selected later.

6. Select Updating Imaging Files and click Next.

7. Select Download initrd containing Zim integration hook, and select the ZENworks imaging version including the imaging update that has been applied.

8. Select Update imaging files and navigate to the folder created in step 3 above, then click Next.

9. At the The Integration was successful message, click OK.

10. Select Open integration folder and click Finish.

11. Copy the tftp folder from the Integration folder to the ZCM server.

12. PXE boot a workstation against the updated ZCM server to test the updated TFTP folder.

- 82 -

Page 83: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

5 ConfigurationThis section contains information on using Build Console to create and manage Windows deployment projects and integrate with ZCM.

n Build Console

- 83 -

Page 84: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

5.1 Build ConsoleThis section contains information about using Build Console to manage media, drivers and Windows deployment projects.

n Starting Steps to launch Build Console.

n Tour of the Workspace Introduction to the user interface.

n Options Changing global Build Console settings.

n File Library Importing media and managing drivers.

n Project Wizard Creating and migrating deployment projects.

n Deployment Wizard Creating deployment files and images from an open project.

n Integration Wizard Integrating Imaging Toolkit with imaging and application deployment.

n Create WinPE Boot Media Wizard Creating WinPE imaging USB boot media.

n Build Console Migration Tool Migrate File Library and Project content from one Build Console machine to another.

5.1.1 StartingThe following steps can be used to start Build Console.

n Windows 10 and Server 2016

Click Start > All apps > ENGL > Build Console

5.1.2 Tour of the WorkspaceThe Build Console user interface consists of the following sections:

n Menus

n Global toolbars

n Window panes

n Status bar

n Customising the workspace

MenusBuild Console's user interface includes a menu bar at the top of the program window, containing several menu options.

File

New Starts the Project Wizard where a new project can be created.

Open Opens an existing project and displays the Expert View.

Close Closes an open project.

Save Saves an open project.

Save As Saves an open project to a different path.

Exit Exits the Build Console application.

- 84 -

Page 85: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

View

Toolbars Sets the global toolbar icon size (normal or large).

Theme Sets user interface theme (black, blue or silver).

Help View Toggles display of the Help View pane.

Tools

Validate Project Settings Validates configuration settings in an open project.

Encrypt Project Passwords Hashes passwords in an open project.

Integration Wizard Starts the Integration Wizard.

Deployment Wizard Starts the Deployment Wizard.

Create WinPE Boot Media Starts the Create WinPE Boot Media Wizard.

Manage Projects Displays recently opened projects which can be removed.

Remove Unused Files Searches the file library and removes machine driver files that are no longer in use.

Create Support Zip Creates a Zip archive for the current open project containing the project XML, pro-ject folder and custom files folder. You may be requested to use this option by ENGL Technical Support to aid with troubleshooting.

Cancel Cancels an operation.

Options Displays the global options panel.

Help

Documentation Displays help.

Release Notes Displays release notes for Imaging Toolkit.

ENGL on the Web Displays the ENGL web site.

Register Imaging Toolkit Starts product activation where a valid license key can be entered. When a new license key is available follow the steps to replace an ENGL Imaging Toolkit license.

Check for Updates Forces a check for software, supported desktop management versions and driver analysis rule updates.

Driver Management Statistics Displays your driver search usage.

Display Log File Displays the Build Console log file.

About Build Console Displays the Build Console version and license details.

Global ToolbarBuild Console has a single global toolbar ("global" meaning it is always available at the top of the user interface, regardless of the window pane you are working on at the time). Tools in the Global toolbar let you perform tasks for projects, wizards, options and help.

- 85 -

Page 86: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Button / Section Description

Starts the Project Wizard where a new project can be created.

Opens an existing project and displays the Expert View.

Saves an open project.

Validates the configuration of an open project.

Starts the Deployment Wizard.

Starts the Integration Wizard.

Cancels an operation.

Displays the global options panel.

Displays help.

Window PanesBuild Console has numerous window panes in the interface that are used for a variety of purposes. When a project is opened, the Expert View pane is displayed and shares the same window space at the File Library. When project validation is performed, the Errors pane is displayed and shares the same window space as the Status Log.

- 86 -

Page 87: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Status BarAt the very bottom of the interface is a status bar. The most notable use for the status bar is to see your driver search allowance, management solution type and progress of various Build Console tasks.

Customising the WorkspaceSimply because a window pane is attached to the left or right side of the program window by default, this does not mean it has to stay there.

n Moving window panes You can move a window pane by clicking the title bar and dragging the window pane where you want it.

n Floating window panes If you drop the window pane at a random location in the program window or outside the program win-dow boundary.

n Docking window panes "Docking" a window pane means to "attach it" to a particular part of the program window. To do this, move the floating window pane by clicking in the title bar of the window pane, drag it to the edge where you want to dock it, and drop it on top of an existing window.

n Hiding window panes In the top-right corner of some window panes, you will see a small button that looks like a pin . If you click this button, the window pane is hidden (or "pinned" to the edge of the program window). However, you can still see the title of the window pane along the edge of the program window. When you hover over the title, the window pane temporarily displays again until you move the mouse off the window pane. Click the button again to "un-pin" the window pane.

n Close window panes In the top-right corner of some window panes, you will see a small button that looks like a cross . If you click this button, the window pane is closed. Select View>[Window] to display the window pane.

5.1.3 Options

The following Build Console options can be configured by selecting Tools>Options or in the global toolbar by clicking .

n General

n Folders

n Proxy Server

n Integration

n Notifications

n Monitoring

n Updates

n Logging

GeneralThe following general settings are available.

n Use Currently Logged in User as Project Author Specifies whether the project author for newly created projects will default to the current logged in user name.

n Author (Project Author) Specifies the project author for newly created projects.

n Encrypt Passwords in New Projects Specifies project passwords will be hashed.

n Prompt to Update Settings When Opening Legacy Projects Specifies whether a warning prompt will be displayed when opening a project created by an earlier version of Imaging Toolkit.

n Validate Project When Saving Specifies whether validation is performed when saving a project.

FoldersThe following default folder settings are available.

- 87 -

Page 88: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n File Library Specifies the File Library folder where imported media and downloaded drivers will be stored.

Note: Changing the File Library path will cause all File Library content to be moved. This includes imported media, machine hardware inventory scans, driver packs, drivers (downloaded and replaced), and custom driver settings.

n File Library Import Specifies the default folder used when browsing for import media or machine (Zdrivers) hardware scans.

n Images Specifies the default folder used when creating images.

n Import/Replace Driver Specifies the default folder used when browsing for device drivers.

n Integration Specifies the folder used when creating an updated TFTP folder.

n Projects Specifies the default project folder used when opening or saving new projects.

n Temporary Workspace Specifies a local folder used to store temporary files generated by driver management, Deployment Wizard and Integration Wizard.

Proxy ServerThe following proxy server settings are available.

n Use Internet Explorer Settings Specifies whether Internet Explorer settings will be used.

n Hostname Specifies the proxy server address.

n Port Specifies the proxy server port.

n Username Specifies the proxy username.

n Password Specifies the proxy password.

IntegrationThe following integration settings are available.

n Desktop Management Solutions Specifies the Desktop Management solution and image format that will be available when managing projects and using the Deployment Wizard and Integration Wizard.

NotificationsThe following notification settings are available.

n Machine Import Specifies whether importing a machine displays a Prompt or silently performs the Import.

n Machine Exists Specifies whether importing an existing machine manufacturer/model will display a Prompt, silently perform a Merge, or Skip the merge.

n Display Message on Download Completion Specifies whether a message will be displayed following driver download.

n Display Message on Analysis Completion Specifies whether a message will be displayed following driver analysis.

n Set Custom Properties on Unanalysed Drivers Specifies whether changing properties on drivers that have not be analysed will display a Prompt, Allow the request, or Deny the request.

MonitoringThe following Deployment Monitor settings are available.

Note: Imaging Toolkit 11.0.8 does not include the ENGL Deployment Monitor™ server installation package or license. Visit the Deployment Monitor web page for further information.

n Deployment Monitor Servers Specifies Deployment Monitor servers that are available to be used in deployment projects.

Note: Use the Add, Delete and Modify buttons to manage Deployment Monitor servers. The server hostname can be spe-cified using either http or https with the appropriate Port based on your IIS server configuration. A Deployment Monitor server must be configured, licensed and fully operational before it can be added. The Test Servers button will perform a connectivity and license validation check for each server that has been added.

- 88 -

Page 89: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

UpdatesThe following update settings are available.

n Check for Software Updates Specifies that Imaging Toolkit software updates, driver analysis rule and desktop management supported version updates will be checked for on a Daily or Weekly basis.

n Do Not Check for Updates Specifies that check for updates is disabled.

LoggingThe following log file settings are available.

n Enable Debug Output Specifies whether debug (verbose) output is written to the status view and log file (BuildConsole.log).

5.1.4 File LibraryThe File Library contains installation media, certificates and drivers that are used by your Windows deployment project. The File Library is located on the machine where Imaging Toolkit was installed and can be moved by changing the File Library path in Options > Folders.

Navigation buttons and identification icons

Button / Element Description

Media Indicates the import media could not be found or failed validation.

Manufacturer / Machine / Driver Pack Indicates hardware inventory has been updated and a new search for drivers is required to refresh the Driver Pack. Typically this occurs after a machine inventory import merge.

Identifies Windows media.

Identifies an imported machine hardware inventory scan or manually created machine.

Identifies a machine Driver Pack.

Identifies .NET Framework media.

Identifies LDAP certificate media.

Identifies Novell Client media.

Identifies ZENworks Agent media.

Keyboard navigationThe keyboard can be used to perform some basic tasks.

Key Sequence Description

Up / Down Select item above / below.

Left / Right Collapse / Expand selected item.

Delete Delete the selected item including child items.

Application / Context Menu Displays context menu for selected item (same as mouse right-click).

The following media types can be imported into the File Library.

- 89 -

Page 90: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Windows media

n Drivers (Mass-storage drivers, Network drivers and Machine driver management)

n .NET Framework

n LDAP Certificates

n Novell Client

n ZENworks Agent

- 90 -

Page 91: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Windows MediaThe following tasks can be performed with Windows media.

n Importing

n Open Folder in Windows Explorer

n Deleting

ImportingTo create the universal base image, a path to the Windows operating system install media is required which can be a local path or removable media such as CDROM/DVD. The contents of the Windows media can be copied to the File Library or linked to the source path.

Note: n Windows media must be VLA or Select licensed.

n European "N" versions of the listed Windows media are also supported.

n Windows media that has been modified by a 3rd party application is not supported.

n Split WIM files / multiple CD installations are not supported. You must provide a single bootable DVD media (or a file system copy of the same).

n Windows media created by the "Windows media creation tool" is not supported.

The following are steps to import Windows media into the File Library.

1. Do one of the following:

n Click the Add Windows Media button in the Task View.

OR

n Right-click the Windows Media folder in the File Library and select New Windows Media.

The Import Wizard opens.

2. Click the Browse button and select the folder containing the contents of the Windows media.

3. Uncheck the Copy source files to File Library if the source path is on your local machine.

4. Click Next.

5. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Windows Media was unrecognised", verify the import path and retry the import.

6. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported Windows media.

1. Right-click the Windows media and select Open Folder in Windows Explorer.

Windows Explorer opens.

DeletingThe following are steps to delete previously imported Windows media from the File Library.

1. Right-click the Windows media and select Delete.

- 91 -

Page 92: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 92 -

Page 93: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

DriversThe following driver types can be managed in the File Library.

n Mass-storage drivers

n Network drivers

n Machine driver management (including Import machine inventory, Manually create machine and Manually add driver files)

- 93 -

Page 94: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Mass-storage Device DriversMass-storage device drivers can be added to WinPE boot media that it is created by the either the Deployment Wizard or Integration Wizard. Mass-storage device drivers may be required for the machine that the Windows base image is created on, and for any machine that will be deployed using the base image.

The following tasks can be performed with Mass-storage Device drivers.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import Mass-storage Device drivers into the File Library.

1. Do one of the following: n Click the Add Drivers button in the Task View.

OR

n Right-click the Drivers folder in the File Library and select New Drivers.

The Import Drivers Wizard opens.

2. Select Mass-storage Drivers then click Next.

3. Click the Browse button and select the source Mass-storage Device driver INF file.

Note: Ensure that the only files in the selected folder are the files for the Mass-storage device driver being imported.

4. Uncheck the Copy source files to File Library if the source path is on your local machine.

5. Click Next.

6. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Failed to identify Mass-storage Device Driver (INF)", verify the import path and retry the import.

7. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported Mass-storage Device driver.

1. Right-click the Mass-storage Device driver and select Open Folder in Windows Explorer.

RenamingThe following are steps to rename previously imported Mass-storage Device driver.

1. Do one of the following: n Right-click the Mass-storage Device driver and select Rename.

OR

n Select the Mass-storage Device driver then click the description once.

Note: To restore the default description perform the rename using an empty string.

- 94 -

Page 95: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

DeletingThe following are steps to delete previously imported Mass-storage Device driver from the File Library.

1. Right-click the Mass-storage Device driver and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 95 -

Page 96: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Network Device DriversNetwork device drivers are added to WinPE boot media that it is created by either the Deployment Wizard, Integration Wizard or Boot Media Wizard. Network device drivers may be required for the machine that the Windows base image is created on, and for any machine that will be deployed using WinPE imaging.

The following tasks can be performed with Network Device drivers.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import Network Device drivers into the File Library.

1. Do one of the following: n Click the Add Drivers button in the Task View.

OR

n Right-click the Drivers folder in the File Library and select New Drivers.

The Import Drivers Wizard opens.

2. Select Network Drivers then click Next.

3. Click the Browse button and select the source Network Device driver INF file.

Note: Ensure that the only files in the selected folder are the files for the network device driver being imported.

4. Uncheck the Copy source files to File Library if the source path is on your local machine.

5. Click Next.

6. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Failed to identify Network Driver (INF)", verify the import path and retry the import.

7. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported Network Device driver.

1. Right-click the Network Device driver and select Open Folder in Windows Explorer.

RenamingThe following are steps to rename previously imported Network Device driver.

1. Do one of the following: n Right-click the Network Device driver and select Rename.

OR

n Select the Network Device driver then click the description once.

Note: To restore the default description perform the rename using an empty string.

DeletingThe following are steps to delete previously imported Network Device driver from the File Library.

- 96 -

Page 97: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

1. Right-click the Network Device driver and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 97 -

Page 98: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Machine driver managementTo create a deployable driver image a hardware inventory scan is required for each machine, the hardware scan is generated by Zdrivers. Hardware scans can be imported in Build Console. Each machine model will appear in the File Library view as follows: Drivers>Machines>[Manufacturer]>[Model].

The latest drivers for a given machine and Windows operating system platform can be searched for by sending the hardware scan to the ENGL Driver Repository. Once search results have been received by Build Console a Driver Pack for the Windows operating system platform will appear below the machine model in the File Library.

Devices and drivers in the driver pack can be managed from the Driver Pack Properties view. Recommended drivers can be downloaded to the File Library and if required additional drivers can be manually imported. Analysis can then be performed that opens the driver archive and using analysis rules will determine the best installation method to install the driver.

A WIM or ZMG driver image can be created from a driver pack. When the driver image is deployed as part of the Imaging Toolkit build process, drivers will be installed with the added benefit of real-time hardware compatibility checking for each driver.

The following tasks can be performed with machine hardware inventory scans.

n Importing Zdrivers Inventory

n Manually creating a machine

n Search for drivers

n Download drivers

n Manually add driver file

n Analyse drivers

n Create driver image

n Create images.ini

n Open Folder in Windows Explorer

n Deleting

- 98 -

Page 99: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Importing Zdrivers InventoryThe following are steps to import machine hardware inventory scans into the File Library.

1. Do one of the following:

n Click the Add Drivers button in the Task View.

OR

n Right-click the Drivers folder in the File Library and select New Drivers.

OR

n Right-click the Drivers>Machines folder in the File Library and select Import hardware scan.

The Import Drivers Wizard opens.

2. Select Machine hardware scan then click Next.

3. Do one of the following:

n Click Import a single Zdrivers XML file.

OR

n Click Import all Zdrivers XML files in a folder.

4. Select Search for drivers to search for drivers immediately after import.

5. Click Next.

Note: If you are prompted to confirm the import click Yes. To prevent future confirmation prompts from appearing ensure Import without prompting is checked.

6. If Download drivers was selected continue to the step Searching for drivers, otherwise click Finish to close the Import Wizard.

Manually Creating a MachineThe following are steps to manually add a machine to the File Library

1. Right-click the Drivers>Machines folder in the File Library view and select Import hardware.

The Import Inventory Wizard opens.

2. Select Manually create machine.

3. Click Next.

4. At the Create Manual Machine page, specify the machine Manufacturer and Model.

5. Click Finish to create the machine.

Note: You cannot Search for Drivers for a manual machine entry. Drivers can be added using Manually add driver file

Searching for DriversThe following are steps to search for drivers for a previously imported hardware inventory scan.

1. Do one of the following in the File Library:

n Right-click Drivers>Machines.

OR

- 99 -

Page 100: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Right-click Drivers>Machines>[Manufacturer].

OR

n Right-click Drivers>Machines>[Manufacturer]>[Model].

OR

n Right-click Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack].

2. Select Search for Drivers.

3. Click the Windows Operating System down arrow and select a Windows version and platform to search for compatible drivers.

4. Select Download drivers to automatically download all missing drivers after driver searching completes.

5. Click Next.

6. Click Next again to begin the search process.

Note: Your driver search request will be sent to an ENGL web server. If this is the first search you have performed since starting Imaging Toolkit, you may notice a delay before the driver list is displayed. The ENGL driver service will return the latest available version of a driver as made available by the manufacturer.

7. If a list of drivers are displayed, select the drivers to download then click Next.

8. Click Finish to close the Import Wizard.

Driver Packs for the Windows operating system and platform will appear below manufacturer models in the File Library view. Drivers will be downloaded if the Download drivers option was selected.

Note: There may be devices listed under the No Drivers section in the Driver Pack properties. This does not necessarily mean that a required driver is missing because the device may be handled natively by Windows. If there are no Unknown Devices listed in Windows Device Manager then no further drivers are required. If there are unknown devices then right-click the device and select Report Issue to notify ENGL that a driver is required. Also review the section below for steps to Manually Add a driver.

Download DriversThe following are steps to download available drivers for an existing driver pack.

1. Do one of the following in the File Library view:

n Right-click Drivers>Machines.

OR

n Right-click Drivers>Machines>[Manufacturer].

OR

n Right-click Drivers>Machines>[Manufacturer]>[Model].

OR

n Right-click Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack].

2. Select Download drivers to download all available drivers.

Drivers will download.

Note: Drivers that have already been downloaded or disabled will be skipped. To force a driver to be re-downloaded, use the Driver Pack Property View download menu option. Selecting to download drivers from a level in the Machine view that includes multiple manufacturer models and Driver Packs may take a long time.

- 100 -

Page 101: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Manually Add Driver FileThe following are steps to manually add a driver file to a previously imported hardware inventory scan.

1. Do one of the following:

n Right-click the Drivers>Machines>[Manufacturer]>[Model] in the File Library then select Manually add driver file.

OR

n Right-click the Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack] in the File Library then select Manually add driver file.

Import Wizard opens.

2. Click the Windows Operating System down arrow and select a Windows version and platform to which the driver will be added.

Note: If the Windows Operating System down arrow is disabled, continue to the next step.

3. Click the Driver class down arrow and select a driver class matching the driver file being added.

4. Enter a brief Driver description.

5. Enter a Driver version.

6. Click Next.

7. Click the Browse button and select a .CAB, .EXE, .MSI, .RAR, .ZIP or .7z file containing the driver to import. Use the original driver package as supplied by the OEM or driver manufacturer, do not extract or modify the original package in any way.

8. Click Next.

9. At the Import into File Library prompt, click Yes to import the driver.

Driver is imported.

10. Click Finish to close the Import Wizard.

Analyse DriversThe following are steps to analyse drivers in an existing driver pack.

1. Right-click the Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack] in the File Library then select Analyse drivers.

Driver pack analysis will be performed on un-analysed drivers.

Create Driver ImageThe following are steps to create a driver image containing all drivers and configuration for an existing driver pack.

Note: Since Imaging Toolkit 10.0.3, driver images are created with an encrypted configuration file. After upgrading to Imaging Toolkit 11.0.8, the Deployment Wizard must be used to recreate the Ztoolkit build process add-on image to ensure that driver images will be correctly processed and installed.

1. Do one of the following:

n Right-click the Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack] in the File Library then select Create driver image.

OR

n In the global toolbar, click to launch the Deployment Wizard then select Driver image creation.

OR

- 101 -

Page 102: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Select one or more driver packs based on either the Machine Type or Windows Version.

Driver image will be created.

Create Images.iniThe following are steps to create an images.ini for all machine driver packs in the File Library.

1. Right-click Drivers>Machines in the File Library.

2. Select Create images.ini.

Images.ini will be created then opened in a text editor.

Note: See Imaging Configuration Files (.INI) for more information on the images.ini file and where it is created.

Open Folder in Windows ExplorerThe following are steps to open the folder of previously searched for driver pack.

1. Right-click the Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack] and select Open Folder in Windows Explorer.

Windows Explorer opens.

DeletingThe following are steps to delete previously hardware inventory scans and driver packs from the File Library.

1. Do one of the following:

n Right-click the Drivers>Machines and select Delete.

OR

n Right-click the Drivers>Machines>[Manufacturer] and select Delete.

OK

n Right-click the Drivers>Machines>[Manufacturer]>[Model] and select Delete.

OK

n Right-click the Drivers>Machines>[Manufacturer]>[Model]>[Driver Pack] and select Delete.

- 102 -

Page 103: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Driver Pack properties viewThe Driver Pack Properties view includes a list of drivers and the devices each driver services. Devices that have been associated with a driver through a driver search, a manually added driver or a replacement driver will be listed below the Drivers folder. Devices that do not have an associated driver will be listed below the No Drivers folder.

The Driver Pack Properties view can be displayed by selecting a Driver Pack from the File Library view.

Navigation Buttons and Identification Icons

Button / Element Description

Expands all items in the view.

Collapses all items in the view.

Driver name Indicates the driver has been disabled and will not be included in analysis or driver image creation.

Represents a hardware device.

Represents a hardware driver.

Indicates the driver properties have been modified.

Indicates the installation command line has been modified and is different from the com-mand line that driver analysis recommended.

Settings Indicates the driver has been analysed to determine the most appropriate install-ation method.

Settings Indicates the driver will be installed using Windows mini-setup hardware dis-covery.

Settings Indicates the driver will always be installed regardless of hardware compatibility.

Settings Indicates the driver source file will be extracted and stored in the driver image.

Order Driver installation order (software / non-INF drivers).

Status No driver file exists in the driver library.

Downloaded Status Indicates the driver was discovered through a search and has been downloaded.

Imported Status Indicates an additional driver that has been manually imported.

Replaced Status Indicates the driver has been replaced with a user supplied file. This status is used for all devices where a driver has been added specifically to it regardless of whether a driver was discovered or not.

Device Name Indicates that this device has not been queried for drivers using a driver search. This may appear if machine inventory scans have been merged.

The following tasks can be performed from the Driver Pack properties view.

n Download driver

n Replace driver

n Enabled / Disable driver

n Analyse driver

n Properties of a driver

- 103 -

Page 104: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Delete driver

n Report Issue

n Open Folder in Windows Explorer

Download DriverThe following are steps to download a driver.

1. Right-click the Drivers>[Driver] in the Properties view then select Download.

Driver will download.

2. Click Finish to close the wizard.

Replace DriverThe following are steps to replace an ENGL discovered driver with another driver.

Note: Replacement drivers are always used if they exist regardless of changes to the discovered drivers for the devices they relate to.

1. Do one of the following:

n Right-click the Drivers>[Driver] in the Properties view then select Replace.

OR

n Right-click the No Drivers>[Device] in the Properties view then select Replace.

2. Click the Driver class down arrow and select a driver class matching the driver file being added.

Note: If the Driver Class down arrow is disabled, continue to the next step.

3. Enter a Driver version.

4. Click Next.

5. Click the Browse button and select a .7z, .CAB, .EXE, .MSI, .RAR, or .ZIP file containing the driver to import.

6. Click Next.

7. At the Import into File Library prompt, click Yes to import the driver.

Driver is imported.

8. Click Finish to close the Import Wizard.

Enable / Disable DriverThe following are steps to enable or disable a driver.

1. Right-click the Drivers>[Driver] in the Properties view then select Enable.

Driver enabled status will be changed.

Note: If the driver is disabled the driver text will be formatted as grey italics.

Analyse DriverThe following are steps to analyse a driver.

1. Right-click the Drivers>[Driver] in the Properties view then select Analyse.

Driver analysis will be performed.

- 104 -

Page 105: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Properties of a DriverThe following are steps to change the properties for a driver.

1. Right-click the Drivers>[Driver] in the Properties view then select Properties.

2. If the driver has not been downloaded or analysed a warning will be displayed. Click Yes to continue or No to exit.

Note: It is recommended that you analyse drivers before changing properties.

Custom Driver Processing Properties window opens.

3. Following options are available:

n Install using setup file instead of adding to Driver Store (Don't use INF file) Select to force driver installation using a custom command line, otherwise the driver will be installed using Sysprep hardware discovery.

n Do not filter driver based on discovered hardware (always install) Select to force driver to install regardless of whether the hardware is compatible with the driver, otherwise the driver will only be installed on compatible hardware.

n Do not extract source file (.EXE only) Select to prevent the driver being extracted contents being stored in the driver image.

n Install order Specifies the driver installation order for software/non-INF drivers. This setting can be used to control the order that drivers are installed. Drivers will be installed in the order of 1-99, followed by drivers which have an install order of 0 (default). Drivers with the same install order will be grouped and installed alphabetically based on the ori-ginal driver filename.

For example, based on the following table the driver installation order will be B, C, D, A, E, F.

Driver Install Order Setting

A 3

B 1

C 1

D 2

E 0 (default value)

F 0 (default value)

n Command line Enter a command and parameters to install the driver during deployment. The macros %*DriverPath% and %*DriverFile% can be used which will be substituted during deployment with the driver source path and filename as determined by the analysis process.

4. Click OK.

Custom Driver Processing Properties window closes.

Delete DriverThe following are steps to delete an imported or replaced driver.

1. Right-click the Drivers>[Driver] then select Delete.

Driver files will be removed from the File Library.

Report IssueThe following are steps to report an issue with a driver or device to ENGL technical support.

- 105 -

Page 106: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

1. Do one of the following:

n Right-click the Drivers>[Driver] then select Report Issue.

OR

n Right-click the Drivers>[Driver]>[Device] then select Report Issue.

OR

n Right-click the No Drivers>[Device] then select Report Issue.Report Issue window appears.

2. Click the Issue down arrow and select an issue to report.

3. Enter a Comment describing the issue in detail.

4. If you selected Wrong Driver for the issue, enter a Suggested URL.

5. Enter Full name, Email and Telephone (including country code).

6. Click Save contact details to save your contact details for later Report Issues.

7. Click OK.

8. At the Report Issue Confirmation window click Yes to submit the issue to ENGL technical support.

Reported issue will be sent to ENGL technical support and an incident number will be displayed.

Note: A confirmation email with the incident details will be sent to the specified email address.

9. Click OK to close Report Issue.

Open Folder in Windows ExplorerThe following are steps to open the folder of a previously downloaded, manually imported, or replaced driver.

1. Right-click the Drivers>[Driver] then select Open Folder in Windows Explorer.

Windows Explorer opens.

- 106 -

Page 107: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

LDAP CertificateLDAP certificates are used to secure the connection to an LDAP server (eDirectory or Active Directory). Imaging Toolkit uses LDAP for Zim authentication and for Active Directory operations such as joining the domain.

The File Library supports importing the following LDAP certificate types:

n Microsoft Active Directory (.DER) root certificate

n NetIQ eDirectory (.DER) root certificate

The following tasks can be performed with LDAP Certificates.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import LDAP Certificate media into the File Library.

1. Do one of the following: n Click the Add LDAP Certificate button in the Task View.

OR

n Right-click the LDAP Certificates folder in the File Library and select New LDAP Certificate.

The Import Wizard opens.

2. Click the Browse button and select the LDAP certificate .DER file.

3. Uncheck the Copy source files to File Library if the source path is on your local machine.

4. Click Next.

5. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "LDAP Certificate (DER) media was unrecognised", verify the import path and retry the import.

6. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of a previously imported LDAP certificate.

1. Right-click the LDAP certificate and select Open Folder in Windows Explorer.

Windows Explorer opens.

RenamingThe following are steps to rename a previously imported LDAP certificate.

1. Do one of the following: n Right-click the LDAP certificate and select Rename.

OR

n Select the LDAP certificate then click the description once.

Note: To restore the default description perform the rename using an empty string.

- 107 -

Page 108: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

DeletingThe following are steps to delete a previously imported LDAP certificate from the File Library.

1. Right-click the LDAP certificate and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 108 -

Page 109: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

.NET FrameworkThe ZENworks agent has .NET Framework dependencies. To simplify Windows deployment, all required .NET Framework versions will be automatically installed during the base image creation. For a list of supported .NET Framework versions please review the deployment machine requirements.

The following tasks can be performed with .NET Framework media.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import .NET Framework media into the File Library.

1. Do one of the following: n Click the Add .NET Framework button in the Task View.

OR

n Right-click the .NET Framework folder in the File Library and select New .NET Framework.

The Import Wizard opens.

2. Click the Browse button and select the .NET Framework setup executable.

3. Uncheck the Copy source files to File Library if the source path is on your local machine.

4. Click Next.

5. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Microsoft .NET Framework media was unrecognised", verify the import path and retry the import. You must supply a full redistributable appropriate to the platform you are deploying and not an online setup file.

6. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported .NET Framework media.

1. Right-click the .NET Framework media and select Open Folder in Windows Explorer.

Windows Explorer opens.

RenamingThe following are steps to rename previously imported .NET Framework media.

1. Do one of the following: n Right-click the .NET Framework media and select Rename.

OR

n Select the .NET Framework media then click the description once.

Note: To restore the default description perform the rename using an empty string.

DeletingThe following are steps to delete previously imported .NET Framework media from the File Library.

- 109 -

Page 110: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

1. Right-click the .NET Framework media and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 110 -

Page 111: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Novell ClientThe Novell Client can be added to the File Library and used in projects where authentication to NetIQ eDirectory is required.

The following tasks can be performed with Novell Client media.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import Novell Client media into the File Library.

1. Prepare the Novell Client installation files as follows:

i. Download the latest version of the Novell Client 2 that supports the Windows version you are deploying from the Nov-ell Downloads web site.

ii. Extract the Novell Client into a directory on the Administration machine.

iii. Using the Novell Client Installation Manager (NCIMAN) found in the Admin directory of the Novell Client source, cre-ate an unattended install file named ncpf.txt in the Novell Client source directory.

Note: This is the top level folder containing the setup.exe file and not the admin subdirectory as for previous versions of the Novell Client.

iv. Configure as follows: n Add a new System Login Profile named Default.

n Under Service Location (SLP) add a Scope and a Directory Agent to the appropriate lists.

v. Modify the install.ini file as follows:

Section Parameter Value

Setup DisplayLanguageSelection No

" DisplayLicenseAgreement No

" DisplayInitialDialog No

" CreateSystemRestorePoint No

" DisplayRebootDialog No

2. Do one of the following:

n Click the Add Novell Client button in the Task View.

OR

n Right-click the Novell Client folder in the File Library and select New Novell Client.

The Import Wizard opens.

3. Click the Browse button and select the folder containing the Novell Client media.

4. Uncheck the Copy source files to File Library if the source path is on your local machine.

5. Click Next.

- 111 -

Page 112: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

6. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Failed to identify Novell Client", verify the import path and retry the import.

7. Click Finish to close the Import Wizard.

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported Novell Client media.

1. Right-click the Novell Client media and select Open Folder in Windows Explorer.

Windows Explorer opens.

RenamingThe following are steps to rename previously imported Novell Client media.

1. Do one of the following:

n Right-click the Novell Client media and select Rename.

OR

n Select the Novell Client media then click the description once.

Note: To restore the default description perform the rename using an empty string.

DeletingThe following are steps to delete previously imported Novell Client media from the File Library.

1. Right-click the Novell Client media and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

- 112 -

Page 113: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

ZENworks AgentThe ZENworks Adaptive Agent can be added to the File Library and used in projects. Please visit the Imaging Toolkit compatibility web page for the latest information on supported ZENworks versions

The following tasks can be performed with ZENworks Agent media.

n Importing

n Renaming

n Open Folder in Windows Explorer

n Deleting

ImportingThe following are steps to import ZENworks Agent media into the File Library.

1. Create a ZENworks Deployment Package using the following steps:

a. Using ZENworks Control Center select the Deployment page.

b. Select Deployment Activities > Edit Deployment Package.

c. Select the following options then click Next.

Item Value

Target Architecture x86 Architecture (32 bit), x64 Architecture (64 bit) or All Supported Architectures as appropriate

Package Install Type Standalone Installation

Package Name System Note:

n Do not select Standalone Installation (with .NET) as this package type is not currently supported by Imaging Toolkit.

n Using All Supported Architectures will result in a much larger agent package.

d. In the Primary Server list remove all listed entries then add a new entry with a value of unconfigured.

Warning: This entry is case sensitive and must be entered exactly as shown below.

- 113 -

Page 114: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

e. Click Next, on the following page do not enter a registration key, click Next to continue.

f. Enter a package name in Select a name for the new deployment package.

g. Click Finish to create the deployment package.

h. From a browser go to http://yourprimaryserver/zenworks-setup and select the deployment package created in the steps above.

Note: The Install Type for the deployment package on the ZENworks download page should be Standalone (.NET 4.0 required)

i. Save the ZENworks deployment package with its default filename (PreAgentPkg_AgentComplete.exe) to a directory on the Administration machine.

j. Copy the "ca.der" file from the ZENworks server's security directory to the same directory as the ZENworks deploy-ment package.

Windows Primary Server:

%ZENWORKS_HOME%\conf\security

Linux Primary Server:

/etc/opt/novell/zenworks/security

2. Do one of the following:

n Click the Add ZENworks Agent button in the Task View.

OR

n Right-click the ZENworks Agent folder in the File Library and select New ZENworks Agent.

The Import Wizard opens.

3. Click the Browse button and select the folder containing the ZENworks Agent media.

4. Uncheck the Copy source files to File Library if the source path is on your local machine.

5. Click Next.

6. At the import confirmation window click Yes to import the media.

Note: If you receive the error message "Failed to indentify ZENworks Agent", verify the import path and retry the import.

7. Click Finish to close the Import Wizard.

- 114 -

Page 115: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Open Folder in Windows ExplorerThe following are steps to open the source folder of previously imported ZENworks Agent media.

1. Right-click the ZENworks Agent media and select Open Folder in Windows Explorer.

Windows Explorer opens.

RenamingThe following are steps to rename previously imported ZENworks Agent media.

1. Do one of the following:

n Right-click the ZENworks Agent media and select Rename.

OR

n Select the ZENworks Agent media then click the description once.

Note: To restore the default description perform the rename using an empty string.

DeletingThe following are steps to delete previously imported ZENworks Agent media from the File Library.

1. Right-click the ZENworks Agent media and select Delete.

Note: If the media was imported with the Copy source files to File Library option enabled the copied media files will be deleted.

5.1.5 Project WizardAfter importing media into the File Library, a new project can be created or upgraded from a previous version of Imaging Toolkit. Projects contain the configuration and custom scripts necessary to create an automated Windows deployment process using Deployment Wizard.

The following project tasks can be performed.

n Creating

n Opening

n Customisation

n Validating

n Saving

n Closing

n Managing projects

CreatingThe following are steps to create a new project.

1. Select Tools>Options or in the global toolbar by clicking .

2. Select Integration and then select the appropriate Desktop Management solution, then click OK.

3. Do one of the following:

n Click Create new project in the Task View.

- 115 -

Page 116: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

OR

n Select File>New.

Project Wizard opens.

4. Click Next.

5. Click the Desktop Management solution down arrow to display available Desktop Management Solution versions that can be used for your Windows deployment, then click Next.

Note: To update the list of supported versions, exit the Project Wizard, select Help>Check for Updates then restart the Pro-ject Wizard.

6. Click the Windows Operating System down arrow to display Windows media that has been imported and is compatible with the chosen Desktop Management Solution version, then click Next.

Note: To import new Windows media select <New>.

7. Complete the Windows Licensing details as follows:

n Name Specifies the Windows registered name.

n Organisation Specifies the Windows registered organisation.

n Product Key Specifies the Windows MAC or VLA product key that will be used for activation.

n Automatically activate Windows Specifies whether Windows activation will be performed during the build process.

n Use Key Management Server Specifies whether a KMS (Key Management Server) will be used for activation.

8. Complete the Windows Login Credentials details as follows:

n Password Specifies the password when creating the local Administrator account.

9. Click Next.

10. Novell Client configuration is displayed.

a. Complete the Novell Client details as follows:

n Install Novell Client Specifies whether the Novell Client will be installed during the build process.

n Novell Client Media Specifies previously imported Novell Client media which is compatible with the chosen Windows version.

Note: To import new Novell Client media select <New>.

n Tree Specifies the NetIQ eDirectory tree name used to authenticate during the build process.

n Context Specifies the NetIQ eDirectory context used to authenticate during the build process.

n Username Specifies the NetIQ eDirectory username used to authenticate during the build process.

n Password Specifies the NetIQ eDirectory password used to authenticate during the build process.

11. Click Next.

12. ZENworks Agent configuration is displayed.

Complete the ZENworks Agent configuration as follows:

n Install ZENworks Agent Specifies whether the ZENworks Agent will be installed during the build process.

n ZENworks Agent Media Specifies previously imported ZENworks Agent media which is compatible with the chosen ZENworks and Windows platform version.

Note: To import new ZENworks Agent media select <New>.

- 116 -

Page 117: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Zone Specifies the ZENworks zone used to configure the ZENworks Agent during the build process.

n Primary Server Specifies the ZENworks Primary Server used to configure the ZENworks Agent during the build pro-cess.

n Import Key Specifies the import key used to register the machine during the build process.

n Import Username Specifies the import username used to register the machine during the build process.

n Import Password Specifies the import password used to register the machine during the build process.

n Install Applications During the Build Process Specifies whether ZENworks application bundles will be installed dur-ing the build process.

13. Click Next.

14. Microsoft .NET Framework requirements are displayed.

Note: The .NET Framework 4 media is required when the deployment operating system is Windows 7 or Server 2008 R2, otherwise the .NET Framework requirements page will not be displayed.

Complete the .NET Framework requirements as follows:

n Microsoft .NET Framework 4 Specifies the .NET Framework 4 media that will be installed during the base image cre-ation.

15. Active Directory configuration is displayed.

Complete the Active Directory configuration as follows:

n Username Specifies the Active Directory user account with permissions to join the computer to the Domain.

n Password Specifies the Active Directory user password with permissions to join the computer to the Domain.

n Domain Specifies the Active Directory domain that the computer will join during the build process.

n OU Specifies the Active Directory Organisational Unit (full DN) where the computer will be placed during the build pro-cess.

Note: The OU field must be left blank if the computer will be placed in the default Computers OU during the build process

n Use SSL Specifies whether a previously imported SSL certificate will be used during authentication to the Domain.

Note: To import a new SSL Certificate select <New>.

n Login to Active Directory During the Build Process Specifies whether the above credentials will be used to not only for the computer join, but also to authenticate to Active Directory during each build process phase.

16. Click Next.

17. Project Details configuration is displayed.

Complete the Project Details configuration as follows:

n Description Specifies the project description that will appear in the imaging restore menu.

n Author Specifies the project author.

18. Click Next.

Finish page is displayed.

19. Select Launch Deployment Wizard to start the Deployment Wizard after Finish is clicked.

20. Click Finish.

21. At the Project template must be saved to continue message box, click OK.

- 117 -

Page 118: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

22. Enter a target project path then click Save.

Expert View will open.

OpeningThe following are steps to open an existing project.

1. Do one of the following:

n Select File>Open or in the global toolbar click .

OR

n Click Open existing project in the Task View.

Project opens and Expert View appears.

Note: If a previous Imaging Toolkit project is opened, a prompt may appear requesting confirmation before upgrading the project to Imaging Toolkit 11.0.8. Display of the upgrade prompt can be configured by selecting Tools>Options>General and changing the Prompt to Update Settings option. Custom task and phase strings will not be migrated from previous versions of Imaging Toolkit projects.

CustomisationThe following are steps to customise an existing project using the Expert View.

1. Do one of the following:

n Create a new project

OR

n Open an existing project

Expert View is displayed.

2. Select a category in the Expert View.

Available settings will appear in the Properties view and Help will appear in the Help view.

Note: To display the Help window select View>Help View.

3. Modify settings in the Properties view.

Note: Environment variables (values enclosed by % symbols, e.g. %COMPUTERNAME%) may be used for any property which takes a string value. The variables must be populated at the time of use. Non-existent variables will result in an empty string.

4. Save the project.

ValidatingThe following are steps to validate an open project.

1. Select Tools>Validate Project Settings or in the global toolbar click .

2. Double-click each error displayed in the Errors view and resolve the issue then validate again.

SavingThe following are steps to save an open project.

- 118 -

Page 119: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

1. Do one of the following:

n Select File>Save or in the global toolbar click .

OR

n Select File>Save As or in the global toolbar click to create a copy of the project.

Project is saved.

ClosingThe following are steps to close an open project.

1. Select File>Close.

Project is closed.

Managing ProjectsThe following are steps to manage previously opened projects.

1. Select Tools>Manage Projects.

Manage Projects window is displayed.

Note: Project files which could not be opened will appear as <Project could not be found>.

2. Select one or more projects.

3. Click Remove to delete the project and any custom files.

4. Click Close.

Manage Projects window is closed.

- 119 -

Page 120: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Project DetailsThese properties define the project description and author for this project.

n General Settings

- 120 -

Page 121: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

General Settings

General SettingsThese properties define the general settings for the deployment project.

n Description Specifies the description of the project.

Note: The Description is used as the title of the Restore menu item for this project in the Zim imaging front-end.

n Author Specifies the author of the project.

- 121 -

Page 122: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Desktop Management SolutionThese properties define the desktop management solution used to deploy Windows and which components will be available to configure in the Expert View.

n Version

- 122 -

Page 123: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Version

Desktop Management Solution ConfigurationThese properties define the desktop management solution that will be used for the project.

n Version Specifies the desktop management version to use for this project.

Note: The list of desktop management versions is filtered based on the Global Integration settings. The exact version of ZCM running in your environment must be selected.

- 123 -

Page 124: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

WindowsThese properties define how Windows will be deployed and the settings used to customise Windows during deployment.

n Version

n Unattend

n Licensing

n Drivers

n Hotfixes

n Active Directory / Workgroup

n Localisation

n User Accounts

- 124 -

Page 125: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Version

Source FilesThese properties define source media used for the project.

n Version Specifies the Windows media to use for this project.

n .NET Framework 4 Specifies the .NET Framework 4 media that will be installed during the unattended base image creation process.

Note: The .NET Framework 4 media is required if the deployment operating system is Windows 7, or Server 2008 R2.

- 125 -

Page 126: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Unattend

Unattended InstallationThese properties define the partition sizes for the Windows Unattended Installation.

n System Partition Size (MB) This setting specifies the size in MB of the System Partition.

Note: n The System Partition Size setting is only for BIOS machines, partitioning for UEFI machines is automatically handled

during deployment.

n Specify 0 to disable the creation of a System partition.

n If a System partition is required it must be at least 100 MB.

n When using ZENworks imaging, the partition layout must match: for example an image created with a System par-tition must be restored to a machine along with the System partition.

n Windows Partition Size (GB) Specifies the size in GB of the Windows Partition to be created during the Unattended Install-ation process.

Note: n The Windows partition must be at least 60 GB.

n When using ZENworks imaging the partition size is only relevant for the Windows Unattended Installation. When using WinPE imaging it is also used to create a partition of the specified size on the target machine.

n The default Zim template script created by Integration Wizard for WinPE (WIM) based imaging will create partitions based on this setting.

n Mini-setup will resize the partition as appropriate unless configured otherwise.

- 126 -

Page 127: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Licensing

LicensesThese properties define Windows licensing details for the specified Windows version.

n Full Name Specifies the Full Name to use for Windows licensing in the unattended base image creation process.

n Organisation Name Specifies the Organisation Name to use for Windows licensing in the unattended base image creation process.

n Product Key Specifies the product key to use for Windows licensing in the unattended base image creation process.

The product key will be used during Windows license activation.

ActivationThese properties define how Windows will be activated.

n Enabled Specifies whether Windows Activation is enabled.

n Use KMS Server Specifies whether Windows Activation will use a Key Management Server.

n Server Specifies the Key Management Server to use for activation.

n Port Specifies the Key Management Server port.

- 127 -

Page 128: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Drivers

Windows Hardware DiscoveryThese properties determine how the Windows hardware detection and driver installation process is controlled during the build process.

n Reset Setup Log File Specifies whether the Windows setupapi.log file is deleted before mini-setup hardware discovery is per-formed.

n Force Driver Update Specifies whether INF type drivers will be forcibly installed during phase 0 of the build process even if a 'better' driver is already installed.

Custom Driver InstallationThese properties determine how custom drivers (that cannot be installed using mini-setup hardware discovery) will be installed during the build process.

n Enabled Specifies whether custom driver installation is enabled.

n Hide Output Specifies whether the custom driver installation window is hidden for driver images created with Imaging Toolkit 6.x.

Note: install.cmd will be executed to support legacy driver images but should not be used with images generated by Imaging Toolkit 11.0.8.

- 128 -

Page 129: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

HotfixesThese properties determine how Windows updates are installed during the build process.

ENGL Zupdate (included in Imaging Toolkit) can be used to download Windows updates and create a static hotfix image which will be installed automatically in phase 0.

See Creating hotfix images for more details.

In addition, the build process can use a WSUS server to dynamically install updates during phase 4 of the deployment process.

These properties determine how Windows updates are installed using WSUS.

n Enabled Specifies whether hotfix installation is enabled using WSUS during phase 4 of the deployment process.

n WSUS Server Specifies the WSUS server URL including the "http"/"https" prefix and the port number.

n WSUS Target Group Specifies the target group in WSUS which the machine will be added to.

n All severities Set to True to install updates of all severities or False to install only 'critical' and 'security' updates.

- 129 -

Page 130: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Active Directory / Workgroup

Active DirectoryThese properties determine Active Directory membership during the build process.

n Enabled Specifies whether the computer will be joined to Active Directory.

n Use SSL Specifies that an SSL connection will be used when searching for or moving the machine in Active Directory.

Note: This requires Active Directory Certificate Server to be configured.

n Root Certificate Specifies the certificate to use for SSL connections.

n Domain Specifies the domain name.

n Username Specifies the username that will be used to perform the domain join.

Note: If using ZENworks Configuration Management do not use the Administrator account to join Active Directory if it is your primary authentication source. ZENworks pass-through authentication cannot distinguish between the Administrator account and the built-in ZENworks Administrator account.

n Password Specifies the user password.

n OU Specifies the target Active Directory OU (Organisational Unit) where the computer will be created. Leave this entry blank to register in the default 'Computers' OU.

n Temporary OU Specifies an optional temporary Active Directory OU (Organisational Unit) where the computer will be created or an existing account moved to during the build process to avoid issues with corporate Group Policies.

Note: Using a Temporary OU will cause any existing machine objects to be moved to the Temporary OU and then to the tar-get OU. Not using a Temporary OU will cause existing machines to stay where they are and "rejoin" in the same location. Not using a Temporary OU will cause any new machines to register in the target OU.

n Login During Build Process Specifies whether the machine will be logged into Active Directory during the build process.

Group MembershipThese properties determine Active Directory Group Membership on the machine being deployed during the build process. The Source group is a group in Active Directory, the Target group is a local group on the machine being deployed. Up to five Source group, Target group, and Target group comment configurations may be specified.

n Source group The Active Directory group to be added. Use the browse button to select the group from Active Directory.

n Target group The local group to which the source group is added. If the local group does not exist it will be created.

n Target group comment A description for the Target group.

Workgroup

n Enabled Specifies whether the computer will be joined to a Workgroup.

n Workgroup Specifies the workgroup name.

Note: The Workgroup name has a maximum length of 15 characters.

- 130 -

Page 131: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Localisation

Note: Where applicable, clicking the icon next to an item exposes the Build Variable option which allows the use of Windows environment variables to dynamically set the value during the build process.

These properties determine the Windows localisation parameters used for the unattended base image creation and for the build process.

n Time Zone Specifies the time zone.

n System Locale Specifies the system locale.

n User Locale Specifies the user locale.

n Input Locale Specifies the input locale.

n Geographic ID Specifies the Geographic ID.

- 131 -

Page 132: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

User accounts

Local Administrator AccountThese properties determine Administrator account settings.

n Password Specifies the local Administrator password.

User AccountsThese properties determine the settings for any additional user accounts.

n Account is created at the end of the build process.

n Group names must be specified in the correct locale for the media in use.

n Changes in account settings will be effective once the Ztoolkit image has been re-deployed.

Properties

n Add User Account Specifies whether a new user account will be added.

n Username Specifies the account username.

n Password Specifies the account password.

n Password Expires Specifies whether the account password will expire.

n Display Name Specifies the account display name.

n Description Specifies the account description.

n Group Specifies the target local group for the account.

- 132 -

Page 133: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

CustomisationThese properties define additional customisation of Windows during deployment.

n General Settings

n Custom Files

n Branding

n Lockdown

n Post-build

n Error Detection

n Trace Window

n Monitoring

n Debug

- 133 -

Page 134: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

General SettingsThese properties determine general build process settings.

n Disable Sound During Build Process Specifies whether sound will be disabled during the build process.

n Enable Sound After Build Process Specifies whether sound will be enabled at the end of the build process.

n Force Reboot Specifies whether reboots between build phases will be forced.

n Reboot Delay Specifies the reboot delay (seconds) between build phases.

- 134 -

Page 135: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Custom FilesCustom files can be wallpaper bitmaps, Windows scripts and registry files which can be added for use during the build process. See Custom Script Hooks for more details.

Note: New projects are created with default wallpaper bitmaps and before/after .vbs scripts for each build phase. Right-click an existing file to edit, delete or rename.Right-click empty space in the property view to add a new file.

Windows ScriptsWindows scripts are used during the build process and are executed before/after each phase. Files are named in the following format:

phase<n>-<before | after>.js | .vbs | .ps1

Where n = 0 to 4.

Note: An Imaging Toolkit ActiveX control named ZtoolkitCtrl is available for use during the build process that provides scripting extensions including ZENworks Image-safe Data (ZISD) and LDAP functionality.

Registry FilesRegistry Files can be imported before/after each phase. Create valid registry files named in the following format:

phase<n>-<before | after>.reg

Where n = 0 to 4.

- 135 -

Page 136: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Branding

Note: Where applicable, clicking the icon next to an item exposes the Build Variable option which allows the use of Windows environment variables to dynamically set the value during the build process.

DisplayThese properties determine display settings during the build process.

Note: If any setting is set to 0 the build process will attempt to use the maximum value reported by the graphics driver. If Windows does not appear to be able to query the display the value returned will be 1024 (Width) x 768 (Height) x 32 (BPP) x 60 Hz in order to avoid display damage.

n Width Specifies the display width (pixels).

n Height Specifies the display height (pixels).

n Bits-Per-Pixel Specifies the display Bits-Per-Pixel (BPP).

n Frequency Specifies the display frequency.

WallpaperThese properties determine wallpaper settings during the build process.

n Enabled Specifies whether custom wallpaper will be displayed for each build phase.

n Path Specifies the wallpaper path. The macro %*phase% will be replaced with the current build phase index (0-4) and the macros %*DisplayWidth% and %*DisplayHeight% will be replaced with display width and height as configured above. For example, C:\Ztoolkit\engl-%*phase%-%*displaywidth%-%*displayheight%.bmp

n Style Specifies the wallpaper style (center, stretch, or tile).

Status WindowThese properties determine status window settings during the build process.

n Enabled Specifies whether the status window is displayed.

n Timer Specifies whether a timer is displayed.

n Title Specifies the window title.

n Caption Specifies the window caption.

Phase / Task CaptionsThese properties determine phase and task captions displayed in the status window during the build process.

n Phase [0-4] Specifies the phase caption for a given phase number.

n Task [0-12] Specifies the task caption for a given task number.

Note: Phase3 Task 2 includes two macros %*AppAction% and %*AppTitle%. These macros will be replaced with the details of the bundle currently being processed.

- 136 -

Page 137: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

LockdownThese properties determine keyboard and mouse lockdown settings during the build process.

n Disable Ctrl+Alt+Delete Specifies whether Ctrl+Alt+Delete is disabled.

n Disable Keyboard and Mouse Specifies whether the entire keyboard and mouse are disabled.

n Disable System Keys Specifies whether the keyboard system keys are disabled.

Note: If Disable Keyboard and Mouse setting is enabled the Disable Ctrl+Alt+Delete and Disable System Keys settings are overridden and will also be enabled.

- 137 -

Page 138: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Post-build

Note: Where applicable, clicking the icon next to an item exposes the Build Variable option which allows the use of Windows environment variables to dynamically set the value during the build process.

Copy ProfileThese properties determine copy profile settings during the build process.

n Enabled Specifies whether the Default User profile is updated.

n Exclude Directories Specifies top-level folders below the user profile that will be excluded from the file copy. Multiple folders should be separated with a comma (,).

User AccountsThese properties determine how the local Windows Administrator account is configured at the end of the build process.

n Change Local Administrator Password Specifies whether the local Administrator password is changed.

n Password Specifies the new password.

n Rename Local Administrator Username Specifies whether the local Administrator username is renamed.

n Username Specifies the new username.

n Disable Local Administrator Account Specifies whether the local Administrator account is disabled.

Wallpaper (Logon)These properties determine logon wallpaper configured at the end of the build process.

Note: Custom wallpaper files must be added to the project using the 'Custom Files' option. This option is not supported for Windows 8.x or Windows 10.

n Enabled Specifies whether the wallpaper will be changed.

n Wallpaper file Specifies the image file to use as the wallpaper.

n Style Specifies the wallpaper style (centre, stretch, or tile).

Wallpaper (User)These properties determine default desktop wallpaper configured at the end of the build process.

n Enabled Specifies whether the wallpaper will be changed.

n Wallpaper file Specifies the image file to use as the wallpaper.

n Target Path Specifies the path where the wallpaper file will be copied.

n Style Specifies the wallpaper style (centre, stretch, or tile).

Copy Log FileThese properties determine how the build process log file is copied to a network location at the end of the build process.

n Enabled Specifies whether the log file is copied at the end of the build process.

n Path Specifies the target path, including filename, to copy the log file to.

CleanupThese properties determine how the Imaging Toolkit files are removed from the deployed machine at the end of the build process.

n Remove Build Files Specifies whether the Imaging Toolkit files are removed at the end of the build process.

- 138 -

Page 139: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

ShutdownThese properties determine whether the machine is shutdown or rebooted at the end of the build process.

n Enabled Specifies whether the machine is shutdown at the end of the build process (otherwise it will be rebooted).

- 139 -

Page 140: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Error DetectionThese properties determine how errors are handled during the build process.

When a critical error occurs during the build process which would cause the build process to fail, a message box can be displayed and a custom action can be executed.

Critical errors are defined as:

For ZENworks:

n ZENworks agent install failure.

n Unable to contact the ZENworks web services.

n ZENworks registration failed due to ZENworks Agent service failing to start.

n ZENworks registration failed due to an invalid ZENworks zone name.

n ZENworks registration failed due to a missing ZENworks zone name.

n ZENworks registration failed to contact the ZENworks registration service.

n ZENworks registration failed due to an invalid device GUID.

n Unable to read the device GUID from ZISD.

For Active Directory:

n Unable to bind to Active Directory.

n Unable to determine Active Directory default naming context.

n Unable to open Active Directory OU.

n Active Directory Domain or Workgroup join failed.

n Unable to move computer in Active Directory.

For WIndows Updates:

n Unable to stop the Windows Update service

n Unable to search for Windows Updates

n Unable to download Windows Updates

n Failure to install Windows updates

Note: Once an error event is triggered, rebooting the machine back into Windows will return to the message box and the build will not continue. The keyboard and mouse will remain disabled if configured.

n Enabled Specifies whether error detection custom actions are enabled.

n Window Title Specifies the window title for the message box.

n Window Caption Specifies the window title for the message box. The macro %*Error% will be replaced with the last known error.

n Custom Command Line Specifies the custom command line that will be executed. Additional scripts can be added to the build process using 'Custom Files'.

- 140 -

Page 141: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Trace WindowThese properties determine how the trace window is configured during the build process and is useful for troubleshooting or testing of a build process. When enabled, the Trace Window appears during the build process with a dynamically scrolling log file.

n Enabled Specifies whether the trace window is displayed.

n Background Colour Specifies the display height (pixels).

n Date/Time Colour Specifies the date/time text colour (RGB)

n Prefix Colour Specifies the prefix text (typically shows the Imaging Toolkit component) colour (RGB).

n Debug Colour Specifies the debug text colour (RGB).

n Msg Colour Specifies the normal text colour (RGB).

- 141 -

Page 142: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Monitoring

Deployment Monitor ServerThese properties determine deployment monitoring settings during the build process.

Note: ENGL Imaging Toolkit does not include the ENGL Deployment Monitor™ server installation package or license. Visit the Deployment Monitor web page for further information.

n Enabled Specifies whether status updates will be sent to a Deployment Monitor Server at the start and end of each deploy-ment phase.

n Include detailed status updates Specifies whether detailed (task based) status updates will be sent to a Deployment Monitor Server.

Task updates are sent for:

n Phase 1: Driver installation

n Phase 1: Novell client installation

n Phase 1: ZCM agent installation

n Phase 2: ZCM registration

n Phase 2: Joining Active Directory domain/Workgroup

n Phase 3: Bundle distribution and installation

n Phase 4: Installing Windows Updates

Note: Status updates are sent periodically during the bundle distribution and installation process so not every bundle action will appear in Deployment Monitor.

n Monitor Server Specifies a Deployment Monitor Server that will receive status updates.

Note: Deployment Monitor Servers can be managed from global Options > Monitoring.

- 142 -

Page 143: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

DebugThese properties determine how debug settings for troubleshooting purposes are configured during the build process.

n Level Specifies the debug level 0-3 where 3 is the most verbose.

n Terminate After Phase Specifies the build phase number (0-4) to stop the build process. For example, to debug driver install-ation issues set this to 1 and the build process will stop once phase 1 has completed.

n Reboot Specifies whether the machine should reboot after each build phase.

n Reboot Cancel Specifies whether the machine enables the Cancel button on the build process reboot dialog.

n Run On Next Logon Specifies whether the build process will continue running after each reboot.

- 143 -

Page 144: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Novell ClientThese properties define whether and how the Novell Client is installed during deployment.

n Configuration

- 144 -

Page 145: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Configuration

Novell Client ConfigurationThese properties determine how the Novell Client is installed and configured during the build process.

n Enabled Specifies whether the Novell Client will be installed.

n Novell Client Specifies the Novell Client media that will be installed.

n Command Line Specifies the Novell Client installation command line.

n Run Login Scripts Specifies whether login scripts will be executed during the build process.

LogonThese properties determine how the Novell Client will be configured for automatic logon during the build process.

n Enabled Specifies whether the Novell Client will be used to log into eDirectory during the build process.

n Tree Specifies the NetIQ eDirectory tree.

n Context Specifies the NetIQ eDirectory context.

n Username Specifies the NetIQ eDirectory username.

n Password Specified the password for the eDirectory user.

- 145 -

Page 146: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

ZENworksThese properties define whether the ZENworks Agent will be installed during Windows deployment and how registration and bundle installation will be performed.

n Configuration

n Registration

n Group Membership

n Satellite Server Roles

n Applications

- 146 -

Page 147: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Configuration

ZENworks Agent ConfigurationThese properties determine how the ZENworks Agent is configured during the build process.

n Enabled Specifies whether the ZENworks Agent is installed during the build process.

n ZENworks Agent Version Specifies the ZENworks Agent media used during installation.

n Command Line Specifies the ZENworks Agent installation command line.

Note: The default command line for ZENworks 2017 Update 2 and later will exclude the Full Disk Encryption (FDE) component. If FDE is enabled in the zone, remove the -b fde parameter from the command line.

n ZENworks Home Path Specifies the ZENworks Agent home path.

- 147 -

Page 148: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Registration

ZENworks RegistrationThese properties determine the configuration of ZENworks registration during the build process.

n Enabled Specifies whether ZENworks registration is enabled during the build process.

n Zone Specifies the zone name.

n Server Specifies the ZENworks server name.

n Username Specifies the username used for registration.

n Password Specifies the password used for registration.

n Registration Key Specifies the key used for registration.

ZENworks Image-safe Data (ZISD)These properties determine the ZENworks Image-safe Data (ZISD) configuration used during the build process.

n Restore before registration Specifies whether ZISD will be restored (to Windows) before ZENworks registration.

n Store after registration Specifies whether ZISD will be stored (from Windows) after ZENworks registration.

- 148 -

Page 149: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Group MembershipThese properties determine how the ZENworks group membership is performed during the build process.

n Enabled Specifies whether ZENworks group membership changes will be enabled.

Group [1-5]These properties determine how a device will be added to a ZENworks workstation group during the build process.

n Target Specifies the target device group. For example, "/~Devices~/Workstations/Desktops".

n Rule Specifies a logic rule that will determine whether the registered ZENworks machine will be added to the Target device group.

The logic rule format is as follows:

variable,operator,value

Where operator value can be eq (equal to) or ne (not equal to).

For example, the following rule will check the value of the environment variable ENGL_MACHINE_TYPE and if it equals desktop then the rule will apply and the workstation will be added to the specified group:

%ENGL_MACHINE_TYPE%,eq,desktop

- 149 -

Page 150: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Satellite Server Roles

ZENworks Satellite RolesThese properties determine how the ZENworks Satellite Roles are configured during the build process.

n Enabled Specifies whether ZENworks Satellite Roles are enabled.

n Primary Server Specifies the ZENworks primary server name.

n Port Specifies the ZENworks primary server port.

n Content Specifies whether the 'Content' Satellite Role is applied.

n Imaging Specifies whether the 'Imaging' Satellite Role is applied.

n PXE Service Enabled Specifies whether the 'Imaging' Satellite Role is applied with the PXE Service enabled.

n Inventory Specifies whether the 'Inventory' Satellite Role is applied.

- 150 -

Page 151: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Applications

Note: Where applicable, clicking the icon next to an item exposes the Build Variable option which allows the use of Windows environment variables to dynamically set the value during the build process.

ZENworks Application InstallationThese properties determine how bundles are installed during the build process.

n Enabled Specifies whether ZENworks application are installed.

n Add to Startup Specifies whether the ZENworks application window will load on Windows startup.

n Command Line Switches Specifies the ZENworks application window startup command line switches.

Event HookThese properties determine how the ENGL Event Hook is configured which can allow or prevent bundles from deploying during the build process.

n Logic Rule Specifies the Logic Rule to use to control application bundle installation. Valid options are: n DebugAuditOnly

n INSTALLER AND WORKSTATION

n INSTALLER AND WORKSTATION AND OWNER

n INSTALLER AND (WORKSTATION OR OWNER)

n Device Owner Specify the ZENworks Configuration Management user object as either:

n Name e.g. JSmith

n Login Name e.g. JSmith@User Source

n Full path e.g. /Users/User Source/Sales/Jsmith

n Log Bundle Names During Analysis Specifies whether ZENworks bundle names are retrieved during logic rule analysis.Set to False to decrease bundle processing time during the build process.

5.1.6 Deployment WizardThe Build Console Deployment Wizard is used to create the files necessary to achieve a fully automated Windows build process.

The following tasks can be performed by the Deployment Wizard.

n Starting the Deployment Wizard

n Base image preparation

n Build process creation

n Driver image creation

Starting the Deployment WizardThe following are steps to start the Deployment Wizard.

1. Do one of the following:

n In the global toolbar, click to start the Deployment Wizard.

OR

n Select Tools>Deployment Wizard.

The Deployment Wizard opens.

- 151 -

Page 152: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

2. Click Next.

3. In the Task Selection panel, select one or more of the following tasks:

n Base Image preparation

n Build process creation

n Driver image creation

4. Click Next.

Base Image preparation

Note: This option is only available if a validated project is open. If you have a project open and this option is still disabled close the

Deployment Wizard, click the Validate Project icon and resolve any issues reported before re-launching the Deployment Wizard.

1. In the Boot Options panel, select the media to boot from in order to launch the Windows Unattended installation which is the starting point for creating the base image:

n Boot from Windows media Specifies that you boot from the original Windows media and use a USB drive or addi-tional CD-ROM drive to deliver the configuration files created by the Deployment Wizard.

OR

n Boot from WinPE Specifies that you boot from Windows PE media and launch the Unattended installation from there.

2. In the Unattended Options panel, the following options are available.

a. To automatically prepare the machine for imaging select Automatically prepare machine for imaging after unat-tended installation. If this option is not selected Windows will boot to the desktop and allow further modifications to be made, however the Image Preparation Tool will need to be run manually.

b. To automatically download and install the latest Windows updates at the end of the unattended installation, select Install Windows updates.

c. To remove default and consumer Windows applications, select Remove default and consumer Windows applic-ations.

Note: If the project is configured to use Windows 10 media and you do not want to remove default and consumer Windows applications, then deselect the Remove default and consumer Windows applications option.

d. To run the base image creation process on UEFI hardware, select Install on UEFI hardware.

Note: When using ZENworks native imaging (Linux / ZMG), if the base image is created on UEFI hardware then it can only be restored to UEFI hardware. To create a base image that can be restored to both BIOS and UEFI hardware do not select the Install on UEFI hardware option and create the base image on a BIOS machine.

3. Click Next.

4. In the Update type panel, the following options are available: a. To install Windows updates from all update classifications with the exception of language packs and preview updates,

select All updates.

b. To install Windows updates from just the Critical and Security update classifications, select Critical / Security updates.

5. In the Update source panel, the following options are available: a. To install Windows updates from the Microsoft Windows Update source, select Windows Update.

b. To install Windows updates from a WSUS server, select WSUS and specify the WSUS server and Target group.

- 152 -

Page 153: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Note: The WSUS server must include "http://" or "https://" and trailing port number (":8530"). The Target group must be configured as per the WSUS prerequisites.

6. Click Next.

7. If Remove default and consumer Windows applications was selected in step 2 a list of Windows built-in applications will be displayed on the Windows Built-in applications page. Select which built-in Applications to Remove during base image pre-paration and which built-in Applications to Retain.

8. If there are valid Mass Storage Drivers in the File Library for the version of Windows defined in the project the Universal Base Image Mass Storage Driver Selection page will be displayed. Select any Mass Storage Drivers that are required in the uni-versal base image to support all of the machine types that will be deployed using the project.

9. Click Next.

10. If Boot from WinPE was selected in step 1 and there are valid Mass Storage Drivers for WinPE available in the File Library, the WinPE Mass Storage Driver Selection page will be displayed. Select the Mass Storage Drivers required for the machine on which the base image preparation process will be run.

11. Click Next.

12. The Deployment Wizard will calculate the amount of space required to perform the tasks selected and the amount of space available. If there is enough free space click Next to continue.

13. Once the process completes click OK on the Deployment has completed successfully message box.

14. Select one or more of the following items:

n Display task list launches a browser with a list of tasks to be completed in order to create a successful deployment.

n Open project folder opens the project folder in Windows Explorer so that the files created by the Deployment Wizard can be copied to their appropriate locations.

n Display log file opens the Build Console log file and is useful to review if an error is reported.

15. Click Finish.

Build process creation

1. In the Image Selection panel, select one or more of the following images to create:

n Novell components (novcomp.wim|zmg) specifies that the image containing the Novell Client and / or ZENworks Agent should be created.

Note: If the project is not configured to install either the Novell Client or the ZENworks Agent this option will be disabled.

n Build process (ztoolkit.wim|zmg) specifies that the ztoolkit image containing the build process files should be recre-ated. This should be rebuilt whenever changes are made to project settings or the Imaging Toolkit has been upgraded.

n Encrypt passwords in the control file (Zmainrun.xml) specifies that all password values written to the build process control file should be encrypted.

n UEFI boot image specifies that a UEFI boot image should be created.

Note: When using ZENworks native imaging (Linux / ZMG), the creation of a UEFI boot image is only available for supported 64-bit platform versions of Windows. The UEFI boot image allows a traditional MBR (BIOS) base image to be deployed to a UEFI machine.

2. Click Next.

3. The Deployment Wizard will calculate the amount of space required to perform the tasks selected and the amount of space available. If there is enough free space click Next to continue.

4. Once the process completes click OK on the Deployment has completed successfully message box.

5. Select one or more of the following items:

- 153 -

Page 154: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Display task list launches a browser with a list of tasks to be completed in order to create a successful deployment.

n Open images folder opens the images folder in Windows Explorer so that the images created by the Deployment Wiz-ard can be copied to the imaging server.

n Display log file opens the Build Console log file and is useful to review if an error is reported.

6. Click Finish.

Driver image creation

Note: n Since Imaging Toolkit 10.0.3, driver images are created with an encrypted configuration file. After upgrading to Imaging

Toolkit 11.0.8, the Deployment Wizard must be used to recreate the Ztoolkit build process add-on image to ensure that driver images will be correctly processed and installed.

n If there are no driver packs available for deployment, i.e., there are no driver packs.

Or

There are no downloaded drivers in any driver packs

Or

There are no enabled drivers in any driver packs

Then this option will not be available.

1. Select the sort by method to display available driver packs by:

n Machine type specifies that machines are organised by manufacturer and driver packs for all operating systems can quickly be selected for a specific model / manufacturer.

n Windows Version specifies that driver packs are organised by operating system and driver packs for all man-ufacturers / models can quickly be selected for a specific operating system.

2. Select one or more driver packs to create a driver image for and click Next.

3. The Deployment Wizard will calculate the amount of space required to perform the tasks selected and the amount of space available. If there is enough free space click Next to continue.

4. Once the process completes click OK on the Deployment has completed successfully message box

5. Select one or more of the following items:

n Display task list launches a browser with a list of tasks to be completed in order to create a successful deployment.

n Open images folder opens the images folder in Windows Explorer so that the images.ini and image files created by the Deployment Wizard can be copied to the imaging server.

n Display log file opens the Build Console log file and is useful to review if an error is reported.

6. Click Finish.

5.1.7 Integration WizardThe Integration Wizard is used to configure or update Imaging Toolkit for ZENworks. This is a required step for imaging and build process automation.

n Starting the Integration Wizard

n Updating imaging files

n Configuring Zim

n Creating build process bundles

n Completing the Integration Wizard

- 154 -

Page 155: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Starting the Integration WizardThe following are steps to start the Integration Wizard.

1. Do one of the following:

n In the global toolbar, click to start the Integration Wizard.

OR

n Select Tools>Integration Wizard.

The Integration Wizard opens.

2. Click Next.

3. Click the Desktop Management version down arrow to display compatible versions of your management solution, then select the exact version running in your environment.

4. In the Task Selection panel, select the appropriate tasks and click Next.

5. Based on the Task Selection, follow the appropriate steps.

Updating imaging filesThe following are steps to update ZENworks (Linux or WinPE) imaging files.

1. Start the Integration Wizard and select Update Imaging Files then click Next.

2. If ZENworks Configuration Management (Linux/ZMG) is configured in Global settings:

To download a modified version of the ZENworks Linux imaging initrd (initial ramdisk) file that includes Imaging Toolkit integ-ration, perform the following steps:

a. Select Download initrd containing Zim integration hook.

b. Click the ZENworks Imaging Version down arrow to select a ZENworks version including patch level that matches your ZENworks imaging environment.

c. Under General Imaging Options: n TFTP Source Folder Enter the path to a ZENworks imaging TFTP folder that will be updated with Imaging

Toolkit integration.

n Bypass Preboot Menu Specifies that the ZENworks imaging pre-boot menu will automatically bypassed dur-ing the PXE boot process.

OR if ZENworks Configuration Management (WinPE/WIM) is configured in Global settings:

Perform the following steps: a. Under TFTP Integration Tasks:

n TFTP Source Folder Enter the path to a ZENworks imaging TFTP folder that will be updated with Imaging Toolkit integration.

n Bypass Preboot Menu Specifies whether the ZENworks imaging pre-boot menu will automatically bypassed during the PXE boot process.

b. Click Next.

c. Select the Windows PE Language required for the boot image and click Next.

Note: The language selection will control the keyboard layout and user interface language in Windows PE.

d. If the File Library contains any Mass Storage Drivers which are valid for Windows PE 10 the Mass Storage Drivers page will be displayed. Select the required mass storage drivers and platforms to be added to the Windows PE boot image.

OR if ZENworks Configuration Management (WinPE/ZMG) is configured in Global settings:

- 155 -

Page 156: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Provide settings to connect to a ZENworks primary server, this server is used to retrieve the files required for img support in WinPE.

a. ZENworks server Specifies the ZCM Primary server

b. ZENworks Administrator User Specifies a ZENworks Administrator user.

c. Administrative user password Specifies the ZENworks Administrator user's password.

d. Click Next.

e. Under TFTP Integration Tasks: n TFTP Source Folder Enter the path to a ZENworks imaging TFTP folder that will be updated with Imaging

Toolkit integration.

n Bypass Preboot Menu Specifies whether the ZENworks imaging pre-boot menu will automatically bypassed during the PXE boot process.

f. Click Next.

g. Select the Windows PE Language required for the boot image and click Next.

Note: The language selection will control the keyboard layout and user interface language in Windows PE.

h. If the File Library contains any Mass Storage Drivers which are valid for Windows PE 10 the Mass Storage Drivers page will be displayed. Select the required mass storage drivers and platforms to be added to the Windows PE boot image.

3. Follow Completing the Integration Wizard steps.

Configuring ZimThe following are steps to configure Zim (imaging front-end).

1. Select Update Zim Binaries and License to update Zim binary executables, dependencies and license files.

2. Select Create Templated Zim Script to create a default Zim Script (zim.cfg) file.

3. Select Disable Exit from Zim Menu to disable exiting Zim using the F3 key.

4. Select Create Project Lookup File to create a projects.ini file containing recently opened Build Console projects that will be displayed by the imaging restore menu.

5. Click Next.

6. If you selected Create Project Lookup File complete the following steps:

a. Select Build Console projects to be included in the imaging restore menu.

b. Click Next.

7. If you selected Create Templated Zim Script complete the following steps:

a. Select a Login Method that will be used before the imaging menu is displayed:

n None Specifies authentication is disabled.

OR

LDAP Authentication Specifies authentication will use LDAP with Microsoft Active Directory or NetIQ eDirectory.

OR

Simple Password Specifies authentication will use a static password prompt.

b. Click Next.

c. If you selected LDAP Authentication then complete the following steps:

- 156 -

Page 157: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Enter a Hostname for the LDAP server used for authentication.

n Enter a Port for the LDAP server connection.

n Select Enable SSL to enable LDAP SSL (Secure Sockets Layer) certificate then click the down arrow to select a previously imported LDAP Certificate.

Note: Select <New> to import a LDAP Certificate.

n Enter a Proxy User in fully Distinguished Name format that will be used to perform LDAP contextless login.

n Enter a Proxy Password for the Proxy User.

n Enter a Login Using LDAP attribute that will be used to perform LDAP contextless login.

Note: The recommended search attribute for eDirectory is cn and for Active Directory sAMAccountName.

n Click Test button to test the LDAP connection settings.

Note: If the Hostname is set to %PROXYADDR% then the test will fail as PROXYADDR is only set during the booting of ZENworks imaging.

n Click Next.

n Enter a Caption to be displayed in the login box.

n Click the Colour down arrow and select a login box colour.

Note: Specifying a login box colour is not available for WinPE imaging.

n Click Define to configure LDAP search scopes by specifying the search order using a fully distinguished name Context and a search Depth then click OK.

Note: For an unlimited search depth enter 99.

n Select Display Context to enable display of the LDAP context edit box at login.

n Select Enable Intruder Detection to enable intruder detection on a LDAP authentication failure.

n Click Next.

d. If you selected Simple Password then complete the following details:

n Prompt Specifies a message that will be appear above the password input box.

n Password Specifies a password that must be entered.

n Retries Specifies the number of attempts that can be made before intruder detection is triggered.

n Failure Message Specifies a text message that will appear when an incorrect password is entered.

n Click Next.

e. Complete the Restore Menu settings as follows:

n Enter a Caption to appear at the top of the menu.

n Click the Colour down arrow and select a menu colour.

Note: Specifying a menu colour is not available for WinPE imaging.

n Configure Restore Menu Security as follows:

n Select None to disable security.

OR

- 157 -

Page 158: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

n Select Password and enter a password that will be required to access the menu.

OR

Select LDAP Filter enter a LDAP filter or click and select a context.

n Configure Zim Images Path settings as follows:

n Select Images are on Local Media if image files will be restored from a local drive.

n Specify a Server where images are stored.

n Specify a Path where image files are located.

n If using WinPE imaging and accessing image files from a share, enter the Username and Password to be used for authentication.

n Click Next.

f. Complete the Maintenance Menu settings as follows:

n Enter a Caption to appear at the top of the menu.

n Click the Colour down arrow and select a menu colour.

Note: Specifying a menu colour is not available for WinPE imaging.

n Configure Maintenance Menu Security as follows:

n Select None to disable security.

OR

n Select Password and enter a password that will be required to access the menu.

OR

Select LDAP Filter enter a LDAP filter or click and select a context.

n Click Next.

8. Follow Completing the Integration Wizard steps.

Creating build process bundlesThe following are steps to create ZENworks application deployment process bundles.

1. Enter the ZENworks Server address.

2. Enter the ZENworks Administrator User with sufficient permissions to create folders and create, assign and publish bundles.

3. Enter the Administrator User Password.

4. Click Test Connection.

5. Select Assign Bundle to ENGL Installer User then click and select a user.

6. Click Next.

7. Follow Completing the Integration Wizard steps.

Completing the Integration Wizard

1. At the Integration Progress page click Next.

2. At The Integration was successful message, click OK.

- 158 -

Page 159: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

3. At the Finish page select one or more of the following options:

a. Display Task List displays post-integration tasks to be completed page in your web browser.

OR

b. Open Integration Folder opens the customised TFTP folder created by the Integration Wizard in Windows Explorer.

OR

c. Display Log File displays the Build Console log file.

4. Click Finish.

5.1.8 Create WinPE Boot Media WizardThe Create WinPE Boot Media Wizard can be used to create bootable USB media for restoring images that were created using ENGL Imaging Toolkit.

Note: Use the Boot Media Wizard for WinPE/ZMG and WinPE/WIM based imaging, if using Linux/ZMG imaging follow this procedure.

n Requirements

n Folder structure and configuration

n Create network connected WinPE imaging media

n Create disconnected WinPE imaging media

RequirementsThe following table includes storage device compatibility.

Network connectivity Supported storage device Zim binaries and script WIM images

Connected USB disk drive or USB pen drive(2GB or above capacity)

Retrieved from TFTP server Restored from server

Disconnected USB disk drive (2GB or above capacity)

Included in media Included in media (optional)

Note: The Disconnected option is not available for USB pen drives because a USB pen drive only supports a single partition. The Disconnected option requires two partitions, one for WinPE to boot from and a second partition for image files.

Network Device Drivers

The Boot Media Wizard will automatically add any Network Device Drivers listed in the File Library to the WinPE boot media. Before running the Boot Media Wizard ensure any required network drivers for WinPE connectivity are added to the File Library.

Folder structure and configurationFolder structure

- 159 -

Page 160: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

<boot_partition>

+ EnglBoot.ini

+ \zimfiles

+ \x86

+ \x64

The boot partition contains WinPE, EnglBoot.ini configuration file and Zim files (disconnected mode only).

Note: In disconnected mode, the contents of the Zim files path entered into the Create WinPE Boot Image Wizard, will be copied to the <boot_partition>\zimfiles folder. The following files will be required: zim.cfg, images.ini and projects.ini.

<images_partition>

+ \images

+ \drivers

+ \os

+ \projects

The images partition is the location where WIM image files can be stored.

Note: In disconnected mode, the contents of the WIM images path entered into the Create WinPE Boot Image Wizard, will be copied to the <images_partition>\images folder. The images folder structure should mirror the standard images folder structure used by Imaging Toolkit on the imaging server.

EnglBoot.ini

The EnglBoot.ini file is created by the Create WinPE Boot Media Wizard.

INI Section Key Value / Description

ZimLoader BootMethod Specifies the network connection mode as follows: n Network - Zim files and WIM images will be restored from the network

n Local - Zim files and (optionally) WIM images will be stored on the USB device

TFTPIP Specifies the TFTP server's IP / DNS address in network connected mode.

ZimCmdLineParams Specifies the Zim command line parameters when loading Zim in disconnected mode.

Environment variables

Windows environment variables will be created by Zim Loader as part of the WinPE boot process and settings in EnglBoot.ini.

The environment variables can be used in a Zim Script (zim.cfg) to check for network connectivity and to specify a source path for WIM image restore.

Note: n When running the Integration Wizard ensure Images are on local media is selected if the image files will be stored on the

USB device.

n For compatibility with both WinPE USB connected and disconnected modes, the Zim Script used should be modified with logic to detect whether network connectivity is available and then correctly restore WIM's (WIM:Apply commands) using either a network share UNC path or a local path using the Zim _ImageVolume variable.

Variable name Value

PROXYADDR Set depending on the EnglBoot.INI BootMethod value as follows: n Network - PROXYADDR will be set to the EnglBoot.INI TFTP address

n Local - PROXYADDR will be set to 127.0.0.1

Create network connected WinPE imaging mediaThe following are steps to create network connected media.

1. From Build Console select Tools>Create WinPE Boot Media.

2. At the Welcome page click Next.

- 160 -

Page 161: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

3. At the Boot Media page perform the following steps: a. Ensure a supported USB storage device is connected to the machine running Build Console.

Note: Click the button to refresh the target device list.

b. Select the Target device that will be erased and configured to boot WinPE.

Warning: All partitions and data on the target device will be destroyed. A warning will be displayed and confirmation will be required before the target device is written to.

c. For Network connectivity, select Connected, then enter the TFTP server IP or DNS address.

d. Click Next.

4. If using WinPE/ZMG imaging, at the ZENworks Settings page specify the ZCM Primary server, ZCM Administrator user and password.

Note: These settings will only appear when the Integration is set to ZENworks Configuration Management (WinPE/ZMG) in Options.

5. At the Customisation page select the Windows PE Language required for the boot media.

Note: The language selection will control the keyboard layout and user interface language in Windows PE.

6. Select whether to Enable F8 command prompt access for troubleshooting purposes and click Next.

7. If the File Library contains any Mass Storage Drivers which are valid for Windows PE 10 the Mass Storage Drivers page will be displayed. Select the required mass storage drivers and platforms to be added to the Windows PE boot media.

8. At the Progress page, click Next.

9. A warning that all partitions and data on the specified USB device will be destroyed. Click Cancel to abort or OK to continue.

10. When the boot media creation process completes, select to Display log file if an error occurred then click Finish.

Create disconnected WinPE imaging mediaThe following are steps to disconnected media.

1. From Build Console select Tools>Create WinPE Boot Media.

2. At the Welcome page click Next.

3. At the Boot Media page perform the following steps: a. Ensure a supported USB storage device is connected to the machine running Build Console.

Note: Click the button to refresh the target device list.

b. Select the Target device that will be erased and configured to boot WinPE.

Warning: All partitions and data on the target device will be destroyed. A warning will be displayed and confirmation will be required before the target device is written to.

c. For Network connectivity, select Disconnected, then enter a path to the Zim files and WIM images.

Note: See Folder structure and configuration for Zim files and WIM image path requirements. Refer to ENGL TID-2016010 for configuring the disconnected imaging environment.

d. Click Next.

4. If using WinPE/ZMG imaging, at the ZENworks Settings page specify the ZCM Primary server, ZCM Administrator user and password.

- 161 -

Page 162: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

Note: These settings will only appear when the Integration is set to ZENworks Configuration Management (WinPE/ZMG) in Options.

5. At the Customisation page select the Windows PE Language required for the boot media.

Note: The language selection will control the keyboard layout and user interface language in Windows PE.

6. Select whether to Enable F8 command prompt access for troubleshooting purposes and click Next.

7. If the File Library contains any Mass Storage Drivers which are valid for Windows PE 10 the Mass Storage Drivers page will be displayed. Select the required mass storage drivers and platforms to be added to the Windows PE boot media.

8. At the Progress page, click Next.

9. A warning that all partitions and data on the specified USB device will be destroyed. Click Cancel to abort or OK to continue.

10. When the boot media creation process completes, select to Display log file if an error occurred then click Finish.

5.1.9 Build Console Migration ToolThe Build Console Migration Tool can be used to migrate File Library and Project content from one administrative machine to another.

Content included in the exportThe following content is included when performing a Build Console Migration Tool export.

n All File Library media and downloaded drivers

n All projects previously opened in Build Console

Using the Build Console Migration ToolThe following tasks can be performed using the Build Console Migration Tool.

n Clean up before export

n Exporting from the source machine

n Importing to the target machine

Clean up before exportBefore running the Build Console Migration Tool we recommend completing the following steps to ensure only required projects and media are migrated:

1. Use Manage Projects to ensure all projects are valid and remove any that are no longer required.]

2. From the Tools menu, select Remove unused files.

Exporting from the source machineFollow these steps to export Build Console File Library and Project content from the source machine.

Warning: The export process can be a lengthy operation depending on the size of File Library and Project content. Build Console cannot be used whilst the Migration Tool is running.

1. Close Build Console if running on the source machine.

2. On the target machine where Imaging Toolkit 11.0.8 is installed, open the following folder based on the OS platform of the source machine:

<InstallationPath>\Tools\<Platform>

3. Copy the Build Console Migration Tool (MigTool.exe) from the target machine to a folder on the source machine, and launch it from there.

- 162 -

Page 163: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

5 Configuration

4. Select Export mode.

5. Browse to a Target folder where the exported archive (.bcarc) will be created.

6. Click Export.

7. After the export has completed, click OK, then click Exit.

Importing to the target machineFollow these steps on the target machine to import previously exported Build Console File Library and Project content.

Warning: The import process can be a lengthy operation depending on the size of File Library and Project content. Build Console cannot be used whilst the Migration Tool is running.

1. Ensure Build Console options have been configured including File Library and Projects folder, and if required a Monitoring server (Deployment Monitor) has been defined.

Note: n Ensure there is sufficient disk space on the target machine based on the disk usage from the source machine and

the size of the exported archive.

n Build Console configured folders will be used by the Build Console Migration Tool during import to restore the File Library and Project content.

2. Close Build Console if running.

3. Run the Build Console Migration Tool based on the target machine OS platform as follows:

<InstallationPath>\Tools\<Platform>\MigTool.exe

4. Select Import mode.

5. Browse to a Source archive (.bcarc) file that will be imported.

6. Click Import.

7. After the import has completed, click OK, then click Exit.

- 163 -

Page 164: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6 ImplementationThis section contains detailed information on how to use Imaging Toolkit to deploy Windows in your ZENworks environment using the following process:

1. Add the required media to the File Library.

2. Create a new Project.

3. Gather hardware inventory and create driver images.

4. Run the Deployment Wizard to create the deployment components.

5. Create the Windows universal base image for each version of Windows to be deployed.

6. Copy the deployment images to the server.

7. Update the TFTP server.

8. Test the deployment process.

The following topics can be used to customise your deployment further:

n Creating a Hotfixes Image

n Deploying applications

n Imaging Configuration Files (.INI)

n Advanced configuration

- 164 -

Page 165: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.1 Creating the universal base imageThe supported method of installing Windows is to create an Unattended Windows installation that will guarantee an identical result every time.

By using an Unattended installation components such as Windows hotfixes and additional updates can be installed automatically as part of the process ensuring a consistent base image is created if an updated version is required in the future.

Note: Only hotfixes and core Windows components such as updated versions of Internet Explorer or Windows Media Player should be included in the Unattended installation. Applications should be delivered using your Desktop Management product during the build process.

Warning: The Novell Client or ZENworks Configuration Management Agent should never be installed in the base image. If required, they will be installed during the deployment process.

1. Create the Universal Base Image on a machine with a hard disk capacity of at least 60 GB (or the sum of the values con-figured in the Unattend project setting if larger) using one of the following methods:

a. Booting from the Windows media

i. Copy the contents of the <project folder>\Unattend\autounattend folder from the build directory to a blank USB pen drive or other removable media.

Note: Ensure the USB pen drive contains only the contents of the autounattend folder.

ii. Plug the USB pen drive into a machine and boot using the Windows media.

Or

b. Booting from WinPE media

i. Boot a target machine using the boot media created by the Build Console

Note: The Windows media or WinPE media must remain available to the machine throughout the unattended installation process.

2. If Automatically prepare machine for imaging after unattended installation was selected, Windows will be installed and the Image Preparation Tool will run. Additionally, if Install Windows updates was selected, the Image Preparation Tool will download and install the latest Windows updates that will be part of the base image. If All updates was selected, Windows updates from all update classifications will be installed, alternatively if Critical / Security updates was selected only updates from the Critical and Security Windows update classifications will be installed.

Note: Language packs and preview updates will not be installed when All Updates is selected.

Or

If Automatically prepare machine for imaging after unattended installation was not selected, once the unattended install-ation has completed run the Imaging Toolkit Image Preparation Tool (%SystemDrive%\Ztoolkit\Zimageprep.exe) and step through the wizard.

3. When the Windows installation process has finished a shutdown prompt will appear, shut the machine down at this point.

Warning: Do NOT boot into Windows before creating the base image.

4. Boot into the imaging environment and create the universal base image by completing the following steps:

If using ZENworks imaging (ZMG format):

a. From Zim, select the Maintenance menu, then select the Development menu.

b. Select the Make an image option.

- 165 -

Page 166: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

c. Select the appropriate project from the list.

d. Set the Image Type to OS.

e. Click OK.

f. The Image path is displayed along with the Image name based on:

<os>[-sp<servicepack>]-<version>-<platform>-<build>-postsp.zmg, e.g. 'win10-ent-x64-10586-postsp.zmg'.

Note: The build number is only included for Windows 10.

g. Press OK.

Or

If using ENGL WinPE imaging (WIM format) with ZENworks:

a. From Zim, select the Maintenance menu, then select the Development menu.

b. Select the Make an image option.

c. Set the Image Type to OS and select the appropriate Project from the list.

d. Click OK.

e. The Image path is displayed along with the Image name base on:

<os>[-sp<servicepack>]-<version>-<platform>-<build>postsp.wim, e.g., 'win10-ent-x64-10586-postsp.wim'

Note: The build number is only included for Windows 10.

f. Check that both the image path and image name are correct and that the appropriate Partitions are selected.

g. Click OK to create the image.

- 166 -

Page 167: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.2 Creating a hotfixes imageThe Image Preparation Tool can be used to download and install Windows updates whilst creating the universal base image. The base image should always be created with the latest Windows updates to avoid delays during OS deployment.

Once the base image has been created, Zupdate can be used to identify and download all required Microsoft hotfixes for a given installation of Windows and create a hotfixes image for use with the deployment process. During imaging deployment, the hotfixes image will be restored after the base image, and the ENGL build process will automatically install Windows hotfixes contained in the hotfixes image.

Note: Zupdate requires access to either the Microsoft Update server via the Internet or an internal WSUS server. If using an internal WSUS server the machine must already be registered with the specified WSUS server.

The following tasks must be completed for each operating system being deployed.

1. Identify a machine running the version of Windows (including major service pack) that you plan to deploy.

Note: This should be the current Universal Base Image.

2. Copy the following files to a USB pen drive, an accessible network share or other removable media:

a. x86 install: n C:\ProgramData\ENGL\ImagingToolkit\engl.lic

n <ImagingToolkit_InstallationPath>\Ztoolkit\x86\zupdate.exe

n <WindowsADK_InstallationPath>\Assessment and Deployment Kit\Deployment Tools\x86\DISM\wimgapi.dll

b. x64 install: n C:\ProgramData\ENGL\ImagingToolkit\engl.lic

n <ImagingToolkit_InstallationPath>\Ztoolkit\x64\zupdate.exe

n <WindowsADK_InstallationPath>\Assessment and Deployment Kit\Deployment Tools\am-d64\DISM\wimgapi.dll

3. Run Zupdate from the removable media.

4. Select the type of Windows Update Server to use and select Critical/Security updates only then click Next.

Note: Zupdate can retrieve all available updates from Microsoft, this will include updates for Internet Explorer, Windows Media player etc. ENGL recommend that only the Critical/Security updates are included in the hotfixes image. All other updates, in particular .NET Framework updates, should be integrated into the base image or delivered as applications or using phase scripts.

5. Update the Windows Update Agent if necessary, if the current Windows Update agent is installed then click Next.

Note: The new Windows Update agent will be automatically installed however a reboot may be required before Zupdate can continue.

6. When the list of available updates appears, select the required hotfixes from the list.

7. Set the Target path to be <removable media>\zupdate, then click Next.

8. Ensure Create image containing Windows Updates is selected and specify the Image Type then click Next.

9. Once the download process has completed click Finish to close Zupdate.

10. Copy the <removable media>\zupdate\hotfixes.zmg|wim to the <Project Folder> folder on the imaging server.

- 167 -

Page 168: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.3 Adding images to the serverThe deployment process images need to be placed onto the server ready for deployment.

Location of Image FilesWhen using ZENworks imaging the image files (.ZMG) need to be added to the ZENworks Content Repository images folder. The folder location varies based on the ZENworks server operating system:

n On Windows: %ZENWORKS_HOME%\work\content-repo\images

n On Linux: /var/opt/novell/zenworks/content-repo/images

If using ENGL WinPE imaging (WinPE/WIM) a Windows share must be made available to store the image (.WIM) files.

Within the images folder or Windows share the following folder structure needs to be created or copied from the images folder created by the Deployment Wizard. These folders will store driver images, Windows base images and project images and the deployment process relies on this structure:

An example of a populated folder structure:

- 168 -

Page 169: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Copying Image FilesThe Images folder (as defined in the Build Console Folder Options) will contain a folder structure containing images created by the Deployment Wizard. This folder structure should be copied to the images folder or Windows share on the server.

The Windows universal base image for each Windows version to be deployed will be placed into the \os\<Windows version> folder when .

If a hotfixes image has been created this should also be copied to the appropriate <project name> folder.

- 169 -

Page 170: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.4 Updating the TFTP serverThe Build Console Integration Wizard can create an updated version of the ZENworks server TFTP folder with Imaging Toolkit integrated and configured.

The Integration folder (as defined in the Build Console Folder Options) will contain a ZENworks\tftp folder. The tftp folder is used to replace the standard ZENworks TFTP folder.

Note: For troubleshooting purposes ENGL recommend that a backup copy of the original ZENworks TFTP folder is maintained.

To integrate Imaging Toolkit with the ZENworks TFTP server complete the following steps:

1. Rename the current ZENworks TFTP folder to tftp.zenworks.

The ZENworks TFTP folder location varies based on the ZENworks server operating system:

n On Windows: %ZENWORKS_HOME%\share\tftp

n On Linux: /srv/tftp

2. Copy the tftp folder created by the Integration Wizard to the same location.

3. PXE boot a workstation and check that the Imaging Toolkit splash screen appears.

ENGL WinPE Imaging ConfigurationIf the Integration Settings within the Global Settings is configured as either ZENworks Configuration Management (WinPE/WIM) or ZENworks Configuration Management (WinPE/ZMG) the updated TFTP folder will contain a customised WinPE imaging environment.

Imaging Toolkit uses WinPE supplied with the Windows ADK and does not utilise the ZENworks configured Third-Party imaging environment. If using WIM images, all imaging operations are carried out using Zim, alternatively if using ZMG images with WinPE the ZENworks imaging engine (img.exe) will be used for imaging operations. Note: ZENworks Third-Party imaging does not need to be configured to use ENGL WinPE (WIM or ZMG based imaging) with Imaging Toolkit. If automated imaging (via imaging bundles) is required, ZENworks Third-Party imaging must be configured to enable use of WinPE Imaging Script bundles.

The following changes are made to the ZENworks TFTP folder:

n An englpe folder is created that contains the ENGL WinPE imaging environment.

n If ZENworks Configuration Management (WinPE/ZMG) is set in Global Settings, a 3PIUtils folder is created containing the ZENworks imaging engine binaries.

n If ZENworks Third-Party imaging is configured the bootmgr.exe and \boot\bcd files are replaced, otherwise new bootmgr.exe and \boot\bcd files are created.

n An engl-winpe.cfg file is created and referenced in a menu option in pxemenu.txt.

Note: To revert the Third-Party imaging environment back to the standard ZENworks configuration go to the TFTP folder and:

1. Rename bootmgr.exe to bootmgr.exe.engl2. Rename bootmgr.exe.old to bootmgr.exe3. Rename \boot\bcd to \boot\bcd.engl4. Rename \boot\bcd.old to \boot\bcd

- 170 -

Page 171: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.5 Deploying applicationsApplications may be installed during phase 3 of the deployment process using ZENworks application bundles assigned to either a defined build user or to the device being deployed. The methods for assigning bundles are documented in Manually Creating ZENworks Bundles.

In order to maintain a consistent process, Imaging Toolkit will control when applications are installed. The deployment process will disable bundle installation except when phase 3 is active. ZENworks System and Patch bundles will be blocked during all phases in order that they do not disrupt the deployment process.

Imaging Toolkit includes the ability to control application delivery based on the device or user (owner) of the machine being deployed. An Application Logic Rule can been configured that will evaluate the bundle assignments in ZENworks and determine the bundles that should be installed during deployment. This approach means that a machine can be deployed with all of the applications the user may need based on their department or role rather than the applications being delivered when the user logs in for the first time.

Applications that are required to be delivered during the deployment process are added to the _Installer bundle. The _Installer bundle is deployed in phase 3 of the build process and controls the installation of each application bundle, it also allows control of the order of installation.

Note: The _Installer bundle must be configured to be the first bundle to start in phase3 (ZCM Bundle Ordering may be used to ensure this happens).

The final action of the _Installer bundle is to launch the _LastAppInstalled bundle, this bundle flags the end of the application installation process and instructs the build process to continue.

Note: Machine reboots are supported during phase 3 of the build process provided the action is called explicitly by the _Installer bundle and not by the individual application bundles.

The following are steps to add application bundles to the _Installer bundle.

1. Login to ZENworks Control Center and browse to the Bundles folder then the ENGL folder.

2. Select the _Installer bundle.

3. Select the Actions tab.

4. Select the Install action set.

5. Add an Install Bundle action for each application bundle that you want to install during the build process.

Note: Bundles install in the order specified and the _LastAppInstalled bundle must be the last bundle in the list.

6. Ensure Continue on Failure is checked for every application bundle added to the action set.

7. Apply the changes to the bundle and publish the new version.

- 171 -

Page 172: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

6.6 Imaging configuration filesIn order to automate the restoration of images two lookup files are required. These files are normally created by the Build Console based on the projects selected when running the Integration Wizard and the project and drivers selected when running the Deployment Wizard.

These files may need some modification in your environment and so their layout and function are described here.

Images.iniThe images.ini controls which driver image a machine restores, what type of machine it is, and which operating systems it supports. At minimum it must specify the driver image to restore, but may be extended to include other machine-specific information if required.

Standard images.ini layoutThe following describes the entries in a typical images.ini originally created by the Build Console Deployment Wizard following a successful driver deployment.

Note: The updated images.ini file is in in the <images path>\drivers folder and must be copied from here to the TFTP server's zim-files folder.

; Program that generated this file

; Copyright

; Date and time this file was created

; This is a sample images.ini file that can be used by ENGL Zim to automate the selection and

; restoration of hardware specific driver images. Driver images can be created using Build Console

; which also generates additional information for the images.ini lookup file.

[Manufacturer*]

Model* = "Name of machine-specific driver image | Machine type | Comma separated list of project oper-

ating systems supported by this machine"

* The Manufacturer and Model details must match the information passed by ENGL Zim when querying the images.ini.

Manufacturer entries may include a wildcard to reduce the number of sections required. For example Dell* will match Dell Inc. and Dell Computer Corporation.

Sample images.ini layoutThe following is a sample images.ini file showing some of the changes that might be made to deliver driver images for several machines and to limit which machines are able to deploy a certain operating system when used in conjunction with the standard ENGL Zim.cfg as generated by the Build Console Integration Wizard.

Note: The image file name extension (.zmg or .wim) should not be specified, in order that the images.ini remains valid for either imaging method.

; This is a sample images.ini file that can be used by ENGL Zim to automate the selection and

; restoration of hardware specific driver images. Driver images can be created using Build Console

; which also generates additional information for the images.ini lookup file.

[Dell*]

Latitude E6530="drivers-dell-latitude-E6530|laptop|win7-x86"

OptiPlex 755="drivers-dell-optiplex-755|desktop|win7-x86"

OptiPlex 7010="drivers-dell-optiplex-7010|desktop|win8-x64"

- 172 -

Page 173: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

[Hewlett*]

HP Compaq dc5800 Small Form Factor="drivers-hp-hp-compaq-dc5800-small-form-factor|desktop|win7-x86"

Projects.iniThe projects.ini is used by the standard ENGL Zim script as generated by the Build Console Integration Wizard to display a list of projects that have been created using the Build Console and contains details of the path to the images and the image names themselves in order that a single script can be used to deploy multiple combinations of Operating System and build process configuration.

Note: The image file name extension (.zmg or .wim) should not be specified, in order that the projects.ini remains valid for either imaging method.

Standard projects.ini layoutThe following describes the entries in a typical projects.ini originally created by the Build Console Deployment Wizard.

;

; ENGL Zim projects.ini lookup file

;

[Projects]

projectId = "Project Description"

; Project details

[Project Description]

Description = Project Description

project_image_path = Path to image files

project_os = Project operating system, this is the long version of the operating system name

including edition and service pack e.g. win7-pro-sp1-x86

driver_os = Driver operating system, this is the short version of the operating system name

e.g. win7-x86

base_image = Name of base image file

efi_boot_image = Name of UEFI boot image file (Windows 7 or above 64-bit and Server 2012 operating

systems only)

ztoolkit = Name of ztoolkit image file

novcomp = Name of novcomp image file (may be blank)

partition_count = The number of partitions set in the project and created in the base image by the

Windows Unattended installation process

partition1_size = The size of the first partition set in the project and created in the base image

by the Windows Unattended installation process

partition2_size = The size of the second partition set in the project and created in the base image

by the Windows Unattended installation process

Sample projects.ini layoutThe following is a sample projects.ini file showing some of the changes that might be made when several projects have been created and then selected, when running the Build Console Integration Wizard.

;

; ENGL Zim projects.ini lookup file

;

[projects]

- 173 -

Page 174: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

project1 = Windows 10 Enterprise (x64)

project2 = Windows 7 Professional (x64)

project3 = Windows 7 Professional (Paris Office) (x86) - French

project4 = Windows 7 Professional (Lab Machine) (x86)

; Project details

[Windows 10 Enterprise (x64)]

Description = Windows 10 Enterprise (x64)

project_image_path = win10-standard-build

project_os = win10-ent-x64

driver_os = win10-ent-x64

base_image = win10-ent-x64-16299-postsp

partition_count = 2

partition1_size = 100

partition2_size = 60000

ztoolkit = ztoolkit

novcomp = novcomp

[Windows 7 Professional (x64)]

Description = Windows 7 Professional (x64)

project_image_path = win7-standard-build

project_os = win7-pro-x64

driver_os = win7-x64

base_image = win7-pro-x64-postsp

efi_boot_image = win8-pro-x64-uefi-boot

partition_count = 2

partition1_size = 100

partition2_size = 60000

ztoolkit = ztoolkit

novcomp = novcomp

[Windows 7 Professional (Paris Office) (x86) - French]

Description = Windows 7 Professional (Paris Office) (x86) - French

project_image_path = win732

project_os = win7-sp1-pro-x86

partition_count = 1

partition1_size = 60000

driver_os = win7-x86-french

base_image = win7-sp1-pro-x86-postsp-french

ztoolkit = ztoolkit

novcomp = novcomp

[Windows 7 Professional (Lab Machine) (x86)]

Description = Windows 7 Professional (Lab Machine) (x86)

project_image_path = win7-sp1-pro-x86-lab

project_os = win7-sp1-pro-x86

driver_os = win7-x86

base_image = win7-sp1-pro-x86-postsp

partition_count = 2

partition1_size = 100

- 174 -

Page 175: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

partition2_size = 60000

ztoolkit = ztoolkit

novcomp = novcomp

6.6.1 Advanced configurationThis section contains information on advanced configuration that can be used to tailor your Windows deployment process.

n Build Process

n Imaging

- 175 -

Page 176: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Build processThe following advanced Build Process topics are available:

n Build Process Overview

n Custom Script Hooks

n Start Menu and Taskbar Customisation

n Default Application Associations

n Cloning Deployment Process

- 176 -

Page 177: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Build process overviewThe following diagram illustrates the build process phases and where custom scripts (orange ovals) can be used.

- 177 -

Page 178: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Authentication during the build processThe following table shows the different authentication processes that the Build Process can use and the phases they are used in. The authentication processes used will depend on the configuration specified in the deployment project.

Build Phase Windows eDirectory 1 ZENworks

0 - - -

1 Local Administrator account - -

2 Local Administrator account Novell Client logon credentials 3 -

3 Local Administrator account

OR

Credentials specified in Active Directory/Workgroup section of the project 2

Novell Client logon credentials 3 Novell login credentials if Novell Client Logon is enabled.

OR

Active Directory account if Login during build process is enabled.

4 Local Administrator account

OR

Credentials specified in Active Directory/Workgroup section of the project 2

Novell Client logon credentials 3 Novell login credentials if Novell Client Logon is enabled.

OR

Active Directory account if Login during build process is enabled.

Note: 1. eDirectory authentication is controlled by the Novell Client configuration in the deployment project. The Novell Client is

required for eDirectory authentication.

2. Windows domain authentication is controlled by the Active Directory/Workgroup configuration in the deployment project.

3. If a Dynamic Local User policy is configured the Installer user must be added to the Excluded Users List so that the local administrator account is always used.

Deployment MonitorIf Deployment Monitor has been configured and enabled for the project, then the Build Process will send status updates at the start and finish for the following points:

- 178 -

Page 179: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

BuildPhase

Additional Task updates sent if "Include detailed status updates" is enabled

Imaging No additional Task updates are sent for this Build Phase.

1 Installing drivers, Novell Client and ZCM agent.

2 ZCM registration andJoining Active Directory domain/Workgroup.

3 Status updates for Installing Bundles are sent periodically during the bundle distribution and installation pro-cess, so not every bundle action will appear in Deployment Monitor.

4 No additional Task updates are sent for this Build Phase.

- 179 -

Page 180: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Custom script hooksAll tasks within the build process are configured using Build Console, however if additional customisation of the Windows build process is required Imaging Toolkit provides custom scripts that can apply registry tweaks and run Windows scripts written in JScript, VBScript or PowerShell.

Before and after the build tasks are performed in each phase the respective pre-phase and post-phase scripts are run. On the build process diagram these are shown as 'Custom script (pre-phase)' and 'Custom script (post-phase)'.

Naming conventionsEach custom script file must be named as follows;

phase<phase_number>-<before|after>.<reg|vbs|js|ps1>

For example, to apply a registry tweak at the end of phase 1, the following file would be created;

phase1-after.reg

Note: Build Console will create a complete set of standard phase before/after VBscript files when a new project is created.

Process orderCustom scripts are always executed in the following order;

phase<phase_number>-before.reg

phase<phase_number>-before.vbs

phase<phase_number>-before.js

phase<phase_number>-before.ps1

phase<phase_number>-after.reg

phase<phase_number>-after.vbs

phase<phase_number>-after.js

phase<phase_number>-after.ps1

- 180 -

Page 181: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Start menu and taskbar customisation

Note: This section applies to Windows 10 deployments only. Taskbar configuration is available starting in Windows 10 version 1607. Start and taskbar configuration can be applied to devices running Windows 10 Pro version 1703.

The Windows 10 Start menu and taskbar can be customised during the Imaging Toolkit deployment process. Using the Windows 10 Start and taskbar layout settings, create an XML file named LayoutModification.xml then add it to the Build Console project custom files. Once the project has been updated, run the Deployment Wizard to recreate the Ztoolkit add-on image.

During the deployment process, the LayoutModification.xml will be copied to the correct location on the machine to activate the changes.

For further information on Start and taskbar layout including troubleshooting steps, visit Manage Windows 10 Start and taskbar layout.

- 181 -

Page 182: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Default Application AssociationsThe Windows 10 default application associations can be set during the Imaging Toolkit deployment process. The default application associations are exported from an existing Windows 10 machine with the appropriate applications configured. The application associations can then be exported using:

Dism /Online /Export-DefaultAppAssociations:"F:\OEMDefaultAssociations.xml"

Add the OEMDefaultAssociations.xml file to the Build Console project custom files. Once the project has been updated, run the Deployment Wizard to recreate the Ztoolkit add-on image.

During the deployment process, the OEMDefaultAssociations.xml will be copied to the correct location on the machine to set the application associations.

For further information on configuring default application associations, visit Export or Import Default Application Associations.

- 182 -

Page 183: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Using application logic rulesBy default the Imaging Toolkit build process simply logs all ZENworks requests to install application bundles, however it can be configured to apply application logic rules in order to provide more granular control of application delivery.

The application logic rule processing will compare the bundles assigned to the defined Build User with the bundles assigned to the workstation and if required the 'owner'. The owner is a user object that is available in the ZENworks User Source. By utilising the application logic rules it is possible to tailor application delivery based on the location, department, role or owner of the machine being deployed.

The following application logic rules are available:

n DebugAuditOnly

n Installer AND Workstation

n Installer AND (Workstation OR Owner)

n Installer AND (Workstation AND Owner)

DebugAuditOnlyThis option is the default and logs all requests that ZENworks makes when attempting to install applications. It is useful for debugging as it shows which applications are being installed and when. If applications are not logged then the ZENworks agent did not attempt to install them.

Installer AND WorkstationEnabling this option will cause the Imaging Toolkit to reject requests from NAL where an application assigned to the Installer user does not have a connection to an application assigned to the Workstation.

The following table demonstrates how application bundles may be assigned to the Installer user and the workstation and the resulting actions:

Bundles assigned to:

Installer user Machine Result

Office 2013 Installer Launch Word Install

GroupWise client installer Launch GroupWise Install

Adobe CS6 - Not installed

For example, if the Office 2013 Installer application is assigned to the Installer user and Launch Word is assigned to the Workstation and Launch Word is dependant on the Office 2013 Installer then Office 2013 will be installed and likewise for GroupWise. However, the Adobe CS6 application will not be installed as the Workstation has no assigned launch application that is dependant on the Adobe CS6 application.

Note: Application bundles whose name starts with an underscore (_) will always be installed.

Installer AND (Workstation OR Owner)Enabling this option will cause the Imaging Toolkit to reject requests from ZENworks where an application assigned to the Installer user does not have a connection to an application that is assigned to either the Workstation or the "Owner". The Owner is a user object in a ZENworks user source.

The following table demonstrates how application bundles may be assigned to the Installer user and the workstation and the resulting actions:

Bundles assigned to:

- 183 -

Page 184: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Installer user Machine Owner Result

Office 2013 Installer Launch Word Launch Word Install

GroupWise client installer - Launch GroupWise Install

Adobe CS6 Launch CS6 - Install

If the Office 2013 Installer is assigned to the Installer user and the dependant Launch Word application is assigned to the Workstation and to the "Owner" then the Office 2013 Installer application will be launched. In this instance the GroupWise client will also be installed as the dependant application is assigned to the Owner even though it is not assigned to the workstation. Likewise for the Adobe CS6 application as the Workstation has the dependant launch application assigned.

Note: Specify the owner (ZENworks Configuration Management user object) as either:

1. Name e.g. JSmith

2. Login Name e.g. JSmith@User Source

3. Full path e.g. /Users/User Source/Sales/Jsmith

Application bundles whose name starts with an underscore (_) will always be installed.

Installer AND (Workstation AND Owner)Enabling this option will cause the Imaging Toolkit to reject requests from ZENworks where an application assigned to the Installer user does not have a connection to an application that is associated to both the Workstation and the "Owner". The Owner is a user object in a ZENworks user source.

The following table demonstrates how application bundles may be assigned to the Installer user, the workstation and the owner and the resulting actions:

Bundles associated to:

Installer user Machine Owner Result

Office 2013 Installer Launch Word Launch Word Install

GroupWise client installer Launch GroupWise Launch GroupWise Install

Adobe CS6 Launch CS6 - Not installed

If the Office 2013 Installer is associated to the Installer user and the dependent Launch Word application is assigned to the Workstation and to the "Owner" then the Office 2013 Installer application will be launched, likewise for the GroupWise client. However, the Adobe CS6 application will not be installed as only the Workstation has the dependant launch application bundle assigned.

Note: Specify the owner (ZENworks Configuration Management user object) as either:

1. Name e.g. JSmith

2. Login Name e.g. JSmith@User Source

3. Full path e.g. /Users/User Source/Sales/Jsmith

Application bundles whose name starts with an underscore (_) will always be installed.

- 184 -

Page 185: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Cloning deployment processImaging Toolkit has the ability to prepare machines for "clone" deployment to identical hardware or for Virtual Desktop Infrastructure (VDI) environments. The cloning process clears workstation identity information and configures the machine for deployment.

The following cloning options are available:

n Clone Image

n VDI Master Image

Clone ImageIf Clone Image is selected the deployment process will only perform tasks that relate to the workstation identity using a cut down version of the deployment process The cloning deployment process is designed for rapid deployment of identical hardware in lab / classroom environments.

To prepare for Clone Image for deployment complete the following steps:

1. Select the machine type to be used for the cloning deployment process.

2. Deploy the required Windows version to the machine using a standard deployment project.

3. If Remove Build Files was enabled in the project, do the following. a. PXE boot the machine

b. Restore the ztoolkit image from the appropriate project directory.

4. Login using an account with administrative rights.

5. Run Zclonewiz.

6. On the Welcome page, select Clone Image, and click Next.

7. If prompted for Domain Authentication ensure the provided credentials have appropriate rights to remove the machine from Active Directory.

8. On the Clone this machine page click Next.

9. When prompted click Yes to confirm that the process should proceed.

10. On the final page, click Finish and the machine will shutdown.

11. Boot the machine into imaging and take an image of the machine. This will be the clone image for the machine type.

Note: A machine prepared for cloning will not run the Windows mini-setup process when it is restored and no hardware discovery will occur. Therefore the image must be restored to identical hardware only. Phase 3 (application installation) will not be run during a cloned restore.

Once the clone image has been created, add a menu option to the Zim configuration to restore the image to appropriate workstations.

Note: For further details and examples of how to configure Zim, review TID 2012003 on the ENGL Knowledgebase.

The following table provides an overview of the build process and the main tasks performed in each phase. The Clone Process column shows which subset of tasks are performed on a cloned machine at deployment time.

- 185 -

Page 186: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Build Process Phase / Task Clone Process

Phase 0: Hardware Configuration

Scan for device drivers -

Hardware discovery (mini-setup) -

Install Hotfixes -

Verify driver installation -

Phase 1: Workstation Identity

Regional settings -

Change computer name -

Install Novell Client -

Install ZENworks Agent -

Phase 2: Workstation Registration

Active Directory registration (add global to local groups) Yes

ZENworks registration (add device to groups) Yes

Phase 3: Application Installation

Install ZENworks application bundles -

Phase 4: Customisation

Update Default User profile -

Clean-up build process files Yes

VDI Master ImageIf VDI Master Image is selected the cloning process only performs the preparation steps to clear workstation identity information. The Imaging Toolkit build process will not run at all, this option allows the VDI solution to deploy the image using its own native processes.

To prepare a VDI Master Image for deployment complete the following steps:

1. Create a virtual machine in the VDI environment.

2. Deploy the required Windows version to the virtual machine using a standard deployment project.

3. If Remove Build Files was enabled in the project, do the following. a. PXE boot the virtual machine

b. Restore the ztoolkit image from the appropriate project directory.

4. Login using an account with administrative rights.

5. Run Zclonewiz.

6. On the Welcome page, select VDI Master Image, and click Next.

7. If prompted for Domain Authentication ensure the provided credentials have appropriate rights to remove the machine from Active Directory.

8. On the Clone this machine page click Next.

9. When prompted click Yes to confirm that the process should proceed.

10. On the final page, click Finish and the virtual machine will shutdown.

11. Use the virtual machine as the "master" image for the VDI solution.

- 186 -

Page 187: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Note: A machine prepared for VDI will not run the Imaging Toolkit deployment process. The VDI solution will deploy the image and will be responsible for configuring the computer name and Active Directory or Windows workgroup membership. If the deployment project includes the ZCM Agent the VDI master image will be configured to perform ZCM registration when the VDI instance is deployed.

- 187 -

Page 188: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Manually creating ZENworks bundlesThe Build Console Integration Wizard will create and assign the required ZENworks bundles for the Imaging Toolkit deployment process. These steps describe the process required to manually create and assign the bundles.

1. Create bundles required for the Build Process

2. Deploy additional applications using bundles

3. Assign the installer bundle

Create Bundles Required for the Build ProcessTwo ZENworks bundles are used to control the application installation phase of the build process. The _Installer bundle controls the order that applications are installed and is assigned to either the designated Build User or to a device group/folder. The _LastAppInstalled bundle is added to the _Installer bundle as the last action, this bundle tells the build process that application installation has been completed.

The required bundles can be created using the Integration Wizard from within Build Console. The Integration Wizard will create the required bundles and if required assign the _Installer bundle to the designated Build User.

Alternatively the bundles can be created and assigned manually. Multiple "installer" bundles can be used provided the bundles are assigned to different users/groups or have different system requirements that restrict the bundle to a specific Windows version. The default bundle name is _Installer, but an alternative naming convention can be used provided the bundle name is prefixed with an underscore. Only one _LastAppInstalled bundle is required and can be used with multiple "installer" bundles.

Bundles can be created and assigned manually using the following procedure:

1. Start ZENworks Control Center.

2. Select the Bundles page, select New and create a folder named ENGL.

3. Click the ENGL folder then select New > Bundle.

4. Select Windows Bundle and click Next.

5. Select Simple Application and click Next.

6. Set the Bundle Name to _LastAppInstalled and click Next.

7. Set the following parameters:

Parameter Value

Command ${WinDisk}\Ztoolkit\zmainrun.exe

Command Line Parameters /build /LastAppInstalled

8. Check the option to Define Additional Properties then click Finish.

9. Select the Requirements tab and click Add Filter.

10. Select Registry Key Value from the drop down list.

11. Enter \HKEY_LOCAL_MACHINE\Software\ENGL\Ztoolkit into the first option box.

12. Type RestartPhase into the second option box.

13. Change the comparison operator to = and the type drop down to Integer Type.

14. Enter a value of 3 in the final option box.

15. Click Apply.

16. Again within the ENGL folder click New > Bundle.

17. Select Windows Bundle and click Next.

18. Select Empty Bundle and click Next.

19. Set the Bundle Name as required prefixed with an underscore, the default name is _Installer and click Next.

20. Check the Define Additional Properties box then click Finish.

- 188 -

Page 189: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

21. Select the Requirements tab and click Add Filter.

22. Select Registry Key Value from the drop down list.

23. Enter \HKEY_LOCAL_MACHINE\Software\ENGL\Ztoolkit into the first option box.

24. Type RestartPhase into the second option box.

25. Change the comparison operator to = and the type drop down to Integer Type.

26. Enter a value of 3 in the final option box.

27. Click Apply.

28. Click Add > Launch Bundle.

29. Set the Action Name to _LastAppInstalled and browse for the _LastAppInstalled bundle created previously and ensure that this is the last bundle in the list.

30. Click Apply.

31. Select the Summary page for the bundle and click Yes to Enable Bundle Ordering and ensure the Bundle order is set to 0.

32. Click Yes to Wait for previous Bundle execution to complete.

33. Click the Publish button then select Publish as a new version and click Finish.

Deploy Additional Applications Using BundlesAdd any additional bundles to be deployed to devices during the build process to the _Installer bundle as follows;

1. Select the Actions tab in the _Installer bundle and make sure the Install tab is highlighted

2. Complete the following steps for each application bundle to be installed during the build process: a. Click Add > Install Bundle.

b. Set the Action Name to be the name of the application the bundle will install.

c. Browse and select the bundle to install.

d. Check the Continue on Failure option.

Note: The installation order will be the order the Install Bundle actions appear in the list, to change the order use the Move Up and Move Down options. Bundles assigned in any other way will process in an unpredictable manner.

e. Click Apply then click the Publish button and Publish as a new version.

Assign the Installer Bundle

Note: If you are deploying applications to a Windows Server Operating System you must assign the _Installer bundle to the device object / folder due to a limitation in ZENworks Configuration Management.

If a ZENworks user source has been configured:

1. Select the Relationships page and select Add under the User Assignments section.

2. Browse for the Installer user specified in the User Source section above, then click Next.

3. Check the Distribution Schedule box and click Next.

4. Leave the Schedule Type at the default value (Recurring) and ensure the When a device is refreshed radio button is selec-ted.

5. Check the Install Immediately after Distribution box, click Next then click Finish.

If ZENworks is using device management only:

1. Select the Relationships page and select Add under the Device Assignments section.

2. Browse for a folder or group to assign the bundle to, then click Next.

3. Check the Distribution Schedule box and click Next.

- 189 -

Page 190: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

4. Leave the Schedule Type at the default value (Recurring) and ensure the When a device is refreshed radio button is selec-ted.

5. Check the Install Immediately after Distribution box, click Next then click Finish.

- 190 -

Page 191: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

ImagingThe following advanced imaging integration topics are available:

n Manually restoring images

n Automatically restoring images

The following procedures can be used to create ZENworks Linux imaging boot media:

n Manually updating the ZENworks PXE imaging environment

n Imaging from CD/DVD (LAN connected)

n Imaging from CD/DVD (disconnected)

n Imaging from USB (LAN connected)

n Imaging from USB (disconnected)

The following procedures can be used to create WinPE imaging boot media:

n Creating WinPE USB boot media

- 191 -

Page 192: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Manually restoring imagesThe following tasks should be completed to test the restoration of build process (Ztoolkit) images.

n Partition requirements for UEFI

n Image Identification

n Testing the Build Process

Partition requirements for UEFIIn order to deploy images to UEFI machines the following partition layout must be created.

Partition Number

Partition Type Partition Size ZENworks Imaging Com-mand Line

1 EFI System 260MB img -pc 1 -type=FAT32 -size-e=260 -guid=ESP

2 Microsoft Reserved

128MB For Linux/ZMG: img -pc2 -type=1 -size=128 -guid=MRPFor WinPE/ZMG: img -pc2 -type=RAW -size=128 -guid=MRP

3 Windows As required for OS image

img -pc3 -type-NTFS -guid-d=MBD

Once the partition structure has been created, partitions 1 and 2 must be made active using the following ZENworks Imaging commands:

img -pa1

img -pa2

Images must then be restored into the appropriate partition using the ZENworks Imaging engine -ap parameter.

Image IdentificationIf the steps in this guide have been performed correctly you should have created the following images:

- 192 -

Page 193: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Image name (WIM/ZMG) Description RestoreOrder

UEFI Par-tition Num-ber

<os>-<service pack>-<edition>-<platform>-<build>-uefi-boot

For example:

win10-ent-x64-10586-uefi-boot.zmg

UEFI boot image required for UEFI 64-bit hardware.

Note: Build number included only for Windows 10. Not required for non-UEFI hardware.

1 1

<os>-<service pack>-<edition>-<platform>-<build>-postsp

For example:

win10-ent-x64-10586-postsp.wim or .zmg

Universal base image.

Note: Build number included only for Windows 10.

2 3

ztoolkit

For example:

ztoolkit.wim or .zmg

Image containing the build process executables and project configuration (zmainrun.xml) file.

Note: The ztoolkit image must always be restored.

3 3

drivers-<vendor>-<model>

For example:

drivers-dell-latitude-e4300.wim or .zmg

Image contains OEM drivers (one image per machine vendor/model).

3 3

hotfixes

For example:

hotfixes.wim or .zmg

Image containing Microsoft Hotfixes released after creation of the base image.

3 3

novcomp

For example:

novcomp.wim or .zmg

Image containing the Novell Client and ZENworks Agent.

3 3

- 193 -

Page 194: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Note: Where images are optional the Deployment Wizard will create the image based on the project configuration. If you have not used Zupdate there will be no hotfixes image. Where images are shown in the above table with the same Restore Order they can be restored in any order.

Testing the Build ProcessTo test the build process, boot into the imaging environment and manually restore the images from the locations detailed below, ensuring that the first image is the base image. After restoring the images, reboot the machine. If you have followed the information in this guide correctly the machine should automatically build.

Standard image locationsPresuming the image files created by Build Console have been copied correctly they should be in a file structure similar to the following below the ZENworks images content-repo location (ZENworks imaging) or on a network share (WinPE imaging).

Note: If you are using WinPE imaging and are unable to connect to the share you may need to add the network driver to the File Library and recreate the WinPE media.

- 194 -

Page 195: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Automatically restoring imagesImages can be selected automatically by PXE booting manually (by holding Ctrl-Alt) and allowing Zim to use the lookup files images.ini and projects.ini or alternatively a ZENworks image script bundle may be assigned to a machine that has previously been imaged by the ENGL Imaging Toolkit and re-imaged in a fully automated manner.

If the machine has been registered with ZENworks Configuration Management, a device object exists and ZENworks Image-safe Data (ZISD) contains the correct device details, the machine can be imaged from the ZENworks Control Center using an Imaging Bundle. If the machine does not have a device object, Hardware Rules can be configured and used for bare-metal imaging.

Warning: Care must be taken when configuring the Hardware Rules settings. If incorrectly configured images could be restored to the wrong machines.

Note: The steps below are for ZMG based imaging, for WinPE/WIM imaging refer to ENGL TID 2015011.

Restoring Images with an Imaging Bundle (one object per machine vendor/model)The following ZENworks imaging script will restore images for a Dell Latitude E6530 machine.

Example: Scripted Imaging Bundle 'Dell Latitude E6530'

img -r -p <projectname>/win7-pro-x86-postsp.zmg

img -r -p <projectname>/drivers-dell-latitude-e6530.zmg

img -r -p <projectname>/hotfixes.zmg

img -r -p <projectname>/novcomp.zmg

img -r -p <projectname>/ztoolkit.zmg

Restoring Images with an Imaging BundleUsing ENGL Zim the restore of images can be simplified further by requiring only one Imaging Script Preboot Bundle. For example, assuming the machine to be imaged has previously been imaged once manually and the project information stored to ZISD, a single Imaging Script Preboot Bundle can automate which images are restored at imaging time for all machines and operating systems.

Example: Universal Scripted Imaging Bundle

# This file will run in the ZENworks imaging kernel space

export ZIMDIR=/zimbin

cat <<_END_ > $ZIMDIR/zimauto.cfg

; *********** Start Zim Script ***********

; Settings

Set:_ZisdVersion,"11"

Set:Images_Path,""

Set:ImgRestoreCmd,"-r -p %Images_Path%"

; Deployment monitoring server settings

; amend the following 2 lines to specify the Monitor Server and port, if required

Set:_MonitorServer,""

Set:_MonitorPort,"80"

Set:_MonitorData_BuildData,""

Set:_MonitorData_ComputerName,""

Set:_MonitorData_LastError,""

; Get DMI info

- 195 -

Page 196: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

DMI:Get,"Base Board Information","Asset Tag", DMI_Board_Asset

DMI:Get,"Base Board Information","Manufacturer", DMI_Board_Vendor

DMI:Get,"Base Board Information","Product Name", DMI_Board_Product

DMI:Get,"Base Board Information","Serial Number", DMI_Board_SN

DMI:Get,"Base Board Information","Version", DMI_Board_Version

DMI:Get,"Bios Information","Vendor", DMI_Bios_Vendor

DMI:Get,"Chassis Information","Asset Tag", DMI_Chassis_Asset

DMI:Get,"Chassis Information","Manufacturer", DMI_Chassis_Vendor

DMI:Get,"Chassis Information","Serial Number", DMI_Chassis_SN

DMI:Get,"Chassis Information","Type", DMI_Chassis_Type

DMI:Get,"Compaq","Ownership Tag", DMI_Compaq_Owner

DMI:Get,"System Information","Manufacturer", DMI_System_Vendor

DMI:Get,"System Information","Product Name", DMI_System_Product

DMI:Get,"System Information","Serial Number", DMI_System_SN

DMI:Get,"System Information","Version", DMI_System_Version

; Check that the DMI values are populated on this machine

If:Var,DMI_System_Vendor,NE,""

Set:Lookup_Section,"%DMI_System_Vendor%"

If:Var,Lookup_Section,EQ,"Lenovo"

Set:Lookup_Value,"%DMI_System_Version%"

ElseIf:Var,DMI_System_Product,NE,""

Set:Lookup_Value,"%DMI_System_Product%"

ElseIf:Var,DMI_Board_Product,NE,""

Set:Lookup_Value,"%DMI_Board_Product%"

Else:

Set:Lookup_Value,"%DMI_Board_Vendor%"

End:

ElseIf:Var,DMI_Board_Product,NE,""

Set:Lookup_Section,"%DMI_Board_Vendor%"

Set:Lookup_Value,"%DMI_Board_Product%"

Else:

Set:Lookup_Section,"OEM"

Set:Lookup_Value,"%DMI_Board_Vendor%"

End:

; Check for an AssetTag we can use for the DMI_NAME

Set:DMI_NAME,""

If:Var,DMI_Board_Asset,NE,""

Set:DMI_NAME,"%DMI_Board_Asset%"

ElseIf:Var,DMI_Chassis_Asset,NE,""

Set:DMI_NAME,"%DMI_Chassis_Asset%"

End:

Set:COMPUTERNAME,""

; Read the Computername in from ZISD (if it exists)

ZISD:Get,NetBiosName,ZISD_COMPUTERNAME

If:Var,ZISD_COMPUTERNAME,NE,""

- 196 -

Page 197: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Set:COMPUTERNAME,"%ZISD_COMPUTERNAME%"

Else:

Set:COMPUTERNAME,"%DMI_NAME%"

End:

; Read image details from lookup file

File:Ini,Get,"%_ZimDir%images.ini","%Lookup_Section%","%Lookup_Value%",Hardware_Lookup

; Additional check for Lenovo machines

If:Var,Lookup_Section,EQ,"Lenovo"

If:Var,Hardware_Lookup,EQ,""

Set:Lookup_Value,"%DMI_System_Product%"

File:Ini,Get,"%_ZimDir%images.ini","%Lookup_Section%","%Lookup_Value%",Hardware_Lookup

End:

End:

Set:Drivers_Image,token("%Hardware_Lookup%","|","1")

Set:Machine_Type,token("%Hardware_Lookup%","|","2")

Set:Driver_OS,token("%Hardware_Lookup%","|","3")

; Read ZISD:VendorDataENGL

ZISD:Get,VendorDataENGL,VendorDataENGLSTRING

; Read stored information in from VendorDataENGL

Set:Lookup_Project,GetKeyPairStringValue("%VendorDataENGLSTRING%", "Project")

; Read in project specific information

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Project_Image_Path",Project_Image_Path

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Project_OS",Project_OS

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Partition_Count",Partition_Count

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Driver_OS",Project_Driver_OS

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Base_Image",Base_Image

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Ztoolkit",Project_Ztoolkit

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Novcomp",Project_novcomp

File:Ini,Get,"%_ZimDir%projects.ini","%Lookup_Project%","Efi_boot_image",Efi_boot_image

If:Var,Partition_Count,EQ,"1"

If:EFI,Exist

; Windows partition is partition 3

Set:OS_Partition,"-ap=a1:p3"

Set:Project_Partition,"-ap=a1:p3"

Else:

Set:OS_Partition,""

Set:Project_Partition,""

End:

Else:

If:EFI,Exist

; Windows partition 2nd partition in image, targeted to partition 3

Set:OS_Partition,"-ap=a2:p3"

Set:Project_Partition,"-ap=a1:p3"

- 197 -

Page 198: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Else:

Set:OS_Partition,""

Set:Project_Partition,"-ap=a1:p2"

End:

End:

If:EFI,Exist

If:Var,Efi_boot_image,"EQ",""

Set:Efi_boot_image,"%Project_OS%-uefi-boot"

End:

End:

; Check to see if Hardware driver is available for project_os

If:Var,Driver_OS,CONTAINS,"%Project_Driver_OS%"

; Hardware driver is available for this project

Set:driver,available

Else:

; Hardware driver is not available for this project

Form:Start,"OS_Available","hardware image not found","_Ok",Blue

Form:Item,"Item1",StaticText,"-The driver image for the selected Operating System"

Form:Item,"Item2",StaticText,"-has not been found."

Form:Item,"Item3",StaticText,"-Check the entry for this machine in the images.ini."

Form:Item,"Item4",Label,"Selected OS"

Form:Item,"Item5",EditBox,"%Project_Driver_OS%",ReadOnly

Form:Item,"Item6",Label,"Available OS"

Form:Item,"Item7",EditBox,"%Driver_OS%",ReadOnly

Form:Item,"Item8",Label,"Hardware Image"

Form:Item,"Item9",EditBox,"%Drivers_Image%",ReadOnly

Form:Item,"Item10",StaticText,"-Select OK to return to the menu"

Form:Display,"OS_Available"

File:Run,"reboot -f",silent

End:

; Restore images

Dialog:Popup,"Restoring %DMI_System_Product% image, please wait...",green

Pause:2

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

; Partition restore section

If:EFI,EXIST

; EFI machines

; Clear all partitions

File:Run,"img -pd -all",verbose

; Create EFI boot, MSR and data partitions

File:Run,"img -pc 1 -type=FAT32 -size=260 -guid=ESP",verbose

File:Run,"img -pc 2 -type=1 -size=128 -guid=MRP",verbose

File:Run,"img -pc 3 -type=NTFS -guid=MBD",verbose

- 198 -

Page 199: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

; Activate EFI and MSR partitions

File:Run,"img -pa1",verbose

File:Run,"img -pa2",verbose

; Restore images

; EFI Boot partition into partition 1

; NOTE: This is only required for Linux/ZMG based imaging

Set:_MonitorData_Task,"Restoring %Efi_boot_image%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%os/%Project_OS%/%Efi_boot_image% -ap=a1:p1",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

; Copy boot files from the Windows partition to the System partition

NOTE: This is only required for WinPE/ZMG imaging

File:Run,"bcdboot C:\Windows"

; Base image into partition 3, ignoring system partition if present.

Set:_MonitorData_Task,"Restoring %Base_Image%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%os/%Project_OS%/%Base_Image% %OS_Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring hotfixes.zmg"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/hotfixes.zmg %Project_Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Project_Novcomp%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/%Project_Novcomp% %Project_Par-

tition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Project_Ztoolkit%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/%Project_Ztoolkit% %Project_

- 199 -

Page 200: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Drivers_Image%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%drivers/%Project_Driver_OS%/%Drivers_Image% %Project_Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Else:

; BIOS Machines

Set:_MonitorData_Task,"Restoring %Base_Image%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%os/%Project_OS%/%Base_Image%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring hotfixes.zmg"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/hotfixes.zmg %Project_Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Project_Novcomp%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/%Project_Novcomp% %Project_Par-

tition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Project_Ztoolkit%"

Set:MonitorStatus,"Started"

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%projects/%Project_Image_Path%/%Project_Ztoolkit% %Project_Par-

tition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

Set:_MonitorData_Task,"Restoring %Drivers_Image%"

Set:MonitorStatus,"Started"

- 200 -

Page 201: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Gosub:SendUpdateToMonitorServer

File:Run,"img %ImgRestoreCmd%drivers/%Project_Driver_OS%/%Drivers_Image% %Project_Partition%",verbose

File:Run,"cat imglogr >> %_ZimDir%zim.log",verbose

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

End:

Pause:2

Dialog:Popupclose

; Reboot

Dialog:Popup,"Restarting, please wait..."

Pause:2

Set:MonitorStatus,"Finished"

Gosub:SendUpdateToMonitorServer

File:Run,"reboot -f",silent

; ------------------------------------------------------

; Send Update to Monitor Server

; ------------------------------------------------------

Label:SendUpdateToMonitorServer

If:Var,_MonitorServer,NE,""

Set:_MonitorData_ComputerName,"%COMPUTERNAME%"

Set:_MonitorData_BuildData,"%VendorDataENGLSTRING%"

Monitor:SendUpdate,"%MonitorStatus%"

End:

Return:

; *********** End Zim Script ***********

_END_

# Run Zim

cd $ZIMDIR

./zim -s:$ZIMDIR/zimauto.cfg -log -z

- 201 -

Page 202: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Manually updating the ZENworks Linux PXE Imaging Environment

Note: Build Console can download pre-modified PXE files for both BIOS and UEFI machines and update the TFTP folder automatically. This procedure is only required by advanced users.

Requirements

n Linux server/workstation running SUSE Linux Enterprise Server 12

n ZENworks initrd file:

For BIOS machines the initrd is located in: n On Windows: %ZENWORKS_HOME%\share\tftp\boot

n On Linux: /srv/tftp/boot

For UEFI machines the initrd is located in: n On Windows: %ZENWORKS_HOME%\share\tftp\efi\x86_64

n On Linux: /srv/tftp/efi/x86_64

n ENGL Zim binaries as generated by the Build Console Integration Wizard

n ENGL Zim Installer: ziminst.tar

n Linux driver files (optional)

Stage 1: Modify the ZENworks PXE imaging files

1. At the Linux console, login as root.

2. Create a temporary directory structure.

mkdir /work

3. Copy the ziminst.tar file from <ImagingToolkit_InstallationPath>\Zim\Linux\ to the /work directory.

4. Extract the ziminst.tar file.

cd /work

tar xf ziminst.tar

5. Copy the initrd file from the ZENworks server to the /work/src directory.

Note: There are separate initrd files for BIOS and UEFI hardware. Steps 5-9 and Stage 2 must be completed for both the BIOS and UEFI versions of the initrd file.

6. Copy optional 32 bit Linux network drivers (.ko) files to the /work/src/drivers/network directory.

7. Copy optional 64 bit Linux network drivers (.ko) files to the /work/src/drivers/network/efi directory.

8. Copy optional Linux boot splash image (.jpg) to the /work/src/splash directory and modify the /work/src/splash/splash.cfg file as required. Note: The boot splash image must be sized at 800 x 600 pixels with a 16-bit colour depth.

9. Run /work/ziminst.pl

10. Follow the on screen instructions and the new initrd file will be written to /work/out

Stage 2: Update the ZENworks imaging server's TFTP directory

Warning: Modifications to the TFTP directory should be tested in a non-production environment before updating live systems.

- 202 -

Page 203: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

1. For BIOS machines: i. Rename the PXE initrd file in the Imaging Proxy server's TFTP /boot subdirectory to initrd.old.

ii. Copy the new initrd file to the server's TFTP /boot subdirectory.

iii. Bypass the standard ZENworks Preboot Menu:

1. Edit the PXEMENU.TXT file in the TFTP directory and add the following line

ForceOption = 2

Note: The ForceOption value should be changed to match the option number of the line containing "Start ZENworks Imaging Maintenance".

iv. Proceed with Stage 3.

2. For UEFI machines: 1. Rename the PXE initrd file in the Imaging Proxy server's TFTP /efi/x86_64 subdirectory to initrd.old.

2. Copy the new initrd file to the server's TFTP /efi/x86_64 subdirectory.

3. Bypass the standard ZENworks Preboot Menu:

1. Edit the PXEMENU.TXT file in the server's TFTP /efi/x86_64 subdirectory and add the following line

ForceOption = 2

Note: The ForceOption value should be changed to match the option number of the line containing "Start ZENworks Imaging Maintenance".

4. Proceed with Stage 3.

Stage 3: Adding the Zim files to the TFTP serverThe Integration folder (as defined in the Build Console Folder Options) will contain a ZENworks\tftp\zimfiles folder. The zimfiles folder contains the Zim configuration and binary files.

1. Copy the zimfiles folder from the Build Console Integration Folder to the ZENworks server's TFTP folder.

The ZENworks TFTP folder location varies based on the ZENworks server operating system:

n On Windows: %ZENWORKS_HOME%\share\tftp

n On Linux: /srv/tftp

Stage 4: Testing

1. To test the new configuration, reboot a PXE enabled workstation and hold down CTRL + ALT during the network boot until Zim displays.

Note: On some UEFI hardware CTRL + ALT may not initiate the network boot process. In this case ZENworks will display a message providing the option to press the ENTER key to PXE boot the machine.

- 203 -

Page 204: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Imaging from CD/DVD (LAN connected)The following tasks should be completed to create a Zim-enabled ZENworks imaging (Linux/ZMG) CDROM for LAN connected workstations using TFTP.

This would typically be done where PXE services are either unavailable or the workstation does not support PXE booting.

n Requirements

n Modify the ZENworks CDROM imaging files

n Adding the Zim files to the TFTP server

n Testing

Requirements

n Modified ZENworks TFTP folder as created by the Integration Wizard in Build Console

n Linux server/workstation running SUSE Linux Enterprise Server 12

n ZENworks Imaging bootable CD image (bootcd.iso)

Note: If you are using the Tuxera high-performance driver to create and restore images then you must use the bootcd_tnt-fs.iso from the ZENworks server. Rename the bootcd_tntfs.iso to bootcd.iso for use with Ziminst.pl

Note: The bootcd.iso or bootcd_tntfs.iso from ZCM 11.3 or later is required for UEFI support

n Linux driver files (optional)

Modify the ZENworks CDROM imaging files

1. At the Linux console, login as root.

2. Create a temporary directory structure.

mkdir /work

3. Copy the ziminst.tar file from <ImagingToolkit_InstallationPath>\Zim\Linux\ to the /work directory.

4. Extract the ziminst.tar file.

cd /work

tar xf ziminst.tar

5. Copy the bootcd.iso file to the /work/src directory.

6. Copy optional 32 bit Linux network drivers (.ko) files to the /work/src/drivers/network directory.

7. Copy optional 64 bit Linux network drivers (.ko) files to the /work/src/drivers/network/efi directory.

8. Copy optional Linux boot splash image (.jpg) to the /work/src/splash directory and modify the /work/src/splash/splash.cfg file as required.

Note: The boot splash image must be sized at 800 x 600 pixels with a 16-bit colour depth.

9. Run /work/ziminst.pl

10. Follow the on screen instructions confirming the default options or make any necessary changes and the new bootcd.iso file will be written to /work/out.

Note: When prompted for the PROXYADDR enter the IP address of the Imaging Proxy server.

11. Burn a CDROM from the new bootcd.iso file.

12. Proceed with Adding the Zim files to the TFTP server.

- 204 -

Page 205: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Adding the Zim files to the TFTP server

1. Rename the current TFTP directory on the server.

2. Copy the tftp directory from the Projects\Integration\ZENworks directory created by Build Console to the ZENworks server.

Testing

1. To test the new configuration, boot a workstation with a CDROM created from the new bootcd.iso.

- 205 -

Page 206: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Imaging from CD/DVD (Disconnected)The following tasks should be completed to manually replace the ZENworks (Linux/ZMG) CDROM imaging menu.

n Requirements

n Modify the ZENworks CDROM imaging files

n Testing

Requirements

n Modified ZENworks TFTP folder as created by the Integration Wizard in Build Console

n Linux server/workstation running SUSE Linux Enterprise Server 12

n ZENworks Imaging bootable CD image (bootcd.iso)

Note: If you are using the Tuxera high-performance driver to create and restore images then you must use the bootcd_tnt-fs.iso from the ZENworks server. Rename the bootcd_tntfs.iso to bootcd.iso for use with Zim Installer (ziminst.pl).

Note: The bootcd.iso or bootcd_tntfs.iso from ZCM 11.3 or later is required for UEFI support

n ZENworks image files (.zmg)

Note: The maximum supported size for the ISO image is 4.7GB, ensure the total size of zmg files added to the ISO is no more than 4GB.

n Linux driver files (optional)

Modify the ZENworks CDROM imaging files

1. At the Linux console, login as root.

2. Create a temporary directory structure.

mkdir /work

3. Copy the ziminst.tar file from <ImagingToolkit_InstallationPath>\Zim\Linux\ to the /work directory.

4. Extract the ziminst.tar file.

cd /work

tar xf ziminst.tar

5. Copy the bootcd.iso file from the ZENworks server to the /work/src directory.

6. Copy optional 32 bit Linux network drivers (.ko) files to the /work/src/drivers/network directory.

7. Copy optional 64 bit Linux network drivers (.ko) files to the /work/src/drivers/network/efi directory.

8. Copy optional Linux boot splash image (.jpg) to the /work/src/splash directory and modify the /work/src/splash/splash.cfg file as required.

Note: The boot splash image must be sized at 800 x 600 pixels with a 16-bit colour depth.

9. Copy ZENworks image (.zmg) files to the /work/src/images directory.

Note: The images folder structure should mirror the standard images folder structure used by Imaging Tookit on the imaging server.

10. Copy ENGL Zim files engl.lic, zim.cfg, zim.tgz, images.ini, projects.ini and ldapsdk.tar from the <Integration_Folder->\ZENworks\tftp\zimfiles folder created by Build Console to the /work/src/zim directory.

- 206 -

Page 207: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Note: Manual edits may be required in the zim.cfg file to ensure that the Zim configuration will work in a totally disconnected environment.

11. Run /work/ziminst.pl

12. Follow the on screen instructions and select Disconnected CDROM confirming the default options or make any necessary changes and the new bootcd.iso file will be written to /work/out.

13. Burn a CDROM from the new bootcd.iso file.

Testing

1. To test the new configuration, boot a workstation with a CDROM created from the new bootcd.iso.

- 207 -

Page 208: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Imaging from USB (LAN connected)The following tasks should be completed to create a Zim-enabled USB device (e.g. pen drive) for LAN connected workstations using TFTP.

Note: This procedure is for Linux/ZMG based imaging, if using WinPE/ZMG or WinPE/WIM based imaging use the Boot Media Wizard.

This would typically be done where PXE services are either unavailable or the workstation does not support PXE booting.

n Requirements

n Configuring the USB device

n Adding the Zim files to the TFTP server

n Testing

Requirements

n Modified ZENworks TFTP folder as created by the Integration Wizard in Build Console

n Linux server/workstation running SUSE Linux Enterprise Server 12

n A blank FAT32 formatted USB drive

n ZENworks Imaging bootable CD image (bootcd.iso)

Note: If you are using the Tuxera high-performance driver to create and restore images then you must use the bootcd_tntfs.iso from the ZENworks server. Rename the bootcd_tntfs.iso to bootcd.iso for use with Zim Installer (ziminst.pl).

Note: The bootcd.iso or bootcd_tntfs.iso from ZCM 11.3 or later is required for UEFI support

n Linux driver files (optional)

Note: If you wish to add additional drivers they must be compiled on a machine using the same Linux kernel version as the ZENworks imaging environment that you are using.

Configuring the USB device

1. At the Linux console, login as root.

2. Create a temporary directory structure.

mkdir /work

3. Copy the ziminst.tar file from <ImagingToolkit_InstallationPath>\Zim\Linux\ to the /work directory.

4. Extract the ziminst.tar file.

cd /work

tar xf ziminst.tar

5. Copy the bootcd.iso file to the /work/src directory.

6. Copy optional 32 bit Linux network drivers (.ko) files to the /work/src/drivers/network directory.

7. Copy optional 64 bit Linux network drivers (.ko) files to the /work/src/drivers/network/efi directory.

8. Copy optional Linux boot splash image (.jpg) to the /work/src/splash directory and modify the /work/src/splash/splash.cfg file as required.

Note: The boot splash image must be sized at 800 x 600 pixels with a 16-bit colour depth.

- 208 -

Page 209: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

9. Run /work/ziminst.pl

10. Follow the on screen instructions confirming the default options or make any necessary changes, at the Imaging Media screen select USB.

11. Acknowledge the message that states the USB device will be completely erased, then specify the path to the USB device e.g. /dev/sdb1

Note: Run cat /proc/partitions to list the disk devices in your machine.

12. Select ENGL Zim (LAN connected using TFTP) when prompted then follow the remaining on screen instructions.

Note: When prompted for the PROXYADDR enter the IP address of the Imaging Proxy server.

13. When the process has completed remove the USB device from the machine.

14. Proceed with Adding the Zim files to the TFTP server.

Adding the Zim files to the TFTP server

1. Rename the current TFTP directory on the ZENworks server.

2. Copy the tftp directory from the Projects\Integration\ZENworks directory created by Build Console to the ZENworks server.

Testing

1. To test the new configuration, boot a workstation with the USB device.

Note: If using virtual machines check that the software will support booting from a removable USB device.

- 209 -

Page 210: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

Imaging from USB (Disconnected)The following tasks should be completed to create a bootable USB device (e.g. pen drive) that can be used for disconnected imaging.

Note: This procedure is for Linux/ZMG based imaging, if using WinPE/ZMG or WinPE/WIM based imaging use the Boot Media Wizard.

n Requirements

n Configuring the USB device

n Testing

Requirements

n Modified ZENworks TFTP folder as created by the Integration Wizard in Build Console

n Linux server/workstation running SUSE Linux Enterprise Server 12

n A blank FAT32 formatted USB drive

n ZENworks Imaging bootable CD image (bootcd.iso)

Note: If you are using the Tuxera high-performance driver to create and restore images then you must use the bootcd_tnt-fs.iso from the ZENworks server. Rename the bootcd_tntfs.iso to bootcd.iso for use with Zim Installer (ziminst.pl).

Note: The bootcd.iso or bootcd_tntfs.iso from ZCM 11.3 or later is required for UEFI support

n ZENworks image files (.zmg)

n Linux driver files (optional)

Configuring the USB device

1. At the Linux console, login as root.

2. Create a temporary directory structure.

mkdir /work

3. Copy the ziminst.tar file from <ImagingToolkit_InstallationPath>\Zim\Linux\ to the /work directory.

4. Extract the ziminst.tar file.

cd /work

tar xf ziminst.tar

5. Copy the bootcd.iso file from the ZENworks server to the /work/src directory.

6. Copy optional 32 bit Linux network drivers (.ko) files to the /work/src/drivers/network directory.

7. Copy optional 64 bit Linux network drivers (.ko) files to the /work/src/drivers/network/efi directory.

8. Copy optional Linux boot splash image (.jpg) to the /work/src/splash directory and modify the /work/src/splash/splash.cfg file as required.

Note: The boot splash image must be sized at 800 x 600 pixels with a 16-bit colour depth.

9. Copy ZENworks image (.zmg) files to the /work/src/images directory.

Note: The images folder structure should mirror the standard images folder structure used by Imaging Tookit on the imaging server.

- 210 -

Page 211: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

6 Implementation

10. Copy ENGL Zim files engl.lic, zim.cfg, zim.tgz, images.ini, projects.ini and ldapsdk.tar from the <Integration_Folder->\ZENworks\tftp\zimfiles folder created by Build Console to the /work/src/zim directory.

Note: Manual edits may be required in the zim.cfg file to ensure that the Zim configuration will work in a totally disconnected environment.

11. Run /work/ziminst.pl

12. Follow the on screen instructions confirming the default options or make any necessary changes, at the Imaging Media screen select USB.

13. Acknowledge the message that states the USB device will be completely erased, then specify the path to the USB device e.g. /dev/sdb1 .

Note: Run cat /proc/partitions to list the disk devices in your machine.

14. Select ENGL Zim (disconnected USB) when prompted then follow the remaining on screen instructions.

15. When the process has completed remove the USB device from the machine.

Testing

1. To test the new configuration, boot a workstation with the USB device.

Note: If using virtual machines check that the software will support booting from a removable USB device.

- 211 -

Page 212: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7 ReferenceThis section contains information on the utilities included in Imaging Toolkit.

Zclean Performs house-keeping tasks including file grooming, purge and emptying the recycle bin.

Zclonewiz Enables cloning of a machine built with Imaging Toolkit for distribution to identical hardware.

Zdrivers Hardware inventory scanner for generating machine reports that can be imported into Build Console for Driver Management.

Zgdiwiz Changes the display resolution, frequency and colour depth settings.

Zim Imaging front-end with authentication and menu system.

Zimageprep Image Preparation Tool used to create the universal image (supports installing drivers delivered using images).

Zisdwiz Allows reading and writing ZENworks Image-safe Data (ZISD) from the command line.

Zmainrun Builds a workstation using information from the zmainrun.xml configured using the Build Console.

Zrun Launches applications or shell file extensions,e.g. MS Office MSI .lnk files.

Zshutdwn Performs hibernation, logoff, power off, reboot, shutdown or suspend, with caption and countdown.

Ztftpclient TFTP client utility used to transfer files to/from the WinPE imaging environment.

Ztoolkit Control ActiveX control providing Windows scripting enhancements for VBScript and JScript.

Ztrace Displays a scrolling window containing an Imaging Toolkit log file.

Zupdate Simplifies Microsoft Hotfixes detection and deployment.

Zwinwiz Waits for a window or dialog before performing actions including button clicks and setting window show style.

Note: A pre-requisite for running any Imaging Toolkit utility is that a current licence file (engl.lic, which can be found in C:\ProgramData\ENGL\ImagingToolkit) must be present in the same directory as the utility

- 212 -

Page 213: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.1 ZcleanZclean is a file system house-keeping tool that can remove files with an optional filter.

Path

<InstallationPath>\Ztoolkit\<Platform>\zclean.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/groom:<path,wildcard,operator,size_kb> [/gs] Deletes files that match criteria (/gs include subdirectories).

/purge:<path>[,:<path>,...] [/pr] Deletes directories and files (/pr deletes root directory).

/temp Empty TEMP and TMP directories.

/trash Empty recycle bin (all drives).

/z Enables debug log file (requires /log).

Remarksn/a

Examples

REM Emptying the trash

zclean /trash

- 213 -

Page 214: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.2 ZclonewizZclonewiz provides a way to 'clone' a machine built using the standard Imaging Toolkit build process for use on identical hardware, or to create a VDI (Virtual Desktop Infrastructure) Master image. Zclonewiz prepares a built machine for cloning by clearing workstation identity information and setting up a cut-down version of the standard Imaging Toolkit build process. Once Zclonewiz has been run on a machine a clone image can be created.

Zclonewiz can prepare one of two types of image, which is selected in the Welcome page of the Wizard

Preparation Type

Description

Clone Image

Zclonewiz uses the build process configuration used to build the workstation to determine how the clone process will function. For example if the machine joined an Active Directory domain during the original build process, Zclonewiz will ensure the cloned workstation does the same. Zclonewiz will perform a cut-down build process when the machine reboots and will only perform the tasks related to the workstation's identity i.e., computer naming, work-station group membership, AD membership and clean-up.

VDI Master image

Zclonewiz prepares the machine for use as VDI gold master. In this mode, none of the ENGL build process will run.

Note: A machine prepared using Zclonewiz will not run the Windows mini-setup process when it is restored and no hardware discovery will occur. Therefore the image must be restored to identical hardware only.

Path

<InstallationPath>\Ztoolkit\<Platform>\zclonewiz.exe

Usage

Parameter Description

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/z Enables debug log file (requires /log).

Remarksn/a

ExamplesReview the cloning procedure for a machine built using Imaging Toolkit.

- 214 -

Page 215: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.3 ZdriversZdrivers is a standalone utility that performs a hardware inventory scan on the local machine and outputs the results to an XML file that can be imported into Build Console.

Path

<InstallationPath>\Ztoolkit\<Platform>\zdrivers.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default "zdrivers.log").

/scan[:[wmi | no-wmi]] Specifies whether WMI scanning is enabled (default "wmi").

/target:<path> Specifies the target XML path and filename that will contain the hardware inventory scan results (default "zdrivers-<vendor>-<Model>.xml").

/unattend Specifies that Zdrivers should be run silently.

/z Enables debug log file (requires /log).

Examples

REM Run Zdrivers silently using defaults

zdrivers.exe /unattend /log

REM Run Zdrivers silently specifying output path and filename

zdrivers.exe /unattend /target:"\\Server\Share\%COMPUTERNAME%.xml /log

- 215 -

Page 216: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.4 ZgdiwizZgdiwiz can be used to set the display resolution, refresh rate and colour settings.

Path

<InstallationPath>\Ztoolkit\<Platform>\zgdiwiz.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/display:<devnum> Specifies the target device [1..4] (defaults to 1).

/w:<width> Specifies the horizontal resolution in pixels.

/h:<height> Specifies the vertical resolution in pixels.

/bpp:<bits_per_pixel> Specifies the Bits Per Pixel colour depth (optional).

/f:<frequency> Specifies the frequency in MHz (optional).

/default Specifies that the device's default settings should be applied.

/max Specifies that the maximum settings reported by the graphics driver should be applied.

/q Quiet mode (silent).

/primary:<devnum>[,[w],[h],[bpp],[f]] Specifies the primary display (and optionally res-olution and frequency settings).

/attach:<devnum>[,[w],[h],[bpp],[f],[x],[y]] Specifies a display to attach to the primary display.

/attach-all:[w],[h],[bpp],[f] Specifies that all displays should be attached to the primary display.

/detach:<devnum> Specifies a display to detach from the primary dis-play.

/detach-all Specifies that all displays should be detached from the primary display.

/z Enables debug log file (requires /log).

RemarksEnsure that the monitor in use is capable of the settings being configured.

Examples

REM Configure the primary display for 1024x768

zgdiwiz /w:1024 /h:768

REM Configure the 2nd display for 1024x768

zgdiwiz /display:2 /w:1024 /h:768

- 216 -

Page 217: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.5 ZimZim is the imaging front-end of Imaging Toolkit that includes Linux (console) and Windows editions. The Zim binary executable requires an Imaging Toolkit license file (engl.lic) to be present. Zim processes a text script file (zim.cfg) known as Zim Script, that contains instructions to display a loginbox, menus, dialogs, custom forms and automate tasks such as reading INI files.

The Build Console Integration Wizard can be used to create a standard Zim Script file.

Note: Zim for Linux supports a maximum terminal width of 240 columns and height of 80 rows.

The following topics are available:

n Command line usage

n Caveats

n Methods

n Button Macros

n Colour usage

n Reserved variables

n Text editor language syntax files

7.5.1 Command line usage

Linux edition

<InstallationPath>\Zim\Linux\<Platform>\zim.tgz

Command Example Default Description

-s:[script_file] -s:zim.cfg zim.cfg Specify path to Zim script.

-log:[log_file] -log:zim.log zim.log (disabled) Enable log file.

-lic:[licence_file] -lic:/bin/engl.lic engl.lic Specify path to licence file.

-nobreak -nobreak Disable system keys including CTRL-C, CTRL-Z, CTRL-X, etc.

-noexit -noexit Disable use of F3 exit key at menu.

-z -z Enables debug log file output.

--help --help Display command line usage and version details.

ExamplesEnable secure mode:

zim -noexit -nobreak

Windows edition

<InstallationPath>\Zim\Windows\<Platform>\zim.exe

- 217 -

Page 218: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Command Example Default Description

/log:[log_file] /log:"zim.log" zim.log (disabled) Enable log file.

/noexit /noexit Disable use of F3 exit key at menu.

/s:[script_file] /s:zim.cfg zim.cfg Specify path to Zim script.

/w:[bitmap_file] /w:logo.jpg zim.jpg Specify path to wallpaper a BMP or JPG bitmap.

Note: Zim will attempt to load Zim.BMP then Zim.JPG. The bitmap image will be horizontally and vertically centred.

If Zim detects WinPE, the main window will be maximised to fit the current display resolution.

/z /z Enables debug log file output.

Examples Enable secure mode:

zim /noexit

7.5.2 Caveats

Line Length and Syntax RestrictionsThe script interpreter in Zim can handle lines of up to 512 characters long. If lines are encountered that are longer than 512 characters Zim will terminate with an error message before the script is run. If a syntax error is found whilst processing the script Zim will display the error message and terminate.

Script Functions without MethodsWhere a script function does not include a method, e.g. END:, the function must be terminated with a colon ':'.

Using strings with Embedded CommasTo prevent Zim from incorrectly identifying a strings with separate parameters, all strings should be enclosed in quotation marks, e.g. "Param1,Param2".

Note: Note that the string between the quotation marks must not itself contain a quotation mark, so "Please enter "Surname" below" is not a valid parameter

Variable search orderZim searches for variables in the following order;

1. Zim runtime variables

2. Linux exported / Windows environment variables

7.5.3 Zim Script Methods

Dialog:

n Ask Display message box and wait for a single key to be entered or a button to be pressed.

n Banner Display banner message for a specified time.

n CountDown Display window with timer countdown.

n Input Display dialog input box.

n InputMask Display dialog input box with input mask.

- 218 -

Page 219: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

n InputPass Display dialog password input box (characters entered are hidden).

n ListFromFile Display selectable fields from a CSV style file in a scrolling list box.

n Popup Display popup message.

n PopupClose Close last popup message.

n PopupXY Display popup message (specify X and Y position).

DMI:

n Get Retrieves DMI information from the BIOS.

File:

n Append Appends a line of text to a file.

n Delete Deletes the specified file.

n Ini Reads from or writes to an INI file.

n Log Writes a log file entry.

n Run Runs a shell command.

Form:

n Display Display a previously defined form.

n Item Add new item to a form definition.

n Start Start a new form definition.

LDAP:

n AddGroupMember Add a User or Workstation to a group.

n AddSearch Add an LDAP context to the LoginBox search list.

n Bind Perform an LDAP bind authentication.

n DelEntry Delete an LDAP object.

n DelGroupMember Remove a User or Workstation from a group.

n GetAttr Read an LDAP attribute.

n Init Initialise an LDAP connection.

n InitSSL Initialise a secure LDAP connection.

n IsGroupMember Return a User or Workstation's group membership status.

n LDAPToNDS Converts an LDAP DN to an NDS DN.

n ListObjects Display a list box populated using an LDAP search filter.

n LoginBox Display an LDAP contextless login box.

n MenuRefreshFilters Refresh menus and re-apply LDAP menu filters.

n MoveObject Move an object using LDAP.

n NDSToLDAP Converts an NDS DN to an LDAP DN.

n PutAttr Write an LDAP attribute value.

n RenameObject Rename an object using LDAP.

n Unbind Perform an LDAP unbind (logout).

- 219 -

Page 220: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:

n Display Display a previously defined menu.

n Item Add a new item to a menu definition.

n Return Return to previous menu following a Menu:Item.

n Start Start a new menu definition.

n SubMenu Add a new submenu to a menu definition.

Monitor:

n SendUpdate Send an update to the Deployment Monitor server.

Network:

n Get Retrieve a network address attribute.

SysInfo:

n Get Retrieves system information (Zim for Windows only).

n MoveDriveLetters Re-assigns WinPE driver letters (Zim for Windows only).

Timer:

n CountDown Set the internal timer to countdown from the specified number of seconds.

n Reset Reset the internal timer that counts the number of seconds that have elapsed since Zim started.

WIM:

n Append Appends a source path to an existing WIM image (Zim for Windows only).

n Apply Applies a WIM image to a target path (Zim for Windows only).

n Capture Captures a source path to a WIM image (Zim for Windows only).

n InjectDrivers Searches for critical drivers in drivers directory and injects into image on disk.

ZISD:

n Dump Dump the contents of ZISD to the log file.

n Get Read a ZISD attribute value.

n Load Load ZISD from a file.

n Put Adds a ZISD attribute value change to the queue.

n Refresh Force a complete read of ZISD.

n Remove Remove ZISD from the local disk(s).

n Save Save ZISD to a file.

n Write Commits all queued changes made by ZISD:Put to the hard disk(s).

Miscellaneous

n Else Execute a group of statements if all other conditions within the If block are not met.

n ElseIf Conditionally execute a group of statements, depending on the value of an expression.

n End End of an If...Else block.

n Gosub Jumps to an existing label and returns (using Return:).

- 220 -

Page 221: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

n Goto Jumps to an existing label.

n If Conditionally execute a group of statements, depending on the value of an expression.

n Label Target for a 'Goto' or Menu:Item,<id>.

n Pause Suspend script execution for a specified number of seconds.

n Return Returns to the next line following the calling Gosub.

n Set Create or update a variable with a value.

n While Execute a series of statements as long as a given condition is true.

- 221 -

Page 222: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:AskDisplay message box and wait for a single key to be entered or a button to be pressed.

Syntax

Dialog:Ask,

[in] string title,

[in] string message,

[in] string keys | button_macro[^button_default],

[in] string colour

Parameters

Parameter Description

title Window title.

message Window message. Use \n for new lines.

keys Keys to trap.

button_macro Buttons to display with optional default button, e.g. '_OkCancel','_OkCancel^_Cancel'. See Remarks.

colour (optional) Window colour (see Colour Usage).

RemarksSee Button Macros for details of available button types.

Return Values_ASK

For keys, returns single character for key pressed, e.g. 'A', 'z' (case sensitive).For buttons, returns the button pressed with an underscore '_' prefix, e.g. '_Ok', '_Cancel'.

Example

- 222 -

Page 223: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

; Display a message box and wait for a button to be clicked (default is 'no')

Dialog:Ask,"Warning!","Restore image?","_YesNo^_No",BLUE

If:Var,_ask,eq,"_Yes"

; Restore image

...

End:

; Display a message box and wait for a key press

Dialog:Ask,"Warning!","Restore image?","_YesNo",RED

If:Var,_ask,eq,"_Yes"

; Restore image

...

End:

- 223 -

Page 224: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:BannerDisplay a banner message for a specified number of seconds.

Syntax

Dialog:Banner,

[in] string message,

[in] string seconds,

[in] string colour

Parameters

Parameter Description

message Banner message. Use \n for new lines.

seconds Time to display banner.

colour Window colour (see Colour Usage).

RemarksTo display multiple lines of text in the banner, use the "\n" new line separator, e.g. "Line1\nLine2\n\nLine4".

Return Valuesn/a

Example

Dialog:Banner,"Restoring image, Please wait...",5,BLUE

- 224 -

Page 225: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:CountdownDisplays a window with a countdown lasting for the specified time in seconds. If during the countdown a key is pressed that matches a character from keys, the _ASK variable is set to the key pressed and the countdown is aborted.

Syntax

Dialog:Countdown,

[in] string title,

[in] string message,

[in] string pre-text,

[in] string seconds,

[in] string post-text,

[in] string keys,

[in] string colour

Parameters

Parameter Description

title Window title.

message Window message.

pre-text Text displayed before seconds counter, e.g. Rebooting in 10 seconds.

seconds Countdown timer in seconds.

post-text Text displayed after seconds counter, e.g. Rebooting in 10 seconds.

keys Keys to trap.

colour (optional) Window colour (see Colour Usage).

RemarksValid range for seconds is 1 - 60.If keys is set to _none or is empty, key presses will be ignored during the countdown.

Return Values

Variable Description

_ASK Returns the key pressed that aborted the countdown (-1 if countdown was not aborted).

- 225 -

Page 226: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example

; Display countdown

Dialog:Countdown,"Recovery Menu","Press 'q' to abort.","Rebooting in",3,"seconds.",q,BLUE

If:Var,_ASK,ne,"q"

; reboot

Goto:reboot

End:

; Do something else

Goto:show_menu

- 226 -

Page 227: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:InputDisplay an input box.

Syntax

Dialog:Input,

[in] string message,

[out] string variable,

[in] string colour

Parameters

Parameter Description

message Window message. Use \n for new lines (Linux only).

variable Variable that will receive the entered string.

colour (optional) Window colour (see Colour Usage).

Return Valuesvariable

Returns the input string to the specified variable.

Example

; Display input box

Dialog:Input,"Enter name of server:",servername,BLUE

- 227 -

Page 228: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:InputMaskDisplay an input box with an input mask.

Syntax

Dialog:Input,

[in] string message,

[in] string mask,

[out] string variable,

[in] string colour

Parameters

Parameter Description

message Window message. Use \n for new lines (Linux only).

mask Specifies the mask used when comparing user input.

variable Variable that will receive the entered string.

colour (optional) Window colour (see Colour Usage).

Masks

Special Characters Description

# Accept only a digit.

? Accept only a letter (case-insensitive).

& Accept only a letter, force to uppercase.

@ Accept any character.

! Accept any character, force to uppercase.

; Take next character literally.

* Repetition count.

[] Option.

{} Grouping parameters.

, Set of alternatives.

- 228 -

Page 229: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example Description

{UK-,FR-,GR-}##### Asset tag in the format 'UK-12345' with auto fill-in.

#[#]/#[#]/## Date with 2 digit year (dd/mm/yy or mm/dd/yy).

#[#]/#[#]/#### Date with 2 or 4 digit year (mm/dd/yy or mm/dd/yyyy).

{J{an,u{n,l}},Feb,Ma{r,y},A{pr,ug},Sep,Oct,Nov,Dec} {1[#],2[#],30,31,#};, 20##

Date in the format 'Jan 31, 2012' with auto fill-in.

#[#][#].#[#][#].#[#][#].#[#][#] IP address.

{##}:{##}[:{##}] Time with optional seconds (HH:MM:SS).

Return Valuesvariable

Returns the input string to the specified variable.

Example

; Prompt for IP address using an input mask

Dialog:InputMask,"Enter IP address:","#[#][#].#[#][#].#[#][#].#[#][#]",ip_address,BLUE

- 229 -

Page 230: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:InputPassDisplay an input box with password masking.

Syntax

Dialog:Inputpass,

[in] string message,

[out] string variable,[in] string colour

Parameters

Parameter Description

message Window message. Use \n for new lines (Linux only).

variable Variable that will receive the entered string.

colour (optional) Window colour (see Colour Usage).

Return Valuesvariable

Returns the input string to the specified variable.

Example

; Display password prompt

Dialog:InputPass,"Enter password:",secret,BLUE

- 230 -

Page 231: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:ListFromFileDisplay selectable fields from a CSV style file in a scrolling list box.

Syntax

Dialog:ListFromFile,

[in] string title,

[in] string path,

[in] string separator,

[in] string field_index,

[in] string colour

Dialog:ListFromFile(filter_string,filter_index)

[in] string title,

[in] string path,

[in] string separator,

[in] string field_index,

[in] string colour

Parameters

Parameter Description

title Window title.

path Full path name to CSV file.

Separator Specifies the field separator.

field_index Specifies the (1-based) index of the field to be displayed in the list box.

filter_string Displays items when field field_item begins with characters from the filter.

filter_index Specifies the field used during the filter_string match.

colour (optional) Window colour (see Colour Usage).

RemarksLines in the source file that are either blank or begin with a comment ';' will be ignored and will not be displayed in the list box.

If a field index is not specified, is zero, or is greater than the number of fields found in the file, the first field will be displayed in the list box.

Return Values

Parameter Description

_LISTITEM Returns the complete row that was selected by the user, including separators. The Set:<var>,Token() method should be used to extract individual fields.

_ERROR 0 = Success1=Failed

- 231 -

Page 232: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example

; Display all items

Dialog:ListFromFile,"Available images:","images.txt",",",1,BLUE

; Display filtered items (only items beginning with 'dell')

Dialog:ListFromFile("dell", 1),"Available images:","images.txt",",",1,BLUE

; Tokenise fields from selected item

Set:img-desc,Token("%_listitem%", ",", 1)

Set:img-base,Token("%_listitem%", ",", 2)

Set:img-addon,Token("%_listitem%" ,",", 3)

Example .csv file

; <field1>,<field2>,<field3> --> this line will be ignored as it is prefixed with ;

HP DC5880,win7-pro-sp1-x86-postsp.zmg,drivers-hp-dc5880.zmg

Lenovo T1,win7-ent-sp1-x86-postsp.zmg,drivers-lenovo-t1.zmg

Dell Optiplex 380,win8-pro-x64-postsp.zmg,drivers-dell-optiplex380.zmg

Dell Latitude E6550,win8-pro-x64-postsp.zmg,drivers-dell-latitude-e6550.zmg

- 232 -

Page 233: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:PopupDisplay a popup window with a message.

Syntax

Dialog:Popup,

[in] string message,

[in] string colour

Parameters

Parameter Description

message Window message. Use \n for new lines (Linux only).

colour (optional) Window colour (see Colour Usage).

RemarksWindow will be displayed until another dialog is shown or Dialog:PopupClose is called.

To display multiple lines of text in the popup window, use the "\n" new line separator, e.g. "Line1\nLine2\n\nLine4".

Note: Zim for Windows does not support line breaks (new lines) with Dialog:Popup or Dialog:PopupXY. Use Dialog:Banner with Zim for Windows if multiple lines with line breaks are required.

Return Valuesn/a

Example

; Display popup window

Dialog:Popup,"Restoring image, Please wait...",BLUE

Pause:3

; Perform tasks

...

; Close popup window

Dialog:PopupClose

- 233 -

Page 234: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:PopupCloseCloses an existing popup window created with Dialog:Popup or Dialog:PopupXY.

Syntax

Dialog:PopupClose

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

; Display popup window

Dialog:Popup,"Restoring image, Please wait...",BLUE

Pause:3

; Perform tasks

...

; Close popup window

Dialog:PopupClose

- 234 -

Page 235: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dialog:PopupXYDisplay a popup window with a message.

Syntax

Dialog:PopupXY,

[in] string message,

[in] string x,

[in] string y,

[in] string colour

Parameters

Parameter Description

message Window message. Use \n for new lines (Linux only).

x Column offset for top-left corner of window. Setting value to -1 will horizontally centre window.

y Row offset for top-left corner of window. Setting value to -1 will vertically centre window.

colour (optional) Window colour (see Colour Usage).

RemarksWindow will be displayed until another dialog is shown or Dialog:PopupClose is called.

To display multiple lines of text in the popup window, use the "\n" new line separator, e.g. "Line1\nLine2\n\nLine4".

Note: When used with Zim for Windows edition, the x and y parameters will be ignored and the popup window will always appear centred. Zim for Windows does not support line breaks (new lines) with Dialog:Popup or Dialog:PopupXY. Use Dialog:Banner with Zim for Windows if multiple lines with line breaks are required.

Return Valuesn/a

Example

- 235 -

Page 236: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

; Display popup window (at X,Y co-ordinates)

Dialog:PopupXY,"Restoring image, Please wait...",1,1,BLUE

Pause:3

; Perform tasks

...

; Close popup window

Dialog:PopupClose

- 236 -

Page 237: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DMI:GetRetrieves DMI information from the BIOS.

Syntax

DMI:Get,

[in] string class,

[in] string attribute,

[out] string variable

Parameters

Parameter Description

class DMI class.

attribute DMI attribute.

variable Variable name that will receive the value.

Class and Attribute Values

Parameter Description Example

Base Board Information

Asset Tag

Manufacturer Dell, Inc.

Product Name Optiplex 380

Serial Number ..CN1374053793G5

Version.

BIOS Information Vendor Dell, Inc.

Chassis Information

System Enclosure

Asset Tag HGY66L

Manufacturer Dell, Inc.

Serial Number HX12345

Type Desktop

Compaq Ownership Tag UK12345

System Information

Manufacturer Dell, Inc.

Product Name Optiplex 380

Serial Number HX12345

Version

Remarksn/a

Return ValuesIf an invalid class or attribute is specified an empty string will be returned.

- 237 -

Page 238: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example

; Read value from DMI

DMI:Get,"System Information","Manufacturer",dmi_manufacturer

- 238 -

Page 239: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Else:All future script lines will be processed until reaching an End:

Syntax

Else:

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

If:File1,exist,"%path%"

...

Else:

...

End:

- 239 -

Page 240: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ElseIf:Script lines will be processed if condition is TRUE.

Syntax

ElseIf:

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

If:File1,exist,"%path%"

...

ElseIf:File2,exist,"%path%"

...

Else:

...

End:

- 240 -

Page 241: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

End:IF..ELSE execution will continue until End: is encountered.

Syntax

End:

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

If:File1,exist,"%path%"

...

ElseIf:File2,exist,%path%"

...

Else:

...

End:

- 241 -

Page 242: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File:AppendAppends a line of text to a file.

Syntax

File:Append,

[in] string path,

[in] string string

Parameters

Parameter Description

path Target path.

string String to append to file.

RemarksIf the target file does not exist it will be created.

Return Values

Variable Description

_ERROR 0 (Success)

1 (Failure)

Example

File:Append,"imaging.log","Restoring image..."

- 242 -

Page 243: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File:DeleteDeletes the specified file.

Syntax

File:Delete,

[in] string path

Parameters

Parameter Description

path Path to file to be deleted.

Remarksn/a

Return Valuesn/a

Example

Linux

; Delete a file

File:Delete,"/zimbin/temp.log"

Windows

; Delete a file

File:Delete,"\zimbin\temp.log"

- 243 -

Page 244: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File:INIRead from and write to an INI file.

Syntax

File:INI,Get,

[in] string ini_file,

[in] string section,

[in] string key,

[out] string variable

File:INI,GetNext,

[in] string ini_file,

[in] string section,

[in] string key,

[out] string variable

File:INI,Put

[in] string ini_file,

[in] string section,

[in] string key,

[in] string value

Parameters

Parameter Description

ini_file Path to INI file.

section Specifies an INI file section name (do not include '[]').

key Specifies an INI file key string.

variable Variable that will receive the key value.

value Value that will be used when creating the key.

Remarks

n The maximum INI line length supported is 255 characters, which includes key, value, '=' and whitespace. If the line contains more than 255 characters the returned value will be truncated.

n File:INI,Get supports wildcard strings in the section and value names within the INI file.

n For INI files with duplicate keys, first call File:INI,Get followed by File:INI,GetNext until an empty string is returned. Care should be taken to always call File:INI,Get for each different INI file, otherwise File:INI,GetNext may return incorrect values.

n If an empty section "" is specified keys will be searched/inserted up to the next section or until the end-of-file has been reached.

Return Valuesn/a

- 244 -

Page 245: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example

images.ini

Unspecified = drivers-unknown-model1|desktop|win7-sp1-pro-x86

Unspecified = drivers-unknown-model2|desktop|win7-sp1-pro-x86

[DELL*]

Latitude E6500 = drivers-dell-latitude-E6500|Laptop|win8-x86

OptiPlex GX980 = drivers-dell-optiplex-gx980|Desktop|win7-sp1-pro-x86

zim.cfg

Set:INI_Path,"images.ini"

; Read INI key value

File:INI,Get,"%INI_Path%","Dell, Inc.","Latitude E6500",Hardware_Info

; Tokenise value

Set:Hardware_Image,Token("%Hardware_Info%","|",1)

Set:Hardware_Type,Token("%Hardware_Info%","|",2)

;Read INI key values for machines with no manufacturer section

File:INI,Get,"%INI_Path%","","Unspecified",Unknown_Hardware_Info

While:Var,Unknown_Hardware_Info,NE,""

File:INI,GetNext,"%INI_Path%","","Unspecified",Unknown_Hardware_Info

; Use the returned value

Wend:

- 245 -

Page 246: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File:LogAppends a line of text to the log file.

Syntax

File:Log,Append,

[in] string message

Parameters

Parameter Description

message Text to add to Zim log file.

Remarks

Note: Zim must be started with the -log option. See Command Line Syntax to change the default log file path.

Return Valuesn/a

Example

File:Log,Append,"Error: Image restore failed."

- 246 -

Page 247: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File:RunRun a shell command in either silent or verbose mode.

Syntax

File:Run,

[in] string shell_command,

[in] string mode

Parameters

Parameter Description

shell_command full path to script or executable.

mode Run mode: Verbose (default) or Silent.

RemarksWhen using WinPE imaging shell commands (i.e. those that do not have executables) must be launched by running "cmd /c".

Return Values

Variable Description

_ERROR Returns the errorlevel from the shell_command.

Example

Linux

; Restore ZENworks image

File:Run,"img rp %PROXYADDR% //%PROXYADDR%/vol1/images/base.zmg"

If:var,_error,eq,"1"

Goto:Error

End:

Windows

; Copy a file

File:Run,"cmd /c copy zim.log n:zim.log"

If:var,_error,eq,"1"

Goto:Error

End:

- 247 -

Page 248: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:DisplayDisplays a form previously defined with the Form:Start method.

Syntax

Form:Display,

[in] string id

Parameters

Parameter Description

id Form ID to display.

Remarksn/a

Return Values

Variable Description

_FORM Returns the button pressed (see Button Macros for further details).

Example

; Page 1

Label:_Display_Page1

Form:Start,"Page1","Computer Details","_NextCancel^_Cancel",BLUE

Form:Item,"Item1",Label,"Machine type:"

Form:Item,"Item2",Radiobuttons,"","Desktop,Laptop"

Form:Item,"Item3",Label,"Asset tag:"

Form:Item,"Item4",EditBox,""

Form:Display,"Page1"

If:Var,_Form,eq,"_Cancel"

Goto:_TheEnd

End:

; Page 2

Label:_Display_Page2

Form:Start,"Page2","Regional Settings","_BackFinishCancel^_Cancel",BLUEs

Form:Item,"Item1",Label,"Language:"

Form:Item,"Item2",EditBox,""

If:Var,_Form,eq,"_Cancel"

Goto:_TheEnd

- 248 -

Page 249: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ElseIf:Var,_Form,eq,"_Back"

Goto:_Display_Page1

End:

; Finish

...

- 249 -

Page 250: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:ItemAdd an item to the current form definition which must be preceded with a Form:Start method.

Types

Browse_File Edit box with file browse button (Zim for Windows only).

CheckBoxes Cluster of up to 16 check boxes which can be independently selected.

EditBox Text edit box.

EditBox_Mask Text edit box with input mask (mask is checked on button press).

EditBox_Password Password text edit box ('*' appears when data is entered).

Label Label for the next form item (required for all but StaticText).

ListBox Drop down list of items.

ListBox_File Drop down list of items read from a file.

ListBox_LDAP Drop down list of items containing the result from an LDAP query.

RadioButtons A cluster of up to 16 radio buttons where only one control button in the cluster can be selected at a time.

StaticText Static text (does not require a Label).

Return Values

Parameter Description

_Form Returns the last button pressed (See Buttons).

_<form_id>_<item_id> Returns selected item text.

_<form_id>_<item_id>_alt ListBox - Returns selected item alternative data.

_<form_id>_<item_id>_file_line ListBox_File - Returns entire line from file based on selected item, e.g. 'United Kingdom=044'.

_<form_id>_<item_id>_ldap_cn ListBox_LDAP - Returns selected item LDAP CN, e.g. 'Homer'.

_<form_id>_<item_id>_ldap_dn

ListBox_LDAP - Returns selected item LDAP DN, e.g. 'cn=Home-er,ou=London,dc=engl,dc=local'.

- 250 -

Page 251: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,Browse_FileAdds an edit box with file browse button to the current form definition which must be preceded with a Label item type.

Note: Zim for Windows only.

Syntax

Form:Item,

[in] string id,

[in] Browse_File,

[in] string default_text,

[in] string window_title,

[in] string initial_directory,

[in] string default_extension,

[in] string dialog_type

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

window_title Specifies that file browser window title.

initial_directory Specifies the file browser initial directory path.

default_extension Specifies the file browser default file extension, i.e. "wim".

dialog_type Specifies whether the button will display a file "Open" or "Save" dialog. Default is "Open".

Remarksn/a.

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Image Restore",_FinishCancel

Form:Item,"Item1",Label,"WIM path:"

Form:Item,"Item2",Browse_File,"","Select a WIM file","S:\Images","wim","save"

Form:Display,"Page1"

- 251 -

Page 252: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,CheckBoxesAdds a cluster of up to 16 check boxes to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] CheckBoxes,

[in] string default,

[in] string list

Parameters

Parameter Description

id Unique item identifier within the form.

default Specifies the check box(-es) that will be selected by default. Use commas to select multiple check boxes.

list Specifies a comma separated list that will be displayed as check boxes.

Remarksn/a

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",Label,"Applications:"

Form:Item,"Item2",CheckBoxes,"Word,Powerpoint","Acrobat,Excel,Word,Powerpoint"

Form:Display,"Page1"

- 252 -

Page 253: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,EditBoxAdds an edit box to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] EditBox,

[in] string default_text,

[in] ReadOnly

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

ReadOnly(optional) Specifies that the displayed text cannot be edited.

Remarksn/a

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",Label,"Server:"

Form:Item,"Item2",EditBox,"%PROXYADDR%"

Form:Display,"Page1"

- 253 -

Page 254: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,EditBox_MaskAdds an edit box with an input mask to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] EditBox_Mask,

[in] string default_text,

[in] string mask,

[in] string mask_error_message

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

mask Specifies the mask used when comparing user input.

mask_error_mes-sage (optional)

Specifies the custom error message (maximum 100 characters) displayed when the user input does not match the mask. To specify a title, use the '~' character to split the title from the message.

The title and message can contain variables and the message can contain the macros %*label% (edit box label) and %*mask% (edit box mask).

Masks

Special Characters Description

# Accept only a digit.

? Accept only a letter (case-insensitive).

& Accept only a letter, force to uppercase.

@ Accept any character.

! Accept any character, force to uppercase.

; Take next character literally.

* Repetition count.

[] Option.

{} Grouping parameters.

, Set of alternatives.

- 254 -

Page 255: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example Description

{UK-,FR-,GR-}##### Asset tag in the format 'UK-12345' with auto fill-in.

#[#]/#[#]/## Date with 2 digit year (dd/mm/yy or mm/dd/yy).

#[#]/#[#]/##[##] Date with 2 or 4 digit year (mm/dd/yy or mm/d-d/yyyy).

#[#]/#[#]/#### Date with 4 digit year (mm/dd/yyyy).

{J{an,u{n,l}},Feb,Ma{r,y},A{pr,ug},Sep,Oct,Nov,Dec} {1[#],2[#],30,31,#};, 20##

Date in the format 'Jan 31, 2012' with auto fill-in.

#[#][#].#[#][#].#[#][#].#[#][#] IP address.

{##}:{##}[:{##}] Time with optional seconds (HH:MM:SS).

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

; IP address mask with custom input mask error message

Form:Item,"Item1",Label,"Server IP:"

Form:Item,"Item2",EditBox_Mask,"","#[#][#].#[#][#].#[#][#].#[#][#]","Form Validation Error~Error:

Invalid IP address entered for field '%*label%'."

Form:Display,"Page1"

- 255 -

Page 256: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,EditBox_PasswordAdds an edit box with password mask to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] EditBox_Password,

[in] string default_text

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

Remarksn/a

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",Label,"Password:"

Form:Item,"Item2",EditBox_Password,""

Form:Display,"Page1"

- 256 -

Page 257: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,LabelAdds a label to the current form definition.

Syntax

Form:Item,

[in] string id,

[in] Label,

[in] string label

Parameters

Parameter Description

id Unique item identifier within the form.

label Specifies the label text that will be attached to the next item.

RemarksAll item types must be preceded with a Label, except the StaticText type.

Return ValuesSee Form Item Return Values.

Examples

; EditBox

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",Label,"Server:"

Form:Item,"Item2",EditBox,"%PROXYADDR%"

Form:Display,"Page1"

- 257 -

Page 258: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,ListBoxAdds a list box to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] ListBox,

[in] string default_text,

[in] string list_comma_separated[^alternative_data_comma_separated]

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

list_comma_separated Specifies a list of comma separated string values that will be added to the list box.

Optional alternative data can be associated with each list item by using a '^', e.g. 'London,Paris,New York^1,2,3'. See Form Item Return Values for how alternative data is returned.

Remarksn/a

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"item1",Label,"Language:"

Form:Item,"item2",ListBox,"English","English,French,German,Italian,Spanish"

Form:Display,"Page1"

- 258 -

Page 259: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,ListBox_FileAdds a list box to the current form definition which must be proceeded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] ListBox_File,

[in] string default_text,

[in] string path,

[in] string section,

[in] string separator,

[in] string display_index,

[in] string filter_string,

[in] string filter_index

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

path Specifies the path to the source file.

section Specifies the INI file section name.

separator Specifies the field separator.

display_index Specifies the field to display.

filter_string (optional) Specifies the display filters where the display_index field must begin with characters from the filter.

filter_index (optional) Specifies the field used during the filter_string query.

Remarksn/a

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"item1",Label,"Site:"

Form:Item,"item2",ListBox_File,"London","sites.ini","Sites","=",2

Form:Display,"Page1"

Sites.INI (Sample)

[Sites]

Site1=London

- 259 -

Page 260: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Site2=Paris

Site3=New York

- 260 -

Page 261: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,ListBox_LDAPAdds a list box to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] ListBox_LDAP,

[in] string default_text,

[in] string ldap_base_dn,

[in] string ldap_search_level,

[in] string ldap_search_filter,

[in] string ldap_display_attribute

Parameters

Parameter Description

id Unique item identifier within the form.

default_text Specifies the default text displayed.

ldap_base_dn Specifies the LDAP base container for the search, e.g. 'ou=Springfield,o=ENGL'.

ldap_search_level Specifies the LDAP search scope:

'ONELEVEL' (search for objects in the base container)'SUBTREE' (search for objects in the base container and all sub-containers).

ldap_search_filter Specifies the LDAP search filter, e.g. '(objectclass=Person)'.

ldap_display_attribute Specifies the LDAP attribute to display from the search, e.g. 'cn'.

RemarksA connection must have previously been created using LDAP:Bind.

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"item1",Label,"User:"

Form:Item,"item2",ListBox_LDAP,"Homer","ou=Springfield,o=ENGL",ONELEVEL,"(objectclass=Person)","cn"

Form:Display,"Page1"

- 261 -

Page 262: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,RadioButtonsAdds a cluster of up to 16 radio buttons to the current form definition which must be preceded with a Label item type.

Syntax

Form:Item,

[in] string id,

[in] RadioButtons,

[in] string default,

[in] string list

Parameters

Parameter Description

id Unique item identifier within the form.

default Specifies the radio button that will be selected by default.

list Specifies a comma separated list that will be displayed as radio buttons.

RemarksOnly one radio button can be selected at a time.

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",Label,"Language:"

Form:Item,"Item2",RadioButtons,"English","Dutch,English,French,German,Spanish"

Form:Display,"Page1"

- 262 -

Page 263: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:Item,<id>,StaticTextAdds static text to the current form definition.

Syntax

Form:Item,

[in] string id,

[in] StaticText,

[in] string text,

Parameters

Parameter Description

id Unique item identifier within the form.

text Specifies the text to display.

By default text will be centred. To left-align use '-' as the first character.

Use \n for new lines (Windows only).

RemarksAll item types must be preceded with a Label, except the StaticText type.

Return ValuesSee Form Item Return Values.

Examples

Form:Start,"Page1","Options",_FinishCancel

Form:Item,"Item1",StaticText,"This text will be centred"

Form:Item,"Item2",StaticText,"-This text will be left-aligned"

Form:Item,"Item3",Label,"Applications:"

Form:Item,"Item4",CheckBoxes,"Word,Powerpoint","Acrobat,Excel,Word,Powerpoint"

Form:Display,"Page1"

- 263 -

Page 264: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Form:StartCreates a new form definition.

Syntax

Form:Start,

[in] string id,

[in] string title,

[in] string button_macro[^default_button]

Parameters

Parameter Description

id Unique item identifier for the form.

title Window title.

button_macro

Buttons to display with optional default button, e.g. '_OkCancel', '_OkCancel^_Cancel'. See Button Macros for fur-ther details.

RemarksVariables included in the form title will be expanded when the form is displayed.

Return Valuesn/a

Example

; Define form page

Form:Start,"Page1","Computer Details","_NextCancel^_Cancel"

Form:Item,"Item1",Label,"Machine type:"

Form:Item,"Item2",Radiobuttons,"","Desktop,Laptop"

Form:Item,"Item3",Label,"Asset tag:"

Form:Item,"Item4",EditBox,""

; Display form

Form:Display,"Page1"

If:Var,_Form,eq,"_Cancel"

Goto:_TheEnd

End:

; Display next page

...

- 264 -

Page 265: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Gosub:Jumps to the specified Label and continues script execution.

Note: Gosub statements can not be nested.

Syntax

Gosub:

[in] string label

Parameters

Parameter Description

label Label name to jump to.

RemarksUse Return: after Label to return to the line following the Gosub statement.

Return Valuesn/a

Example

Gosub:do_something

...

Label:do_something

...

Return:

- 265 -

Page 266: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Goto:Finds the specified Label: and continues script execution.

Syntax

Goto:

[in] string label

[in] string params

Parameters

Parameter Description

label Label name to jump to.

params (optional) Parameters passed with the function.

Remarksn/a

Return Values

Variable Description

_PARAM Returns the params string.

Example

Goto:restore_image,"Y,N,Y,sp4320.zmg"

Goto:the_end

- 266 -

Page 267: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

IfBegin If...ElseIf...Else...End logic. If condition is true, all future script lines will be executed until Else: or End: is reached.

Note: n If statements can be nested up to 5 levels deep.

n If statements cannot contain a Label

Syntax

If:

[in] string method

Methods

File Checks for file existence.

Var Compares the value of a variable.

ZISD Checks for ZENworks Image-safe Data existence.

- 267 -

Page 268: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

If:EFIChecks for Unified Extensible Firmware Interface (UEFI) existence.

Syntax

If:EFI,

[in] string condition

Parameters

Parameter Description

condition EXIST (does exist)NOTEXIST (does not exist)

RemarksIf the condition is true the script is processed until an ElseIf:, Else: or End: is reached.

Return Valuesn/a

Example

If:EFI,EXIST

; UEFI firmware detected

; ...

End:

- 268 -

Page 269: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

If:FileChecks for file existence.

Syntax

If:File,

[in] string condition,

[in] string file

Parameters

Parameter Description

condition EXIST (does exist)NOTEXIST (does not exist)

file File path to perform the test on.

RemarksIf the condition is true the script is processed until an ElseIf:, Else: or End: is reached.

Return Valuesn/a

Example

Set:source,"myimage.zmg"

If:File,NOTEXIST,"%source%"

Dialog:Ask,"Warning!","Error: Unable to find file '%source%'.",_Ok,RED

Goto:the_end

End:

- 269 -

Page 270: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

If:VARCompares the value of a variable.

Syntax

If:VAR,

[in] string variable,

[in] string operator,

[in] string compare

Parameters

Parameter Description

variable Name of variable.

operator CONTAINS (Contains substring)EQ (Equals)GE (Is Greater Than or Equal to)GT (Is Greater Than)LE (Is Less Than or Equal to)LT (Is Less Than)NE (Is Not Equal to)

compare Value or variable.

RemarksIf the condition is true the script is processed until an ElseIf:, Else: or End: is reached.

During script processing the variable name specified in the If: statement will be searched for in Zim's internal variable table (runtime and custom variables). If the variable is not found Linux exported variables or Windows environment variables (as appropriate) will be searched.

Return Valuesn/a

Example

Set:req,150

Set:avail,300

If:VAR,avail,LT,%req%

Dialog:Ask,"","%req%MB is required, but only %avail%MB is available",_Ok,RED

Goto:the_end

End:

- 270 -

Page 271: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

If:ZISDChecks for ZENworks Image-safe Data existence.

Syntax

If:ZISD,

[in] string condition

Parameters

Parameter Description

condition EXIST (does exist)NOTEXIST (does not exist)

RemarksIf the condition is true the script is processed until an ElseIf:, Else: or End: is reached.

Return Valuesn/a

Example

If:ZISD,EXIST

Dialog:Ask,"Warning!","ZENworks imaging has already been installed on this machine.",_Ok,RED

Goto:the_end

End:

- 271 -

Page 272: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Label:Specifies a label.

Syntax

Label:

[in] string name

Note: n Label cannot be used within an If statement.

Parameters

Parameter Description

name Name of label.

RemarksThe label that is used by Menu:Item, Gosub: and Goto: commands.

Return Valuesn/a

Example

Label:the_end

- 272 -

Page 273: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:AddGroupMemberAdds a member to a group.

Syntax

LDAP:AddGroupMember,

[in] string group_dn,

[in] string member_dn

[out] string result

Parameters

Parameter Description

group_dn Group DN.

member_dn Member DN.

result Variable will be set to True or False.

RemarksA connection must have previously been created using LDAP:Bind.

Return ValuesTrue if successful, otherwise False.

Example

; Add user "Homer" to group "grpSimpsons"

; eDirectory syntax

LDAP:AddGroupMember,"cn=grpSimpsons,o=ENGL","cn=Homer,o=ENGL",result

; Active Directory syntax

LDAP:Ad-

dGroupMember,"cn=grpSimpsons,ou=London,dc=engl,dc=local","cn=Homer,ou=London,dc=engl,dc=local",result

- 273 -

Page 274: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:AddSearchAdd an LDAP context to the LoginBox search list.

Syntax

LDAP:AddSearch,

[in] string context,

[in] string depth

Parameters

Parameter Description

context Base container DN.

depth Maximum search depth below context (0 = base context only).

Remarksn/a

Return Valuesn/a

Example

; Specify search order/depth

; eDirectory syntax

LDAP:AddSearch,"o=ENGL",0

LDAP:AddSearch,"ou=London,o=ENGL",1

LDAP:AddSearch,"ou=Paris,o=ENGL",1

LDAP:AddSearch,"ou=New York,o=ENGL",1

; Active Directory syntax

LDAP:AddSearch,"ou=London,dc=engl,dc=local",1

LDAP:AddSearch,"ou=Paris,dc=engl,dc=local",1

LDAP:AddSearch,"ou=New York,dc=engl,dc=local",1

; Connect to the LDAP server

LDAP:Init,"%PROXYADDR%"

LDAP:LoginBox,"Authorised Access Only!",RED

If:Var,_LOGINBOX_BUTTON,EQ,"cancel"

Goto:TheEnd

End:

- 274 -

Page 275: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:BindPerform an LDAP bind (authenticate).

Syntax

LDAP:Bind,

[in] string username,

[in] string password

Parameters

Parameter Description

username User DN.

password Password.

Remarks

n A connection must have previously been initialised using LDAP:Init or LDAP:InitSSL before attempting to bind.

n If the password parameter is not specified the LoginBox password will be used.

Return Values

Variable Description

_ERROR 0 = Success

1 = Failure

Example

; Authenticate to LDAP server

LDAP:Init,"10.10.10.1",389

; eDirectory syntax

LDAP:Bind,"cn=Homer,ou=London,o=ENGL","secret"

; Active Directory syntax

LDAP:Bind,"cn=Homer,ou=London,dc=engl,dc=local","secret"

If:Var,_error,eq,1

Dialog:Ask,"LDAP Bind Error","%_ldaperrorstr%","_Ok",RED

LDAP:Unbind

Goto:TheEnd

End:

- 275 -

Page 276: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:DelEntryDelete an LDAP object.

Syntax

LDAP:DelEntry,

[in] string object

Parameters

Parameter Description

object DN of object to delete.

RemarksA connection must have previously been created using LDAP:Bind.

Return Valuesn/a

Example

; Delete a user

; eDirectory syntax

LDAP:DelEntry,"cn=Homer,o=ENGL"

; Active Directory syntax

LDAP:DelEntry,"cn=Homer,ou=London,dc=engl,dc=local"

- 276 -

Page 277: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:DelGroupMemberRemoves a member from a group.

Syntax

LDAP:DelGroupMember,

[in] string group_dn,

[in] string member_dn

[out] string result

Parameters

Parameter Description

group_dn Group DN.

member_dn Member DN.

result Variable will be set to True or False.

RemarksA connection must have previously been created using LDAP:Bind.

If a wildcard is used for the Group parameter, the group member will be removed from all groups matching the wildcard.

Return ValuesTrue if successful, otherwise False.

Example

; Remove the User from all imaging groups

; eDirectory syntax

LDAP:DelGroupMember,"cn=grpImage*","cn=Homer,o=ENGL",result

; Active Directory syntax

LDAP:DelGroupMember,"cn=grpImage*","cn=Homer,ou=London,dc=engl,dc=local",result

- 277 -

Page 278: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:GetAttrReads an LDAP attribute value.

Syntax

LDAP:GetAttr,

[in] string dn,

[in] string attr,

[out] string result

Parameters

Parameter Description

dn Source object DN.

attr Source object attribute.

variable Variable which will be set to the attribute value.

RemarksA connection must have previously been created using LDAP:Bind.

Return Valuesn/a

Example

; eDirectory syntax

LDAP:GetAttr,"cn=Homer,o=ENGL","sn",result

; Active Directory syntax

LDAP:GetAttr,"cn=Homer,ou=London,dc=engl,dc=local","sn",result

- 278 -

Page 279: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:InitInitialise LDAP connection.

Syntax

LDAP:Init,

[in] string host,

[in] string port

Parameters

Parameter Description

host LDAP server hostname (or IP/DNS address).

port LDAP server port number (default is 389).

Remarksn/a

Return Values

Variable Description

_LDAPHOST Returns server hostname.

_LDAPPORT Returns server port number.

Example

LDAP:Init,"10.10.10.1",389

- 279 -

Page 280: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:InitSSLInitialise secure LDAP connection.

Syntax

LDAP:InitSSL,

[in] string path,

[in] string type,

[in] string host,

[in] string port

Parameters

Parameter Description

path Path to certificate file (.der format).

type Certificate type (must be set to 'der' when supplying a certificate file).

host LDAP server hostname (or IP/DNS address).

port LDAP server port number (default is 636).

Note: To use a server supplied certificate do not specify any values for the path and type parameters.

Remarksn/a

Return Values

Variable Description

_LDAPHOST Returns server hostname.

_LDAPPORT Returns server port number.

Example

LDAP:InitSSL,"rootcert.der","der","10.10.10.1",636

- 280 -

Page 281: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:IsGroupMemberChecks group membership.

Syntax

LDAP:IsGroupMember,

[in] string group_dn,

[in] string member_dn,

[out] string result

Parameters

Parameter Description

group_dn Group DN.

member_dn Member DN.

result Variable will be set to True or False.

RemarksA connection must have previously been created using LDAP:Bind.

Return Valuesn/a

Example

; Check if user "Homer" is a member of group "grpSimpsons"

; eDirectory syntax

LDAP:IsGroupMember,"cn=grpSimpsons,o=ENGL","cn=Homer,o=ENGL",result

; Active Directory syntax

LDAP:IsGroupMem-

ber,"cn=grpSimpsons,ou=London,dc=engl,dc=local","cn=Homer,ou=London,dc=engl,dc=local",result

If:Var,result,eq,"True"

Goto:Display_Imaging_Menu

End:

- 281 -

Page 282: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:LDAPToNDSConverts an LDAP DN to NDS DN.

Syntax

LDAP:LDAPToNDS,

[in] string ldap_dn,

[out] string result

Parameters

Parameter Description

ldap_dn LDAP DN, e.g. 'cn=Homer,o=ENGL'.

result Variable to receive NDS DN, e.g. 'cn=Homer.o=ENGL'.

Remarksn/a

Return Valuesn/a

Example

LDAP:LDAPToNDS,"cn=UK12345,ou=London,o=ENGL",result

- 282 -

Page 283: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:ListObjectsDisplay a list box containing the results from an LDAP search.

Syntax

LDAP:ListObjects,

[in] string search_base,

[in] string search_filter,

[in] string display_attr,

[in] string title,

[in] string colour,

[out] string result

Parameters

Parameter Description

search_base LDAP search base DN.

search_filter LDAP search filter.

display_attr LDAP attribute to display.

title Window title.

colour (optional) Window colour (see Colour Usage).

result Variable that will receive the LDAP DN of the selected object.

RemarksA connection must have previously been created using LDAP:Bind.

Return Values

Variable Description

_LDAPHOST Returns server hostname.

_LDAPPORT Returns server port number.

Example

; Display list of groups

; eDirectory syntax

LDAP:ListObjects,"ou=hq,o=engl","(objectclass=group)","cn","Select group:",BLUE,result

; Active Directory syntax

LDAP:ListObjects,"ou=London,dc=engl,dc=local","(objectclass=group)","cn","Select group:",BLUE,result

- 283 -

Page 284: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:LoginBoxDisplay an LDAP login box (supports contextless login).

Syntax

LDAP:LoginBox,

[in] string title,

[in] string colour

Parameters

Parameter Description

title Window title.

colour (optional) Window colour (see Colour Usage).

RemarksA connection must have previously been created using LDAP:Init or LDAP:InitSSL.

At least one search context must be specified using LDAP:AddSearch otherwise an error will be displayed.

If either the username, password or context fields are not populated an error will be displayed when OK is selected.

Specify whether the login box context field is displayed:

Set:_LDAPLOGIN_SHOWCX,<true*|false>

Specify whether the LDAP contextless login search is terminated when the first matching CN is found:

Set:_LDAPLOGIN_STOPFIRSTMATCH,<true|false*>

Return Values

Variable Description

_LDAPCN Returns the LDAP username CN.

_LDAPCX Returns the LDAP context DN.

_LDAPDN Returns the LDAP username DN.

_LOGINBOX_BUTTON Returns the last LoginBox button ('_OK' or '_Cancel').

Example

; Hide context input box

Set:_LDAPLOGIN_SHOWCX,false

; Specify search order/depth

; eDirectory syntax

LDAP:AddSearch,"o=ENGL",0

LDAP:AddSearch,"ou=London,o=ENGL",1

LDAP:AddSearch,"ou=Paris,o=ENGL",1

LDAP:AddSearch,"ou=New York,o=ENGL",1

; Active Directory syntax

- 284 -

Page 285: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:AddSearch,"ou=London,dc=engl,dc=local",1

LDAP:AddSearch,"ou=Paris,dc=engl,dc=local",1

LDAP:AddSearch,"ou=New York,dc=engl,dc=local",1

; Connect to the LDAP server

LDAP:Init,"%PROXYADDR%"

LDAP:LoginBox,"Authorised Access Only!",RED

If:Var,_LOGINBOX_BUTTON,EQ,"cancel"

Goto:TheEnd

End:

- 285 -

Page 286: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:MoveObjectMove an object using LDAP.

Syntax

LDAP:MoveObject,

[in] string dn,

[in] string newdn

Parameters

Parameter Description

dn Source LDAP object DN.

newdn New LDAP object DN.

RemarksA connection must have previously been created using LDAP:Bind.

Return Values

Variable Description

_ERROR 0 = Success

1 = Failure

Example

; Move user "Homer" to the "PowerPlant" container

; eDirectory syntax

LDAP:MoveObject,"cn=Homer,o=ENGL","cn=Homer,ou=PowerPlant,o=ENGL"

; Active Directory syntax

LDAP:MoveObject,"cn=Homer,ou=London,dc=engl,dc=local","cn=Homer,ou=PowerPlant,dc=engl,dc=local"

- 286 -

Page 287: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:NDSToLDAPConverts an NDS DN to LDAP DN.

Syntax

LDAP:NDSToLDAP,

[in] string nds_dn,

[out] string result

Parameters

Parameter Description

nds_dn NDS DN, e.g. 'cn=Homer.o=ENGL'.

result Variable to receive LDAP DN, e.g. 'cn=Homer,o=ENGL'.

Remarksn/a

Return Valuesn/a

Example

LDAP:NDSToLDAP,"cn=UK12345.ou=London.o=ENGL",result

- 287 -

Page 288: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:PutAttrWrites an LDAP attribute value.

Syntax

LDAP:PutAttr,

[in] string dn,

[in] string attr,

[in] string value

Parameters

Parameter Description

dn Object DN.

attr Object attribute.

value Object attribute value.

RemarksA connection must have previously been created using LDAP:Bind.

Return Valuesn/a

Example

; eDirectory syntax

LDAP:PutAttr,"cn=Homer,o=ENGL","sn","Simpson"

; Active Directory syntax

LDAP:PutAttr,"cn=Homer,ou=London,dc=engl,dc=local","sn","Simpson"

- 288 -

Page 289: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:MenuRefreshFiltersRedraws the menu after re-applying LDAP menu filters.

Syntax

LDAP:MenuRefreshFilters

Parametersn/a

RemarksA connection must have previously been created using LDAP:Bind.

Return Valuesn/a

Example

LDAP:MenuRefreshFilters

- 289 -

Page 290: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:RenameObjectRename an object using LDAP.

Syntax

LDAP:RenameObject,

[in] string dn,

[in] string newrdn

Parameters

Parameter Description

dn Source LDAP object DN.

newrdn New relative distinguished name for the object.

Remarksn/a

Return Values

Variable Description

_ERROR 0 = Success

1 = Failure

Example

; eDirectory syntax

LDAP:RenameObject,"cn=Homer,o=ENGL","cn=Bart"

; Active Directory syntax

LDAP:RenameObject,"cn=Homer,ou=London,dc=engl,dc=local","cn=Bart"

- 290 -

Page 291: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP:UnbindPerform an LDAP Unbind (logout).

Syntax

LDAP:Unbind

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

LDAP:Unbind

- 291 -

Page 292: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:DisplayDisplays a menu previously defined with the Menu:Start method.

Syntax

Menu:Display,

[in] string id,

[in] string colour

Parameters

Parameter Description

id Menu ID to display.

colour (optional) Window colour (see Colour Usage).

Remarksn/a

Return Valuesn/a

ExampleSee Menu:Start.

- 292 -

Page 293: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:ItemAdd an item to the current menu definition which must be preceded with a Menu:Start method.

Syntax

Menu:Item,

[in] string id,

[in] string description,

[in] string password,

[in] string params,

[in] string help text

Menu:Item(ldap_search_filter),

[in] string id,

[in] string description,

[in] string password,

[in] string params,

[in] string help text

Parameters

Parameter Description

id Unique item ID for the menu (see 'Remarks for reserved IDs).

description Text displayed on the menu.

password Specifies password that must be entered before the item is displayed.

params Specifies a string that is accessible after the item has been selected.

help_text Specifies a string that is displayed above the footer to provide additional information to the user when the item is highlighted.

ldap_search_filter

LDAP search filter that controls whether this item is displayed for the logged in user (requires an existing LDAP connection, see LDAP:Bind).

RemarksVariables included in the item description will be expanded when the menu is displayed.

Selected menu items will cause the script to jump to a label with the name of the item.

Reserved ID key-words

ID Example Description

_top Menu:Item,_top,"Return to main menu"

Displays the first menu found in the zim.cfg file.

_pre-vious

Menu:Item,_previous,"Return to previous menu"

Displays the previous menu, equivalent to pressing the left arrow key or mouse-clicking the close button.

- 293 -

Page 294: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Return Values

Parameter Description

_ITEMID Menu item ID.

_ITEMTITLE Menu item title.

_ITEMPASSWORD Menu item password.

_ITEMPARAMS Menu item parameters.

ExampleSee Menu:Start.

- 294 -

Page 295: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:ReturnReturns to the last displayed menu, following a Menu:Item method.

Syntax

Menu:Return

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

Label:restore

; Restore image

; ...

Menu:Return

- 295 -

Page 296: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:StartCreates a new menu definition.

Syntax

Menu:Start,

[in] string id,

[in] string description,

[in] string colour,

[in] string maxrows

Parameters

Parameter Description

id Unique menu ID.

description Menu description displayed in the menu header.

colour (optional) Window colour (see Colour Usage).

maxrows (optional) Specifies the maximum number of items displayed in the menu before scrolling.

Remarksn/a

Return Valuesn/a

Example

; ------------- MENU DEFINITION --------------

; Main Menu

Menu:Start,"mnu_main","Imaging Menu",BLUE

Menu:SubMenu,"mnu_restore","Restore menu"

; LDAP Filter for eDirectory environments

Menu:SubMenu((groupMembership=cn=grpMaintMenu,%_LDAPCX%)),"mnu_maint","Maintenance menu"

; LDAP Filter for Active Directory environments

Menu:SubMenu((MemberOf=cn=grpMaintMenu,%_LDAPCX%)),"mnu_maint","Maintenance menu"

Menu:Item,"_reboot,"Reboot"

; Restore Menu

Menu:Start,"mnu_restore","Restore Menu",BLUE

Menu:Item,"_restore","Restore image"

Menu:Item,"_TOP","Return to Main Menu"

; Maintenance Menu

Menu:Start,"mnu_maint","Maintenance Menu",RED

- 296 -

Page 297: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:Item,"_theend","Exit to prompt","secret"

Menu:Item,"_PREVIOUS","Return to previous menu"

; Display main menu

Menu:Display,"mnu_main"

Goto:_theend

- 297 -

Page 298: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Menu:SubMenuAdd a submenu to the current menu definition which must be preceded with a Menu:Start method.

Syntax

Menu:SubMenu,

[in] string id,

[in] string description,,

[in] string password,

[in] string help text

Menu:SubMenu(ldap_search_filter),

[in] string id,

[in] string description,,

[in] string password,

[in] string help text

Parameters

Parameter Description

id Unique item ID for the menu.

description Text displayed on the menu.

password Specifies a password that must be entered before the submenu is displayed.

help_text Specifies a string that is displayed above the footer to provide additional information to the user when the item is highlighted.

ldap_search_filter

LDAP search filter that controls whether this submenu is displayed for the logged in user (requires an existing LDAP connection, see LDAP:Bind).

RemarksSelecting the submenu item from the menu will display the menu id that must have been previously defined with a Menu:Start method.

Return Valuesn/a

ExampleSee Menu:Start.

- 298 -

Page 299: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Monitor:SendUpdateSend an update to the Deployment Monitor server.

Syntax

Monitor:SendUpdate,

[in] string status

Commands

Parameters

Parameter Description

status The current status. For imaging this is either Started or Finished

RemarksMonitor:SendUpdate will reset the _MonitorData_LastError variable value to prevent further calls to SendUpdate sending a phantom error.

Return Valuesn/a

Example

; Send a status update to the Deployment Monitor server

Set:MonitorStatus,"Started"

Monitor:SendUpdate,"%MonitorStatus%"

- 299 -

Page 300: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Network:GetRetrieve a network address attribute and transfer the value to a variable.

Syntax

Network:Get,

[in] string interface,

[in] string attribute,

[out] string result

Parameters

Parameter Description

interface Specifies the network device, e.g. 'eth0' or 'Local Area Connection'

attribute Specifies the attribute to retrieve information (see 'Attributes' below).

result Returns the attribute value.

Attributes

Attribute Description

BCADDR Broadcast address.

HostnameFromDHCP DHCP hostname.

HWADDR Hardware address (MAC).

IPADDR IP address.

NETMASK Subnet address.

RemarksWhen using HostnameFromDHCP, the DHCP server must be "authoritative" for the zone.

In a WinPE environment specifying 'eth0' for the adapter name will attempt to determine the primary ethernet adapter.

If the interface details cannot be retrieved all addresses will be set to 0. For example, the IP address would be set to '0.0.0.0'.

Note: An invalid interface will return an empty string.

Return Valuesn/a

Example

Network:Get,"eth0",IPADDR,result

Set:_headertext,"Workstation IP: %result%"

- 300 -

Page 301: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Pause:Suspend Zim script execution for a specified number of seconds.

Syntax

Pause:

[in] string seconds

Parameters

Parameter Description

seconds Number of seconds to delay.

Remarksn/a

Return Valuesn/a

Example

Pause:5

- 301 -

Page 302: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Return:Returns to the calling Gosub and continues script execution.

Syntax

Return:

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

Gosub:do_something

...

Label:do_something

...

Return:

- 302 -

Page 303: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:Create or modify an existing variable.

Syntax

Set:

[out] string name,

[in] string value

Set:

[out] string name,

command(

[in] string param1[,param2,[...]])

Commands

GetKeyPairStringValue Retrieves a value from a key/pair string.

GetKeyPairStringValueAsVariables For each key/value pair in the string a Zim runtime variable is created (with optional prefix).

Left Return first 'x' characters from string.

Len Return number of characters in string.

MakeLower Return the string in lowercase.

MakeUpper Return the string in uppercase.

Math Return the result from a mathematical operation.

Mid Return 'x' characters from string starting at position 'p'.

PutKeyPairStringValue Adds or replaces an existing key/value pair to a string.

Right Return the last 'x' characters from a string.

Token Return a token from the string.

TokenCount Return the number of tokens in the string.

Trim Return the string after trimming a specified character.

TrimLeft Return the string after trimming a specified character from the beginning of the string.

TrimRight Return the string after trimming a specified character from the end of the string.

Parameters

Parameter Description

name Name of variable.

value Value of variable.

RemarksA number of variables prefixed with '_' are system runtime variables used by Zim. See Reserved Variables for further details.

- 303 -

Page 304: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Return Valuesn/a

Example

; Create a variable using an existing variable

Set:image_path,"/images"

Set:image_base,"%image_path%/base.zmg"

- 304 -

Page 305: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,GetKeyPairStringValue()Retrieves a value from a string containing multiple key/value pairs.

Syntax

Set:

[out] string name,

GetKeyPairStringValue(

[in] string str,

[in] string key)

Parameters

Parameter Description

name Name of variable.

str Specifies a text string containing key/value pairs (see Remarks).

key Specifies a key in str.

RemarksBoth GetKeyPairStringValue and PutKeyPairStringValue will only read and write to a key/value pair string formatted as follows;

<key1>='<value1>';<key2='<value2>';

For example:

BUILD_WS_TYPE='laptop';BUILD_WS_OWNER_DN='cn=Homer,ou=London,dc=engl,dc=local';BUILD_WS_DEPT_

DN='cn=PowerPlant,ou=Workstations,dc=engl,dc=local';

Note: The string must not contain double-quotes. Single-quotes must be used to surround all values. Each key/value pair must be separated with a semi-colon ';'. Use PutKeyPairStringValue with an empty string to create a correctly formatted key/pair string.

Return Valuesn/a

Example

Set:str,"key1='value1';key2='value2';"

Set:value,GetKeyPairStringValue("%str%", "key1")

- 305 -

Page 306: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,GetKeyPairStringValuesAsVariables()For each key/value pair in the string a Zim runtime variable is created (with optional prefix).

Syntax

Set:

[out] string name,

GetKeyPairStringValuesAsVariables(

[in] string str,

[in] string prefix)

Parameters

Parameter Description

name Name of a variable.

str Specifies a text string containing key/value pairs (see Remarks).

prefix (optional) Specifies a prefix used when creating variables.

RemarksSee Set:<var>,GetKeyPairStringValue for details on the key/value pair format.

Return ValuesReturns the str.

Example

Set:str,"key1='value1';key2='value2';"

; Creates Zim runtime variables (Key1=value1 and Key2=value2)

Set:str,GetKeyPairStringValuesAsVariables("%str%", "BUILD_")

- 306 -

Page 307: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Left()Return first 'x' characters from string.

Syntax

Set:

[out] string name,

Left(

[in] string str,

[in] integer count)

Parameters

Parameter Description

name Name of variable.

str Source string.

count Number of characters to return.

Remarksn/a

Return ValuesFirst 'count' characters from string.

Example

Set:str,"one two three four five"

; Return first 3 characters from string ("one")

Set:value,Left("%str%", 3)

- 307 -

Page 308: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Len()Return number of characters in string.

Syntax

Set:

[out] string name,

Len(

[in] string str)

Parameters

Parameter Description

name Name of variable.

str Source string.

Remarksn/a

Return ValuesNumber of characters in string.

Example

Set:str,"one two three four five"

; Return number of characters in string (23)

Set:value,Len("%str%")

- 308 -

Page 309: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,MakeLower()Return the string in lowercase.

Syntax

Set:

[out] string name,

MakeLower(

[in] string str)

Parameters

Parameter Description

name Name of variable.

str Source string.

Remarksn/a

Return ValuesLowercase string.

Example

Set:str,"ONE TWO THREE four five"

; Return lowercase string ("one two three four five")

Set:value,MakeLower("%str%")

- 309 -

Page 310: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,MakeUpper()Return the string in uppercase.

Syntax

Set:

[out] string name,

MakeUpper(

[in] string str)

Parameters

Parameter Description

name Name of variable.

str Source string.

Remarksn/a

Return ValuesUppercase string.

Example

Set:str,"ONE TWO THREE four five"

; Return uppercase string ("ONE TWO THREE FOUR FIVE")

Set:value,MakeUpper("%str%")

- 310 -

Page 311: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Math()Performs a mathematics operation.

Syntax

Set:

[in/out] string name,

Math(

[in] string operator,

[in] integer value)

Parameters

Parameter Description

name Name of variable.

operator Operator: '+' (plus), '-' (minus), '/' (divide), '*' (multiply).

value Number used to perform operation.

RemarksThe value specified must be a real integer, i.e. a whole number without decimal places.

Return ValuesResult from operation.

Example

Set:value,4

; Perform operation on the value and return the result (5)

Set:value,Math("+", 1)

- 311 -

Page 312: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Mid()Return 'x' characters from string starting at position 'p'.

Syntax

Set:

[out] string name,

Mid(

[in] string str,

[in] integer start,

[in] integer count)

Parameters

Parameter Description

name Name of variable.

str Source string.

start Start position to begin returning characters.

count Number of characters to return.

Remarksn/a

Return ValuesFirst 'count' characters in the string from the specified starting point.

Example

Set:str,"one two three four five"

; Return the second word ("two")

Set:value,Mid("%str%", 5, 3)

- 312 -

Page 313: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,PutKeyPairStringValue()Adds or replaces an existing key/value pair to a string.

Syntax

Set:

[out] string name,

PutKeyPairStringValue(

[in] string str,

[in] string key,

[in] string value)

Parameters

Parameter Description

name Name of variable.

str Specifies a text string containing key/value pairs (see Remarks).

key Specifies a key in str.

value Specifies a value for the key.

RemarksBoth PutKeyPairStringValue and GetKeyPairStringValue will only read and write to a key/value pair string formatted as follows;

<key1>='<value1>';<key2='<value2>';

For example:

BUILD_WS_TYPE='laptop';BUILD_WS_OWNER_DN='cn=Homer,ou=London,dc=engl,dc=local';BUILD_WS_DEPT_

DN='cn=Powerplant,ou=Workstations,dc=engl,dc=local';

Note: The string must not contain double-quotes. Single-quotes must be used to surround all values. Each key/value pair must be separated with a semi-colon ';'. Use PutKeyPairStringValue with an empty string to create a correctly formatted key/pair string. If a key is written with an empty value, the key will not be added to the string, but if the key already exists in the string, the key/value pair will be removed from the string.

Return ValuesUpdated copy of the string after key/value pair changes.

Example

Set:str,"key1='value1';key2='value2';"

Set:str,PutKeyPairStringValue("%str%", "key3", "value3")

- 313 -

Page 314: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Right()Return the last 'x' characters from string.

Syntax

Set:

[out] string name,

Right(

[in] string str,

[in] integer count)

Parameters

Parameter Description

name Name of variable.

str Source string.

count Number of characters to return.

Remarksn/a

Return ValuesLast count characters from string.

Example

Set:str,"one two three four five"

; Return last 5 characters from string ("five")

Set:value,Right("%str%", 5)

- 314 -

Page 315: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Token()Return a token from the string.

Syntax

Set:

[out] string name,

Token(

[in] string str,

[in] integer separator,

[in] integer index)

Parameters

Parameter Description

name Name of variable.

str Source string.

separator Specifies the separator between tokens.

index Token number to return (lowest index is 1).

RemarksIf a str does not include a separator the entire str will be returned.

Return ValuesToken from the string.

Example

Set:str,"one two three four five"

; Return the second token ("two")

Set:value,Token("%str%", " ", 2)

- 315 -

Page 316: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,TokenCount()Return the number of tokens in the string.

Syntax

Set:

[out] string name,

TokenCount(

[in] string str,

[in] integer separator)

Parameters

Parameter Description

name Name of variable.

str Source string.

separator Specifies the separator between tokens.

RemarksIf a str does not include a separator the value '1' will be returned.

Return ValuesNumber of tokens in the string.

Example

Set:str,"one two three four five"

; Return the number of tokens in the string (5)

Set:value,TokenCount("%str%", " ")

- 316 -

Page 317: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,Trim()Trim character from string.

Syntax

Set:

[out] string name,

Trim(

[in] string str,

[in] string char)

Parameters

Parameter Description

name Name of variable.

str Source string.

char (optional) Character to trim.

RemarksUsing Trim is equivalent to using both TrimLeft and TrimRight on the same string.

Return ValuesTrimmed string.

Example

Set:str,"**one two three four five**"

; Return trimmed string ("one two three four five")

Set:value,Trim("%str%", "*")

- 317 -

Page 318: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,TrimLeft()Trim characters from beginning of string.

Syntax

Set:

[out] string name,

TrimLeft(

[in] string str,

[in] string char)

Parameters

Parameter Description

name Name of variable.

str Source string.

char Character to trim.

Remarksn/a

Return ValuesTrimmed string.

Example

Set:str,"**one two three four five**"

; Return trimmed string ("one two three four five**")

Set:value,TrimLeft("%str%", "*")

- 318 -

Page 319: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set:<var>,TrimRight()Trim characters from end of string.

Syntax

Set:

[out] string name,

TrimRight(

[in] string str,

[in] string char)

Parameters

Parameter Description

name Name of variable.

str Source string.

char Character to trim.

Remarksn/a

Return ValuesTrimmed string.

Example

Set:str,"**one two three four five**"

; Return trimmed string ("**one two three four five")

Set:value,TrimRight("%str%", "*")

- 319 -

Page 320: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SysInfo:GetRetrieve system information and store in a variable.

Syntax

SysInfo:Get,

[in] string attribute,

[out] string result

Parameters

Parameter Description

attribute Specifies the System Information attribute to retrieve information (see 'Attributes' below).

result Returns the attribute value.

Attributes

Attribute Description

FixedDiskDriveLetters Fixed disk drive letters (comma separated list).

RemarksZim for Windows only.

Return Valuesn/a

Example

; Get drive letters (C:, D:, etc)

SysInfo:Get,FixedDiskDriveLetters,DriveLetters

; Display form with checkboxes for drive letters

Form:Start,"DiskSelection","Disk Selection","_OkCancel^_Ok",Blue

Form:Item,"Item1",Label,"Partitions:"

Form:Item,"Item2",CheckBoxes,"","%DriveLetters%"

Form:Display,"DiskSelection"

- 320 -

Page 321: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SysInfo:MoveDriveLettersRe-assigns WinPE drive letters.

Syntax

SysInfo:MoveDriveLetters

Parametersn/a

Attributesn/a

RemarksZim for Windows only.

WinPE automatically assigns drive letters to storage devices, which may cause WIM:Apply to fail during partitioning and base image restoration.The SysInfo:MoveDriveLetters command should be run before the first Wim:Apply to ensure existing drive letters are re-assigned (from high to low) before partitioning and image restore.

Warning: Care should be taken to ensure Zim Scripts use the _ImageVolume variable when restoring local WIM images as drive letters may change during partitioning. The _ImageVolume variable will be refreshed when SysInfo:MoveDriveLetters is used.

Return Valuesn/a

Example

; Re-assign WinPE drive letters

SysInfo:MoveDriveLetters

- 321 -

Page 322: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Timer:CountdownSet the internal timer to countdown from a specified number of seconds. The number of seconds remaining is stored in the _TIMER variable.

Syntax

Timer:Countdown,

[in] numeric seconds,

Parameters

Parameter Description

seconds Baseline to begin countdown from.

Remarks_TIMER will never decrement below zero.

Return Values

Variable Description

_TIMER Returns the internal timer in seconds.

Example

Label:reboot

Timer:Countdown,60

While:Var,_TIMER,gt,0

Dialog:Banner,"Machine will reboot in %_TIMER% seconds, please wait...",1,RED

Wend:

- 322 -

Page 323: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Timer:ResetReset the internal timer that counts the number of seconds that have elapsed since Zim started, the value of which is stored in the _timer variable.

Syntax

Timer:Reset

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

Label:mountcdrom

File:Run,"cdrom.s",silent

Timer:Reset

Dialog:Popup,"Waiting for CDROM to mount, please wait...",BLUE

While:Var,_TIMER,lt,30

Pause:1

If:File,EXIST,"/mnt/cdrom"

Goto:mounted

End:

Wend:

Dialog:Ask,"Unable to mount CDROM","Try again (y/n) ?",_YESNO,RED

If:Var,_ask,eq,_YES

Goto:mountcdrom

End:

Menu:Return

- 323 -

Page 324: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WhileLoop whilst condition is true. Requires a terminating Wend: statement.

Note: Embedding an IF..END within a WHILE..WEND loop is not supported and will generate an error.

Methods

File Checks for file existence.

Var Compares the value of a variable.

- 324 -

Page 325: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

While:FileChecks for file existence.

Note: Embedding an IF..END within a WHILE..WEND loop is not supported and will generate an error.

Syntax

While:File,

[in] string condition,

[in] string file

Parameters

Parameter Description

condition EXIST (does exist)NOTEXIST (does not exist)

file File path to perform the test on.

RemarksScript is processed between WHILE: and WEND: statements whilst expression is true.

Return Valuesn/a

Example

Set:source,/mnt/cdrom/myimage.zmg

While:File,NOTEXIST,"%myimage%"

Dialog:Banner,"Waiting for CDROM to mount, please wait...",1,BLUE

Wend:

- 325 -

Page 326: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

While:VarCompare the value of a variable.

Note: Embedding an IF..END within a WHILE..WEND loop is not supported and will generate an error.

Syntax

While:Var,

[in] string variable,

[in] string operator,

[in] string compare

Parameters

Parameter Description

variable Name of variable.

operator CONTAINS (Contains sub-string)EQ (Equals)GE (Greater than or Equal to)GT (Greater than)LE (Less than or Equal to)LT (Less than)NE (Not Equal)

compare Name of variable or value.

RemarksScript is processed between WHILE and WEND statements whilst expression is true.

Return Valuesn/a

Example

Timer:Reset

While:Var,_TIMER,LT,10

Dialog:Banner,"Mounting CDROM, please wait...",1,BLUE

Wend:

- 326 -

Page 327: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Wend:All scripts between WHILE and WEND will be executed until WHILE expression become false.

Note: Embedding an IF..END within a WHILE..WEND loop is not supported and will generate an error.

Syntax

Wend:

Parametersnone

Remarksnone

Return Valuesnone

Example

While:File,exist,%path%

Pause:2

...

Wend:

- 327 -

Page 328: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WIM:AppendAppends the specified source path to an existing Windows Image Format (WIM) disk image.

Note: Zim for Windows only.

Syntax

WIM:Append,

[in] string source_path

[in] string wim_path,

[in] string image_name

Parameters

Parameter Description

source_path Source path that will be added to the image.

wim_path Path to an existing WIM file.

image_name Unique name of the image being captured.

RemarksThe target WIM file will be appended. Use WIM:Capture to capture an image to a new WIM file.

Set the _Wim_Verify variable to TRUE to enable verification and _Wim_Compress to set the compression type.

Return Values

Variable Description

_ERROR 0 = Success

1 = Failed

Example

; Capture C: drive to a WIM file

WIM:Capture,"C:\","T:\Images\MyBase.wim","Drive C"

If:var,_error,eq,"1"

Dialog:Ask,"Error!","An error occurred applying the image to the disk!","_Ok",red

End:

; Capture D: drive to the existing WIM file (append)

WIM:Append,"D:\","T:\Images\MyBase.wim","Drive D"

If:var,_error,eq,"1"

Dialog:Ask,"Error!","An error occurred applying the image to the disk!","_Ok",red

End:

- 328 -

Page 329: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WIM:ApplyApplies a Windows Image Format (WIM) disk image to a specified target path.

Note: Zim for Windows only.

Syntax

WIM:Apply,

[in] string wim_path,

[in] string image_index,

[in] string target_path

Parameters

Parameter Description

wim_path Path to the WIM file containing images.

image_index Number that identifies the image within the WIM file.

target_path Target path where the image will be applied.

Remarks

Warning: If the source WIM file was created using the ZENworks 3rd Party Imaging 'ZENworkToDo' utility, all disk partitions will be automatically deleted, recreated and formatted, then all images will be applied. For example, image number 1 will be applied to C:, image number 2 will be applied to D:, etc.

Set the _Wim_Verify variable to TRUE to enable verification.

Return Values

Variable Description

_ERROR 0 = Success

1 = Failed

Example

; Apply WIM file containing a base image (all existing disk contents will be deleted)

WIM:Apply,"T:\Images\MyBase.wim"

If:Var,_error,eq,"1"

Dialog:Ask,"Error!","An error occurred applying the image to the disk!","_Ok",red

End:

; Apply WIM file image (existing disk contents will NOT be deleted)

WIM:Apply,"T:\Images\MyBase.wim",1,"D:\"

If:Var,_error,eq,"1"

Dialog:Ask,"Error!","An error occurred applying the image to the disk!","_Ok",red

End:

- 329 -

Page 330: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WIM:CaptureCaptures the specified source path to a Windows Image Format (WIM) disk image.

Note: Zim for Windows only.

Syntax

WIM:Capture,

[in] string source_path

[in] string wim_path,

[in] string image_name

Parameters

Parameter Description

source_path Source path that will be added to the image.

wim_path Path to the target WIM file.

image_name Unique name of the image being captured.

RemarksThe target WIM file will be overwritten. Use WIM:Append to capture an image to an existing WIM file.

Set the _Wim_Verify variable to TRUE to enable verification and _Wim_Compress to set the compression type.

Return Values

Variable Description

_ERROR 0 = Success

1 = Failed

Example

; Capture C: drive to a WIM file

WIM:Capture,"C:\","T:\Images\MyBase.wim","Drive C"

If:var,_error,eq,"1"

Dialog:Ask,"Error!","An error occurred capturing an image of the disk!","_Ok",red

End:

- 330 -

Page 331: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WIM:InjectDriversSearches for critical drivers in drivers directory and injects into image on disk.

Note: Zim for Windows only.

Syntax

WIM:InjectDrivers

ParametersN/A

RemarksN/A

Return Values

Variable Description

_ERROR 0 = Success

1 = Failed

Example

; Inject critical drivers

WIM:InjectDrivers

- 331 -

Page 332: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:DumpDump the contents of ZISD to the log file (default is zim.log).

Syntax

ZISD:Dump

Parametersn/a

RemarksZim must be loaded with the command line parameter '-log' to enable this feature.

Return Valuesn/a

Example

ZISD:Dump

- 332 -

Page 333: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:GetRetrieve an attribute from ZISD and pass the value to the specified variable.

Syntax

ZISD:Get,

[in] string attribute,

[out] string result

Parameters

Parameter Description

attribute Specifies the ZENworks Image-safe Data attribute.

result Variable name that will receive the value.

- 333 -

Page 334: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Attributes

Attribute Type Minimum ZISD Version Required

ComputerName String 3

DeviceGuid String 10

DeviceID String 10

DHCP Boolean 3

DHCPFlag Boolean 3

DN String 3

DNSHostname String 4

DNSServerCount Integer 4

DNSServer[1..32] String 4

DNSSuffix String 4

EnterpriseName String 8

Gateway IPAddress 3

IP IPAddress 3

JustImaged Boolean 3

LastBaseImage String 3

LastBaseImageAddr IPAddress 7

LastBaseImageSize Integer 3

LastBaseImageTime Integer 3

Mask IPAddress 3

NetBiosName String 3

ObjectDN String 3

ScriptedImage Boolean 3

SID String 3

Subnet IPAddress 3

Tree String 3

VendorDataENGL String 9

WindowsWorkgroup String 3

Workgroup String 3

WorkstationID String 5

ZoneGuid String 10

RemarksIf the attribute is invalid or the attribute value is empty the receiving variable will be set to "".

- 334 -

Page 335: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Return Valuesn/a

Example

ZISD:Get,"NetBiosName",NetbiosName

ZISD:Get,"Workgroup",Workgroup

Dialog:Ask,"ZISD:Get Information","NetBIOS [%NetbiosName%]\nWorkgroup [%Workgroup%]",_Ok,BLUE

- 335 -

Page 336: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:LoadRestore ZISD from the specified file that was previously created with the ZISD:Save method.

Syntax

ZISD:Load,

[in] string file

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

ZISD:Load,"backup.zisd"

- 336 -

Page 337: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:PutAdds a ZISD attribute value change to the queue.

Syntax

ZISD:Put,

[in] string attribute,

[in] string value

Parameters

Parameter Description

attribute Specifies the ZENworks Image-safe Data attribtue.

value Value to write to the attribute.

- 337 -

Page 338: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Attributes

Attribute Type Minimum ZISD Version Required

ComputerName String 3

DeviceGuid String 10

DeviceID String 10

DHCP Boolean 3

DHCPFlag Boolean 3

DN String 3

DNSHostname String 4

DNSServerCount Integer 4

DNSServer[1..32] String 4

DNSSuffix String 4

EnterpriseName String 8

Gateway IPAddress 3

IP IPAddress 3

JustImaged Boolean 3

LastBaseImage String 3

LastBaseImageAddr IPAddress 7

LastBaseImageSize Integer 3

LastBaseImageTime Integer 3

Mask IPAddress 3

NetBiosName String 3

ObjectDN String 3

ScriptedImage Boolean 3

SID String 3

Subnet IPAddress 3

Tree String 3

VendorDataENGL String 9

WindowsWorkgroup String 3

Workgroup String 3

WorkstationID String 5

ZoneGuid String 10

RemarksIf ZENworks Image-safe Data (ZISD) does not exist on the machine the _ZISDVERSION variable must be set before calling this function.

- 338 -

Page 339: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Note: One or more ZISD:Put commands must be followed by ZISD:Write to commit the changes to the hard disk.

Return Valuesn/a

Example

Set:_ZISDVERSION,11

; Add attributes to the queue

ZISD:Put,NetBiosName,"UK-20110"

ZISD:Put,Workgroup,"WORKGROUP"

; Write attribute changes from the queue

ZISD:Write

- 339 -

Page 340: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:RefreshForce ZISD to be read from the local disk into memory. Zim will automatically perform this action when the first ZISD:Get occurs.

Syntax

ZISD:Refresh

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

ZISD:Refresh

- 340 -

Page 341: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:RemoveRemove the entire ZISD area from the local hard disk.

Syntax

ZISD:Remove

Parametersn/a

RemarksCall ZISD:Refresh if it is intended that ZISD values should be reset to defaults.

Return Valuesn/a

Example

ZISD:Remove

- 341 -

Page 342: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:SaveSave ZISD to the specified file. This file can then be restored with the ZISD:Load method.

Syntax

ZISD:Save,

[in] string file

Parametersn/a

Remarksn/a

Return Valuesn/a

Example

ZISD:Save,"backup.zisd"

- 342 -

Page 343: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISD:WriteCommits all queued changes made by ZISD:Put to the hard disk.

Syntax

ZISD:Write

Parametersn/a

RemarksIf ZISD does not exist on the machine, the _ZISDVERSION variable must be set before calling this function.

Return ValuesSuccess returns "0" otherwise "1" will be returned.

Example

; Specify ZENworks Image-safe Data version

Set:_ZISDVERSION,11

; Add ZISD attribute changes to the queue

ZISD:Put,"NetBiosName","UK-12345"

ZISD:Put,"Workgroup","WORKGROUP"

; Write ZISD attribute changes from the queue

ZISD:Write

7.5.4 Button macrosButton macros can be used to define which buttons are displayed on Dialogs and Forms and which button is automatically configured to be the default (see Default Button).

Displaying Buttons

Button Macro Button#1 Button#2 Button#3 Default

_BackNextCancel Back Next Cancel Cancel

_BackFinishCancel Back Finish Cancel Cancel

_FinishCancel Finish Cancel Cancel

_NextCancel Next Cancel Cancel

_Ok OK Ok

_OkCancel OK Cancel Cancel

_YesNo Yes No No

_YesNoCancel Yes No Cancel Cancel

- 343 -

Page 344: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Returning Buttons

Note: A button will be returned as a string (i.e. '_Cancel') and stored in a Zim runtime variable, which may be different depending on what has been displayed (see Dialogs, Forms and LoginBox).

Default Returned

Back _Back

Cancel _Cancel

Finish _Finish

Next _Next

No _No

OK _Ok

Yes _Yes

Default ButtonThe default button will be returned if the ENTER key pressed when a button is not selected. The default button can be defined by using the ^ sign and a single button macro, e.g. '_BackFinishCancel^_Cancel'. If a default button is not defined it will be automatically configured.

NavigationButtons can be navigated using the mouse by clicking the button, or by using the keyboard TAB key and pressing ENTER. With a Dialog, the keyboard Left-Arrow and Right-Arrow keys can be used to jump between buttons.

Note: If a button is not selected when the ENTER key is pressed, the Default Button will be accepted.

7.5.5 Colour usage

Screen coloursThe foreground and background colours for the main screen, header and footer can be modified by using the _BGColor and _HdrColor system variables.

Colour Code Example

RED

GREEN

YELLOW

BLUE

MAGENTA

CYAN

WHITE

BLACK

Note: Zim for Windows also accepts RGB codes in hexadecimal format. For example to set the background to Powder Blue use the following command: Set:_BGColor,"0xB0E0E6".

- 344 -

Page 345: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DialogsProviding a script command supports the colour parameter, the background colour of the window can be changed but the foreground colour is automatically set to either black or white ensuring that text is readable.

Note: Zim for Windows does not currently support changing dialog colours. If colours are specified they will be ignored.

Colour Code Foreground Background Example

RED White Red example text

GREEN White Green example text

YELLOW Black yellow example text

BLUE White Blue example text

Magenta Black Magenta example text

CYAN Black Cyan example text

WHITE Black White example text

BLACK White Black example text

7.5.6 Reserved VariablesThe following runtime variables are used to customise Zim and return input and output error status.

Note: Default values are marked with an asterisk *.

- 345 -

Page 346: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Variable Type Description Values

_Ask Read Only Returns the last key (or button) pressed on a Dia-log, (case sensitive character).

_BgColor Read Write Specifies the screen foreground and background colour.

fgcolor [,bgcolor]

_Error Read Only Returns the last error level. 0 = Success 1 = Failure

_Footer Read Write Specifies whether the footer row is displayed. *ON | OFF

_FooterText Read Write Specifies the footer text.

_HdrColor Read Write Specifies the foreground/background colours used to display the header and footer.

fgcolor,bgcolor

_Header Read Write Specifies whether the header row is displayed. *ON | OFF

_HeaderText Read Write Specifies the header text.

_Help Read Write Specifies the message displayed when the 'F1' key is pressed (available when a menu is displayed).

_HelpTitle Read Write Specifies the title for the message displayed when the 'F1' key is pressed (available when a menu is displayed).

_ImageVolume Read Only Set to the drive letter where "images" folder is found in the root, for example "G:".

Note: This variable is set only when Zim is run from WinPE USB media (see Create WinPE Boot Media Wizard). If the "images" folder is not found, the _ImageVolume variable will be empty.

_ItemId Read Only Returns the Menu:Item ID.

_ItemParams Read Only Returns the Menu:Item parameters.See _Param.

_ItemPassword Read Only Returns the Menu:Item password.

_ItemTitle Read Only Returns the Menu:Item title.

_LDAPCN Read Only Returns the LDAP:LoginBox username CN.For example, "Homer".

_LDAPCX Read Only Returns the LDAP:LoginBox context DN.For example, "ou=London,dc=engl,dc=local".

_LDAPDN Read Only Returns the LDAP:LoginBox username DN.For example, "cn=Home-er,ou=London,dc=engl,dc=local".

_LDAPErrorStr Read Only Returns the last LDAP error.For example, "Unable to open SSL certificate, check path".

_LDAPHost Read Only Returns the LDAP:LoginBox server hostname.For example, "10.6.0.200".

_LDAPLogin_AllowWildcards Read Write Specifies whether username wildcards can be used in the LDAP:LoginBox.

TRUE | *FALSE

- 346 -

Page 347: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

_LDAPLogin_BindPassword Read Write Specifies the password of the account used to per-form LDAP searches in the LDAP:LoginBox.

_LDAPLogin_BindUsername Read Write Specifies the full DN of the account used to perform LDAP searches in the LDAP:LoginBox.

_LDAPLogin_SearchAttribute Read Write Specifies the attribute to use when performing LDAP searches in the LDAP:LoginBox. For example, "SAMAccountName" or "CN".

*CN

_LDAPLogin_ShowCancel Read Write Specifies whether the LDAP:LoginBox contextless login dialog includes a Cancel button.

*TRUE | FALSE

_LDAPLogin_ShowCX Read Write Specifies whether the LDAP:LoginBox context edit box is displayed.

*TRUE | FALSE

_LDAPLogin_StopFirstMatch Read Write Specifies whether the LDAP:LoginBox contextless login search is terminated when the first matching _LDAPLogin_SearchAttribute is found.

TRUE | *FALSE

_LDAPPort Read Only Returns the LDAP:LoginBox server port number. 389

_LoginBox_Button Read Only Returns the LDAP:LoginBox last LoginBox button ('_OK' or '_Cancel').

_MenuCenter Read Write Specifies whether the menu will be horizontally and vertically centred on the screen.

*ON | OFF

_MenuEx-pandItemParamsVariables

Read Write Specifies whether menu item parameters con-taining variables are expanded when creating the menu.If set to FALSE, variables will be expanded each time the menu is displayed.

*FALSE | TRUE

_MenuEx-pandLDAPFilterVariables

Read Write Specifies whether menu item and submenu LDAP filters containing variables are expanded when cre-ating the menu.

*FALSE | TRUE

_MenuExpandTitleVariables Read Write Specifies whether menu title variables are expan-ded when creating the menu. If set to FALSE, vari-ables will be expanded each time the menu is displayed.

*FALSE | TRUE

_MenuExitMsg Read Write Specifies the message displayed when the 'F3' key is pressed whilst a menu is displayed.

*Exit Zim ?

_MenuNumbers Read Write Specifies whether numbers are displayed next to menu item descriptions.

*ON | OFF

_MenuRows Read Write Specifies the maximum number of menu items that can be displayed in a menu.

*AUTO | 1 - 16

_MonitorServer Read Write Specifies the Deployment Monitor server address.

Note: If the Deployment Monitor server is hosted using SSL/TLS specify the host as https://<server>

_MonitorPort Read Write Specifies the Deployment Monitor server port. *80

_MonitorData_BuildData Read Write Specifies the BuildData to be sent with a Deploy-ment Monitor status update.

_MonitorData_ComputerName Read Write Specifies the computer name to be sent with a Deployment Monitor status update.

- 347 -

Page 348: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

_MonitorData_LastError Read Write Specifies the Last Error information to be sent with a Deployment Monitor status update.

_MonitorData_Task Read Write Specifies the task description to be sent with a Deployment Monitor status update.

_Param Read Only Returns the params string associated to the last Menu:Item.

_Timer Read Only Returns the number of seconds elapsed since Zim started or since Timer:Reset was called.

_Wim_Compress Read Write Specifies the compression type used for WIM:Cap-ture and WIM:Append,

*Fast|Maximum|None

_Wim_LogPaths Read Write Specifies whether Capture, Apply and Append write the filename being processed to the log file.

TRUE | *FALSE

_Wim_RestoreACLs Read Write Specifies whether filesystem Access Control Lists are applied with WIM:Apply,

Note: Since Imaging Toolkit 10.0.3, Build Console no longer captures ACLs when creating add-on WIM images.

*TRUE | FALSE

_Wim_ShowCancel Read Write Specifies whether the Cancel button is shown when applying WIM images using the Windows edi-tion.

*TRUE | FALSE

_Wim_Verify Read Write Specifies whether verification is enabled for WIM:Capture, WIM:Append, and WIM:Apply.

TRUE | *FALSE

_ZimVersion Read Only Returns the Zim build version, e.g. "10.0.0".

_ZISDVersion Read Write Specifies the ZENworks Image-safe Data version used by ZISD: methods.

_ZISDVERSION (Variable)ZENworks Image-safe Data version.

Syntax

Set:_ZISDVERSION,

[in] numeric version

Valuesversion 11 = ZENworks 11 Configuration Management / ZENworks 2017 Configuration Management 12 = ZENworks 2017 Configuration Management Update 1 and later

Remarksn/a

Example

Set:_ZISDVERSION,11

; Add ZISD attribute changes to the queue

ZISD:Put,NetBiosName,"UK-20110"

ZISD:Put,Workgroup,"WORKGROUP"

- 348 -

Page 349: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

; Write ZISD attribute changes from the queue

ZISD:Write

7.5.7 Text editor language syntax filesLanguage syntax files are provided for the following text editors.

n Notepad++

n TextPad

Notepad++A Notepad++ language file has been provided with Imaging Toolkit.

To install the Zim Script language file for Notepad++, follow the steps below:

1. Download and install Notepad++ from www.notepad-plus-plus.org.

Note: Notepad++ is a free source code editor running on Windows.

2. Copy the <ImagingToolkit_InstallationPath>\Zim\Extras\Notepad++\zim.xml file to the <Notepad++_InstallationPath>\ folder.

3. Select Language > Define your language.

4. Select Import then browse and select the zim.xml file.

5. For User language, select Zim.

6. For Ext, enter cfg.

7. Click Save As, don't enter a new name, just click OK.

8. Restart Notepad++.

9. Open a zim.cfg file to see the Zim Script syntax in colour.

TextPadA TextPad colour syntax file has been provided with Imaging Toolkit.

To install the Zim Script syntax file for TextPad, follow the steps below:

1. Download and install TextPad from www.textpad.com.

Note: TextPad is a commerical product that requires a paid for license.

2. Copy the <ImagingToolkit_InstallationPath>\Zim\Extras\TextPad\zim.syn file to the <TextPad_InstallationPath>\system folder.

3. Select Configure > New Document Class.

4. In the class wizard, enter Zim for the Document class name.

5. For Class members enter zim.cfg.

6. Enable Enable syntax highlighting.

7. Select zim.syn in Syntax definition file.

8. Click Finish.

9. Restart TextPad.

10. Open a zim.cfg file to see the Zim Script syntax in colour.

- 349 -

Page 350: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

- 350 -

Page 351: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.6 ZimageprepThe Image Preparation Tool (Zimageprep) is the component of Imaging Toolkit used to "seal" a universal base image once the Windows unattended installation process has completed. Zimageprep is typically executed automatically as part of the base image creation process but can also be executed manually. Optionally, Windows updates can be downloaded and installed. Zimageprep installs a hook that causes the ENGL Build Engine to run on restart.

Path

<InstallationPath>\Ztoolkit\<Platform>\zimageprep.exe

UsageThe following steps detail how to prepare a Windows universal base image.

1. Create a new deployment project using Build Console

2. Run the Deployment Wizard

3. Create the Windows build process

Zimageprep will install the .NET Framework, install Windows updates (optional), run Sysprep, and install a hook to ensure the Imaging Toolkit deployment process runs automatically on reboot after the base image has been restored.

Note: When run manually, Zimageprep must be executed from %systemdrive%\Ztoolkit\zimageprep.exe on the device. Zimageprep may not function correctly if launched from another location, such as a USB memory stick.

- 351 -

Page 352: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.7 ZisdwizZisdwiz can read and modify a machines ZENworks Image-safe Data (ZISD). Additionally, Zisdwiz can read and modify ENGL extended attribute date which can be used to store automation settings as part of your automated Windows deployment.

To manipulate Image-safe Data during the build process we recommend using Zim during imaging and ZtookitCtrl in custom scripts to control the actual deployment.

Path

<InstallationPath>\Ztoolkit\<Platform>\zisdwiz.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/get:<attribute>,<variable> [/hklm] Read one or more attributes from ZISD and write to user environment variable. See '/hklm'.

/hklm Specifies that attribute values will be written to a system environment variable.

/load:<path> Load ZISD from a file.

/put:<attribute>,<value> Write one or more attributes to ZISD (/version must be specified).

/remove [/y] Remove ZISD (/y disables warning prompts).

/restore Restores computer details from ZISD to Windows.

/save:<path> Save ZISD to a file.

/show Displays ZISD.

/store Stores computer details to ZISD from Windows.

/version:<zisd_version> Specifies the ZENworks Image-safe Data version:

11 = ZENworks 11 Configuration Management and ZENworks 2017

12 = ZENworks 2017 Update 1 and later

/z Enables debug log file (requires /log).

- 352 -

Page 353: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Attributes

Attribute Type Minimum ZISD Version Required

ComputerName String 3

DeviceGuid String 10

DeviceID String 10

DHCP Boolean 3

DHCPFlag Boolean 3

DN String 3

DNSHostname String 4

DNSServerCount Integer 4

DNSServer[1..32] String 4

DNSSuffix String 4

EnterpriseName String 8

Gateway IPAddress 3

IP IPAddress 3

JustImaged Boolean 3

LastBaseImage String 3

LastBaseImageAddr IPAddress 7

LastBaseImageSize Integer 3

LastBaseImageTime Integer 3

Mask IPAddress 3

NetBiosName String 3

ObjectDN String 3

ScriptedImage Boolean 3

SID String 3

Subnet IPAddress 3

Tree String 3

VendorDataENGL String 9

WindowsWorkgroup String 3

Workgroup String 3

WorkstationID String 5

ZoneGuid String 10

- 353 -

Page 354: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RemarksIf ZISD does not exist on the machine, the /version parameter must be used.

Administrator privileges are required to run Zisdwiz on the local machine.

Examples

REM Remove ZISD (/y warning prompts)

zisdwiz /remove

REM Displays ZISD

zisdwiz /show

REM Save ZISD to a file

zisdwiz /save:"backup.zisd"

REM Load ZISD from a file

zisdwiz /load:"backup.zisd"

REM Get attributes and export to user environment variables (/hklm writes to system environment)

zisdwiz /get:"NetBiosName","BUILD_NETBIOSNAME" /get:"Workgroup","BUILD_WORKGROUP"

REM Write attributes to ZISD

zisdwiz /version:11 /put:"NetBiosName","UK-12345" /put:"Workgroup","WORKGROUP"

- 354 -

Page 355: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.8 ZmainrunThe Zmainrun executable performs the build process using information in the zmainrun.xml, which is normally generated and updated by using the Build Console.

Warning: Do NOT run zmainrun.exe from the command line. It should only be run as part of the automated build process created by the Build Console.

Path

<InstallationPath>\Ztoolkit\<Platform>\zmainrun.exe

Usage

Parameter Description

/Build Begins automated build process on the workstation (The Image Preparation Tool configures Windows to run Zmainrun after hardware discovery).

/LastAppInstalled Should be run as the last ZENworks Application / Bundle. Causes Zmainrun to finalise build phase 3 and reboot the workstation (requires /Build).

Configuration FileThe zmainrun.xml file customises the automated Windows build process and should be created and updated using the Build Console. All settings are now exposed through the Build Console Expert view.

Examples

REM Last NAL application object installed - finalise Phase 3 / Reboot

c:\ztoolkit\zmainrun.exe /Build /LastAppInstalled

- 355 -

Page 356: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.9 ZrunWindows can associate any application with a file extension, i.e. Microsoft Word is associated with .docx files. With Zrun any filename can be executed and as long as Windows recognises the file's extension, the associated application will be launched.

With Zrun you can create an application object and launch Zrun with parameters that specify the working directory, the filename and whether the application should be minimised or maximised without having to specify a path to the application.

Path

<InstallationPath>\Ztoolkit\<Platform>\zrun.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/file:<path> Specifies the path to the application or .extension to launch.

/param:<params> Specifies the command line parameters.

/dir:<directory> Specifies the startup directory.

/show:<HIDE | MIN | MAX> Specifies the Window style used to start the file:HIDE - Window will start hiddenMIN - Window be start minimisedMAX - Window be start maximised

/z Enables debug log file (requires /log).

Remarksn/a

Examples

REM Launch the Office smart installer link

zrun /file:"C:\Documents and Settings\All Users\Menu\Programs\Microsoft Word.lnk"

REM Launch the Excel document (will launch Excel)

zrun /file:"s:\shared\account.xlsx" /dir:"s:\shared" /show:max

REM Map a drive using NET USE but hide the DOS box

zrun /file:"net" /param:"use p: \server\apps" /show:hide

- 356 -

Page 357: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.10 ZshutdwnZshutdwn is used during the build process to reboot/shutdown the machine between build phases.

Zshutdwn can be used to force a machine to log off, reboot or shutdown, and if the machine supports power management hibernate or suspend. Zshutdwn can be configured to display an informative message and a countdown timer using command line switches.

Path

<InstallationPath>\Ztoolkit\<Platform>\zshutdwn.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/title:<title> Specifies the window title.

/caption:<caption> Specifies the window caption.

/remote:<remote_machine> Specifies the action will be performed on the remote_machine.

/action:<action> Specifies the action that will be performed on the machine (see Actions).

n Hibernate Hibernates the machine.

n Logoff Logs off the current user.

n Poweroff Powers off the machine.

n Reboot Reboots the machine.

n Shutdown Shuts down the machine.

n Suspend Suspends the machine.

/delay:<seconds> Specifies delay in seconds before the action is performed (countdown will be displayed).

/force Specifies that all applications will be forced closed before per-forming the action.

/nocancel Specifies that the Cancel button will be hidden and the count-down cannot be aborted.

/z Enables debug log file (requires /log).

Remarksn/a

Examples

REM Reboot immediately (countdown will not be displayed)

zshutdwn /action:reboot /delay:0

REM Reboot after 10 second delay

zshutdwn /action:reboot /delay:10

- 357 -

Page 358: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

REM Reboot after 10 second delay (Cancel button will be disabled)

zshutdwn /action:reboot /delay:10 /nocancel

- 358 -

Page 359: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.11 ZtftpclientZtftpclient is a TFTP client utility used to transfer files to/from the WinPE imaging environment.

Path

<InstallationPath>\Zim\Windows\<Platform>\ztftpclient.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default ztftpclient.log).

/get Retrieve files from the TFTP server.

/put Send files to the TFTP server.

/host:<server> IP or DNS address of the TFTP server.

/local:<path> Path on the local machine.

/remote:<path> Path on the TFTP server.

/blksize:<size> TFTP transfer block size between 512 and 8192. Default is 512.

/z Enables debug log file (requires /log).

Remarksn/a

Examples

REM Retrieve images.ini

ztftpclient.exe /get /host:192.168.1.100 /remote:zimfiles/images.ini /local:x:\zimbin\images.ini /log

- 359 -

Page 360: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.12 Ztoolkit ControlThe Ztoolkit Control is an ActiveX scripting extension named ZtoolkitCtrl.dll that can be used in custom scripts during the Ztoolkit build process or standalone after the machine has been built.

Objects

LDAP Simplified LDAP accessibility functions.

Monitor Send status updates to an ENGL Deployment Monitor 2.x server.

Utils General utilities including functions for INI files, WMI and strings.

ZENworks ZENworks Configuration Management functions.

Path

<InstallationPath>\Ztoolkit\<Platform>\ztoolkitctrl.dll

Using the Ztoolkit ControlDuring the Ztoolkit build process, the Ztoolkit Control is automatically registered and unregistered after the build process has completed.

To use the Ztoolkit Control outside of the build process, the Ztoolkit Control must be registered before use and unregistered afterwards.

DependenciesZtoolkitCtrl.dll should be registered and run from the C:\Ztoolkit directory. The following files from the Imaging Toolkit installation must be placed in the C:\Ztoolkit directory to ensure ZtoolkitCtrl registers correctly:

C:\Ztoolkit

+ engl.lic

+ zdotnethelper.dll

+ ztoolkitctrl.dll

+ zsoaplibbridge.exe

+ zsoaplib.dll

Note: If ZENworks functions to modify ZCM groups/bundles are to be used the zmainrun.xml from an appropriate project must also be placed in the C:\Ztoolkit directory.

Registering Ztoolkit ActiveX ControlRegistering the control:

regsvr32.exe /s C:\Ztoolkit\ZtoolkitCtrl.dll

Unregistering Ztoolkit ActiveX ControlUn-registering the control:

regsvr32.exe /s /u C:\Ztoolkit\ZtoolkitCtrl.dll

Calling a Ztoolkit Control function[JScript]

// Create a reference to Ztoolkit Control

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

- 360 -

Page 361: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

// Create a new local user account

var Status = Utils.AddLocalUser("Homer", "secret", "This is Homer's account");

[PowerShell]

// Create a reference to Ztoolkit Control

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

// Create a new local user account

$Status = $Utils.AddLocalUser("Homer", "secret", "This is Homer's account")

[VBScript]

' Create a reference to Ztoolkit Control

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Create a new local user account

Dim Status

Status = Utils.AddLocalUser("Homer", "secret", "This is Homer's account")

Log FileThe default log file path is as follows;

%SystemDrive%\Ztoolkit\Ztoolkit.log

7.12.1 ENGL.Ztoolkit.LDAP

Properties

DebugLevel Sets the Ztoolkit log file debug level.

Hostname Sets the hostname of the server used to perform LDAP operations.

Port Sets the port to perform LDAP operations.

SSL Controls whether or not an SSL connection should be made to the LDAP server.

SSLCertPath Specifies the path to an SSL Certificate (.der) file to secure LDAP communications.

- 361 -

Page 362: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Methods

AddGroupMember Adds a member to a group.

Bind Bind a connection with a LDAP server.

ConvertNDSToLDAP Converts a NDS DN to a LDAP DN.

DeleteGroupMember Removes a group member.

GetAttributeValue Reads the value from an object attribute.

Init Initialises the LDAP connection with a server.

IsGroupMember Determines if an object is a member of a group.

MoveObject Move an object via LDAP.

PutAttributeValue Writes the value to an object attribute.

RenameObject Rename an object via LDAP.

UnBind Disconnects from the LDAP server.

- 362 -

Page 363: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddGroupMemberAdds a member to a group.

Syntax

AddGroupMember

[in] string group,

[in] string member

Parameters

Parameter Description

group Group DN.

member Member DN.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Add user "Homer" to group "grpSimpsons"

// eDirectory syntax

var Status = LDAP.AddGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL");

// Active Directory syntax

var Status = LDAP.AddGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Add user "Homer" to group "grpSimpsons"

# eDirectory syntax

$Status = $LDAP.AddGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

# Active Directory syntax

$Status = $LDAP.AddGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

[VBScript]

- 363 -

Page 364: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Add user "Homer" to group "grpSimpsons"

Dim Status

' eDirectory syntax

Status = LDAP.AddGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

' Active Directory syntax

Status = LDAP.AddGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

- 364 -

Page 365: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

BindPerform an LDAP bind (authentication).

Syntax

Bind

[in] string username,

[in] string password

Parameters

Parameter Description

username Username DN.

password (optional) Password.

RemarksA connection must have previously been initialised using Init before attempting to bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Connect to LDAP server

LDAP.Hostname = "10.10.10.1";

LDAP.Port = 636;

LDAP.SSL = True;

LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der";

LDAP.Init();

// eDirectory syntax

var Status = LDAP.Bind("cn=Fred,o=ENGL", "secret");

// Active Directory syntax

var Status = LDAP.Bind("cn=Fred,ou=London,dc=engl,dc=local", "secret");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Connect to LDAP server

$LDAP.Hostname = "10.10.10.1"

$LDAP.Port = 636

$LDAP.SSL = $true

$LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der"

- 365 -

Page 366: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

$LDAP.Init()

# eDirectory syntax

$Status = $LDAP.Bind("cn=Fred,o=ENGL", "secret")

# Active Directory syntax

$Status = $LDAP.Bind("cn=Fred,ou=London,dc=engl,dc=local", "secret");

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Connect to LDAP server

LDAP.Hostname = "10.10.10.1"

LDAP.Port = 636

LDAP.SSL = True

LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der"

LDAP.Init()

Dim Status

' eDirectory syntax

Status = LDAP.Bind("cn=Fred,o=ENGL", "secret")

' Active Directory syntax

Status = LDAP.Bind("cn=Fred,ou=London,dc=engl,dc=local", "secret");

- 366 -

Page 367: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ConvertNDSToLDAPConverts a NDS DN to a LDAP DN.

Syntax

ConvertNDSToLDAP

[in] string nds_dn

Parameters

Parameter Description

nds_dn NDS DN, i.e. 'Homer.ENGL'.

Remarksn/a

Return ValuesString containing a LDAP DN, i.e. "cn=myobject,ou=London,o=ENGL"

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Convert "cn=Homer.o=ENGL" to "cn=Homer,o=ENGL"

var ldap_dn = LDAP.ConvertNDSToLDAP("Homer.ENGL");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Convert "cn=Homer.o=ENGL" to "cn=Homer,o=ENGL"

$ldap_dn = $LDAP.ConvertNDSToLDAP("Homer.ENGL")

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Convert "Homer.ENGL" to "cn=Homer,o=ENGL"

Dim ldap_dn

ldap_dn = LDAP.ConvertNDSToLDAP("Homer.ENGL")

- 367 -

Page 368: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DebugLevel (Property)Sets the Ztoolkit log file debug level.

Syntax

DebugLevel = level

Values

Parameter Description

level 0 = Disabled1 = Enabled.

Remarksn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Enable log file debug mode

LDAP.DebugLevel = 1;

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Enable log file debug mode

$LDAP.DebugLevel = 1

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Enable log file debug mode

LDAP.DebugLevel = 1

- 368 -

Page 369: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteGroupMemberRemoves a member from a group.

Syntax

DeleteGroupMember

[in] string group,

[in] string member

Parameters

Parameter Description

group Group DN.

member Member DN.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Remove user "Homer" from group "grpSimpsons"

// eDirectory syntax

var Status = LDAP.DeleteGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL");

// Active Directory syntax

var Status = LDAP.DeleteGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Remove user "Homer" from group "grpSimpsons"

# eDirectory syntax

$Status = $LDAP.DeleteGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

# Active Directory syntax

$Status = $LDAP.DeleteGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

[VBScript]

- 369 -

Page 370: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Remove user "Homer" from group "grpSimpsons"

Dim Status

' eDirectory syntax

Status = LDAP.DeleteGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

' Active Directory syntax

Status = LDAP.DeleteGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=London,dc=engl,dc=local");

- 370 -

Page 371: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetAttributeValueReads an LDAP attribute value.

Syntax

GetAttributeValue

[in] string dn,

[in] string attribute

Parameters

Parameter Description

dn Object DN.

attribute Object attribute.

RemarksA connection must have previously been created using Init and Bind.

Return ValuesAttribute value.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Get the "FullName" attribute value from user "Homer"

// eDirectory syntax

var Value = LDAP.GetAttributeValue("cn=Homer,o=ENGL", "FullName");

// Active Directory syntax

var Value = LDAP.GetAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Get the "FullName" attribute value from user "Homer"

# eDirectory syntax

$Value = $LDAP.GetAttributeValue("cn=Homer,o=ENGL", "FullName")

# Active Directory syntax

$Value = $LDAP.GetAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName");

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Get the "FullName" attribute value from user "Homer"

Dim Value

' eDirectory syntax

- 371 -

Page 372: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Value = LDAP.GetAttributeValue("cn=Homer,o=ENGL", "FullName")

' Active Directory syntax

Value = LDAP.GetAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName");

- 372 -

Page 373: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Hostname (Property)Sets the hostname of the server used to perform LDAP operations.

Syntax

Hostname = hostname

Values

Parameter Description Type

hostname DNS name or IP address of the server to use when performing LDAP operations. String

Remarksn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Set the LDAP hostname

LDAP.Hostname = "myLDAPhost";

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Set the LDAP hostname

$LDAP.Hostname = "myLDAPhost"

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Set the LDAP hostname

LDAP.Hostname = "myLDAPhost"

- 373 -

Page 374: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

InitInitialise the LDAP object.

Syntax

Init()

ParametersNone

RemarksHostname must be set before calling Init. Port, SSL and if appropriate SSLCertPath should also be set.

Note: The root certificate must be installed into the Trusted Roots certificate store in order to use LDAP with SSL/TLS.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Connect to LDAP server

LDAP.Hostname = "10.10.10.1";

LDAP.Port = 636;

LDAP.SSL = true;

LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der";

var Status = LDAP.Init();

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Connect to LDAP server

$LDAP.Hostname = "10.10.10.1"

$LDAP.Port = 636

$LDAP.SSL = $true

$LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der"

$Status = $LDAP.Init()

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Initialise connection to LDAP server

Dim Status

LDAP.Hostname = "10.10.10.1"

- 374 -

Page 375: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

LDAP.Port = 636

LDAP.SSL = True

LDAP.SSLCertPath = "c:\ztoolkit\rootcert.der"

Status = LDAP.Init()

- 375 -

Page 376: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

IsGroupMemberChecks group membership.

Syntax

IsGroupMember

[in] string group,

[in] string member

Parameters

Parameter Description

group Group DN.

member Member DN.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Not a member.

1 Is a member.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Check if user "Homer" is a member of group "grpSimpsons"

// eDirectory syntax

var Status = LDAP.IsGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL");

// Active Directory syntax

var Status = LDAP.IsGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=home-

er,ou=London,dc=engl,dc=local");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Check if user "Homer" is a member of group "grpSimpsons"

# eDirectory syntax

$Status = $LDAP.IsGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

# Active Directory syntax

$Status = $LDAP.IsGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=home-

er,ou=London,dc=engl,dc=local")

[VBScript]

- 376 -

Page 377: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Check if user "Homer" is a member of group "grpSimpsons"

Dim Status

' eDirectory syntax

Status = LDAP.IsGroupMember("cn=grpSimpsons,o=ENGL", "cn=Homer,o=ENGL")

' Active Directory syntax

Status = LDAP.IsGroupMember("cn=grpSimpsons,ou=London,dc=engl,dc=local", "cn=home-

er,ou=London,dc=engl,dc=local")

- 377 -

Page 378: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

MoveObjectMove an object using LDAP.

Syntax

MoveObject

[in] string dn,

[in] string newdn

Parameters

Parameter Description

dn Source object DN.

newdn New DN for the object.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Move user "Homer" object to the "PowerPlant" container

# eDirectory syntax

var Status = LDAP.MoveObject("cn=Homer,o=ENGL", "cn=Homer,ou=PowerPlant,o=ENGL");

' Active Directory syntax

var Status = LDAP.MoveObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=PowerPlant,dc=engl,dc=local");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Move user "Homer" object to the "PowerPlant" container

# eDirectory syntax

$Status = $LDAP.MoveObject("cn=Homer,o=ENGL", "cn=Homer,ou=PowerPlant,o=ENGL")

' Active Directory syntax

$Status = $LDAP.MoveObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=PowerPlant,dc=engl,dc=local");

[VBScript]

- 378 -

Page 379: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Move user "Homer" object to the "PowerPlant" container

Dim Status

# eDirectory syntax

Status = LDAP.MoveObject("cn=Homer,o=ENGL", "cn=Homer,ou=PowerPlant,o=ENGL")

' Active Directory syntax

Status = LDAP.MoveObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Home-

er,ou=PowerPlant,dc=engl,dc=local")

- 379 -

Page 380: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Port (Property)Sets the port to perform LDAP operations.

Syntax

Port = Port

Values

Parameter Description Type

Port Specifies the port to use when performing LDAP operations integer

Remarksn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Set the LDAP Port

LDAP.Port = 3890;

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Set the LDAP Port

$LDAP.Port = 3890

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Set the LDAP Port

LDAP.Port = 3890

- 380 -

Page 381: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

PutAttributeValueWrites an LDAP attribute value.

Syntax

PutAttributeValue

[in] string dn,

[in] string attribute,

[in] string value

Parameters

Parameter Description

dn Object DN.

attribute Object attribute.

value Object attribute value.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Write "Homer Simpson" to the "FullName" attribute for object "Homer"

// eDirectory syntax

var Status = LDAP.PutAttributeValue("cn=Homer,o=ENGL", "FullName", "Homer Simpson");

// Active Directory syntax

var Status = LDAP.PutAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName", "Homer

Simpson");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Write "Homer Simpson" to the "FullName" attribute for object "Homer"

# eDirectory syntax

$Status = $LDAP.PutAttributeValue("cn=Homer,o=ENGL", "FullName", "Homer Simpson")

# Active Directory syntax

$Status = $LDAP.PutAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName", "Homer Simpson")

- 381 -

Page 382: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Write "Homer Simpson" to the "FullName" attribute for object "Homer"

Dim Status

' eDirectory syntax

Status = LDAP.PutAttributeValue("cn=Homer,o=ENGL", "FullName", "Homer Simpson")

' Active Directory syntax

Status = LDAP.PutAttributeValue("cn=Homer,ou=London,dc=engl,dc=local", "FullName", "Homer Simpson")

- 382 -

Page 383: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RenameObjectRename an object using LDAP.

Syntax

RenameObject

[in] string dn,

[in] string newrdn

Parameters

Parameter Description

dn Object DN.

newrdn New relative DN.

RemarksA connection must have previously been created using Init and Bind.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Rename the "Homer" object to "Bart"

// eDirectory syntax

var Status = LDAP.RenameObject("cn=Homer,o=ENGL", "cn=Bart");

// Active Directory syntax

var Status = LDAP.RenameObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Bart");

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Rename the "Homer" object to "Bart"

# eDirectory syntax

$Status = $LDAP.RenameObject("cn=Homer,o=ENGL", "cn=Bart")

# Active Directory syntax

$Status = $LDAP.RenameObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Bart");

[VBScript]

- 383 -

Page 384: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Rename the "Homer" object to "Bart"

Dim Status

' eDirectory syntax

Status = LDAP.RenameObject("cn=Homer,o=ENGL", "cn=Bart")

' Active Directory syntax

Status = LDAP.RenameObject("cn=Homer,ou=London,dc=engl,dc=local", "cn=Bart");

- 384 -

Page 385: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SSL (Property)Controls whether or not an SSL connection should be made to the LDAP server.

Syntax

SSL = attribute

Values

Parameter Description Type Default

attribute Controls whether or not an SSL connection should be made to the LDAP server boolean false

Remarksn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Use SSL

LDAP.SSL = true;

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Use SSL

$LDAP.SSL = $true

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Use SSL

LDAP.SSL = true

- 385 -

Page 386: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SSLCertPath (Property)Specifies the path to an SSL Certificate (.der) file to secure LDAP communications.

Syntax

SSLCertPath = attribute

Values

Parameter Description Type Default

attribute Specifies the path to an SSL Certificate (.der) file to secure LDAP communications string -

Remarksn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

// Set the path to an SSL Certificate

LDAP.SSLCertPath = "c:\ztoolkit\ldap.der";

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

# Set the path to an SSL Certificate

$LDAP.SSLCertPath = "c:\ztoolkit\ldap.der"

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

' Set the path to an SSL Certificate

LDAP.SSLCertPath = "c:\ztoolkit\ldap.der"

- 386 -

Page 387: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

UnBindPerform an LDAP Unbind (logout).

Syntax

UnBind

Parametersn/a

Remarksn/a

Return Valuesn/a

Example[JScript]

var LDAP = new ActiveXObject("ENGL.Ztoolkit.LDAP");

var Status = LDAP.UnBind();

[PowerShell]

$LDAP = new-object -comobject "ENGL.Ztoolkit.LDAP"

$Status = $LDAP.UnBind()

[VBScript]

Set LDAP = CreateObject("ENGL.Ztoolkit.LDAP")

Dim Status

Status = LDAP.UnBind()

7.12.2 ENGL.Ztoolkit.Monitor

Properties

DebugLevel Sets the Ztoolkit log file debug level.

Error Sets the error message that will be sent to the Deployment Monitor server.

Status Sets the status that will be sent to the Deployment Monitor server.

Task Sets the task description that will be sent to the Deployment Monitor server.

Methods

SendUpdate Sends a status update to a Deployment Monitor 2.x server.

- 387 -

Page 388: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DebugLevel (Property)Sets the Ztoolkit log file debug level.

Syntax

DebugLevel = level

Values

Parameter Description

level 0 = Disabled1 = Enabled.

Remarksn/a

Example[JScript]

var Monitor = new ActiveXObject("ENGL.Ztoolkit.Monitor");

// Enable log file debug mode

Monitor.DebugLevel = 1;

[PowerShell]

$Monitor = new-object -comobject "ENGL.Ztoolkit.Monitor"

# Enable log file debug mode

$Monitor.DebugLevel = 1

[VBScript]

Set Monitor = CreateObject("ENGL.Ztoolkit.Monitor")

' Enable log file debug mode

Monitor.DebugLevel = 1

- 388 -

Page 389: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Error (Property)Sets the error message that will be sent to the Deployment Monitor server.

Syntax

Error = errortext

Remarksn/a

Example[JScript]

var Monitor = new ActiveXObject("ENGL.Ztoolkit.Monitor");

// Set an error message

Monitor.Error = "Failed to install application.";

[PowerShell]

$Monitor = new-object -comobject "ENGL.Ztoolkit.Monitor"

# Set an error message

$Monitor.Error = "Failed to install application."

[VBScript]

Set Monitor = CreateObject("ENGL.Ztoolkit.Monitor")

' Set an error message

Monitor.Error = "Failed to install application."

- 389 -

Page 390: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SendUpdateSend status update and log files to an ENGL Deployment Monitor 2.x server.

Syntax

SendUpdate()

ParametersNone

RemarksTo send a status update, set Task and Status before calling SendUpdate. To send an error, set Task and Error before calling SendUpdate. A Deployment Monitor server must be configured in the Imaging Toolkit project settings.

The Imaging Toolkit phase number will be automatically detected.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Monitor = new ActiveXObject("ENGL.Ztoolkit.Monitor");

// Send status update

Monitor.Task = "Installing Adobe Acrobat";

Monitor.Status = "Started";

var ret = Monitor.SendUpdate();

// Send status update with error message

Monitor.Task = "Installing Adobe Acrobat";

Monitor.Error = "Failed to install application.";

var ret = Monitor.SendUpdate();

[PowerShell]

$Monitor = new-object -comobject "ENGL.Ztoolkit.Monitor"

# Send status update

$Monitor.Task = "Installing Adobe Acrobat"

$Monitor.Status = "Started"

$ret = $Monitor.SendUpdate()

# Send status update with error message

$Monitor.Task = "Installing Adobe Acrobat"

$Monitor.Error = "Failed to install application."

$ret = $Monitor.SendUpdate()

[VBScript]

- 390 -

Page 391: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set Monitor = CreateObject("ENGL.Ztoolkit.Monitor")

Dim ret

' Send status update

Monitor.Task = "Installing Adobe Acrobat"

Monitor.Status = "Started"

ret = Monitor.SendUpdate()

' Send status update with error message

Monitor.Task = "Installing Adobe Acrobat"

Monitor.Error = "Failed to install application."

ret = Monitor.SendUpdate()

- 391 -

Page 392: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Status (Property)Sets the task status that will be sent to the Deployment Monitor server.

Syntax

Status = status

RemarksValid settings are Started and Finished.

Example[JScript]

var Monitor = new ActiveXObject("ENGL.Ztoolkit.Monitor");

// Set task status

Monitor.Status = "Started";

[PowerShell]

$Monitor = new-object -comobject "ENGL.Ztoolkit.Monitor"

# Set task status

$Monitor.Status = "Started"

[VBScript]

Set Monitor = CreateObject("ENGL.Ztoolkit.Monitor")

' Set task status

Monitor.Status = "Started"

- 392 -

Page 393: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Task (Property)Sets the task description that will be sent to the Deployment Monitor server.

Syntax

Task = task

Remarksn/a

Example[JScript]

var Monitor = new ActiveXObject("ENGL.Ztoolkit.Monitor");

// Set task description

Monitor.Task = "Installing Adobe Acrobat";

[PowerShell]

$Monitor = new-object -comobject "ENGL.Ztoolkit.Monitor"

# Set task description

$Monitor.Task = "Installing Adobe Acrobat"

[VBScript]

Set Monitor = CreateObject("ENGL.Ztoolkit.Monitor")

' Set task description

Monitor.Task = "Installing Adobe Acrobat"

7.12.3 ENGL.Ztoolkit.Utils

Properties

DebugLevel Sets the Ztoolkit log file debug level.

- 393 -

Page 394: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Methods

- 394 -

Page 395: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

File I/OAppendFile Appends a line of text to a file.

AppendLog Appends a line of text to the Ztoolkit log file.

CreatePath Creates all folders necessary to support the path.

DeleteFile Deletes a file.

DeleteFolder Deletes a folder.

ExtractCabinet Extracts the contents from a .cab file to a specified directory.

GetIniString Retrieves a value from the specified INI section and key.

PutIniString Writes a value to a specified INI section and key.

Run Executes a command line with options.

Account ManagementAddLocalGroup Creates a new group on the local machine.

AddLocalGroupMember Adds a user to a group on the local machine.

AddLocalUser Creates a user account on the local machine.

CopyUserProfile Copies one user profile to another on the local machine.

DeleteLocalUser Removes a user account on the local machine.

RenameLocalUser Renames a user account on the local machine.

MiscellaneousDelay Pauses the script for a specified number of seconds.

IsVirtualMachine Determines if the machine is virtual guest or a physical machine.

Reboot Reboots the local machine.

Shutdown Shuts down the local machine.

StringsExpandString Replaces environment variables in a string with their values.

GetKeyPairStringValue Retrieves a value from a string containing multiple key/value pairs.

GetKeyPairStringValuesAsVariables For each key/value pair in the string a system environment variable is created (with optional prefix).

GetTokenString Retrieves a token from a string.

GetTokenStringCount Retrieves the number of tokens in the string.

PutKeyPairStringValue Adds or replaces an existing key/value pair to a string.

ReplaceText Replace all occurrences of a specified string within another string.

Windows Management Instrumentation (WMI)GetWmiClassPropertyValue Retrieves a value from a WMI class and property.

Windows Configuration

- 395 -

Page 396: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetSystemEnvironmentVariable Gets the value of a System environment variable.

SetSystemEnvironmentVariable Sets the value of a System environment variable.

SetServiceStartup Sets the Startup Type for a given Windows service.

- 396 -

Page 397: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddLocalGroupCreates a group on the local machine with optional comment.

Syntax

AddLocalGroup

[in] string group,

[in] string comment

Parameters

Parameter Description

group Specifies the group name.

comment Specifies the group comment (will only be used if the group does not exist).

Remarksn/a

Return Values

Return Code Description

0 Success.

5 Access denied.

1379 The local group already exists. This error is returned if the group name is already in use as an alias.

2223 The group already exists.

2224 The user account already exists.

Note: View the Ztoolkit Control log file for additional error messages.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Add local Windows group "support" with comment "This is the support group"

var Status = Utils.AddLocalGroup("support", "This is the support group");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Add local Windows group "support" with comment "This is the support group"

$Status = $Utils.AddLocalGroup("support", "This is the support group")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Add local Windows group "support" with comment "This is the support group"

- 397 -

Page 398: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dim Status

Status = Utils.AddLocalGroup("support", "This is the support group")

- 398 -

Page 399: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddLocalGroupMemberAdds a user to a group on the local machine.

Syntax

AddLocalGroupMember

[in] string group,

[in] string member

Parameters

Parameter Description

group Specifies the group name.

member Specifies the member to add to the group.

Remarksn/a

Return Values

Return Code Description

0 Success.

5 Access denied.

1378 The member is already a member of the group.

1387 The member does not exist.

1388 The member could not be added to the group because it has the wrong account type.

Note: View the Ztoolkit Control log file for additional error messages.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Add local user "Homer" to local group "Support"

var Status = Utils.AddLocalGroupMember("Support", "Homer");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Add local user "Homer" to local group "Support"

$Status = $Utils.AddLocalGroupMember("Support", "Homer")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Add local user "Homer" to local group "Support"

- 399 -

Page 400: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dim Status

Status = Utils.AddLocalGroupMember("Support", "Homer")

- 400 -

Page 401: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddLocalUserCreates a user account on the local machine.

Syntax

AddLocalUser

[in] string username,

[in] string password,

[in] string comment

Parameters

Parameter Description

username Specifies the account username.

password Specifies the account password.

comment Specifies the account comment.

Remarksn/a

Return Values

Return Code Description

0 Success.

5 Access denied.

2224 The user account already exists.

2245 The password does not meet the password policy requirements.

Note: View the Ztoolkit Control log file for additional error messages.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Add local user "Homer" with password "secret" and comment "This is the Homer user"

var Status = Utils.AddLocalUser("Homer", "secret", "This is the Homer user");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Add local user "Homer" with password "secret" and comment "This is the Homer user"

$Status = $Utils.AddLocalUser("Homer", "secret", "This is the Homer user")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Add local user "Homer" with password "secret" and comment "This is the Homer user"

- 401 -

Page 402: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dim Status

Status = Utils.AddLocalUser("Homer", "secret", "This is the Homer user")

- 402 -

Page 403: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AppendFileAppends a line of text to a file.

Syntax

AppendFile

[in] string path,

[in] string text

Parameters

Parameter Description

path Path to file.

text Text to append to the file.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Append "Adding user to group..." to file "logfile.txt"

var Status = Utils.AppendFile("logfile.txt", "Adding user to group...");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Append "Adding user to group..." to file "logfile.txt"

$Status = $Utils.AppendFile("logfile.txt", "Adding user to group...")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Append "Adding user to group..." to file "logfile.txt"

Dim Status

Status = Utils.AppendFile("logfile.txt", "Adding user to group...")

- 403 -

Page 404: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AppendLogAppends a line of text to the Ztoolkit log file.

Syntax

AppendLog

[in] string text

Parameters

Parameter Description

text Text to append to the Ztoolkit log file.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Append a string to the Ztoolkit log file

var Status = Utils.AppendLog("Running my custom action...");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Append a string to the Ztoolkit log file

$Status = $Utils.AppendLog("Running my custom action...")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Append a string to the Ztoolkit log file

Dim Status

Status = Utils.AppendLog("Running my custom action...")

- 404 -

Page 405: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

CopyUserProfileCopies a Windows user profile.

Syntax

CopyUserProfile

[in] string SourceUser,

[in] string TargetUser,

[in] string ExcludeTopLevelDirectories

Parameters

Parameter Description

SourceUser Source user.

TargetUser Target user.

ExcludeTopLevelDirectories Specifies top level directories to be excluded during the profile copy (separate with commas).

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Status;

// Copy the Administrator profile to the Default User profile excluding the Cookie directory

Status = Utils.CopyUserProfile("Administrator", "Default User", "Cookies");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Copy the Administrator profile to the Default User profile excluding the Cookie directory

$Status = $Utils.CopyUserProfile("Administrator", "Default User", "Cookies")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Status

- 405 -

Page 406: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

' Copy the Administrator profile to the Default User profile excluding the Cookie directory

Status = Utils.CopyUserProfile("Administrator", "Default User", "Cookies")

- 406 -

Page 407: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

CreatePathCreates all folders necessary to support the path.

Syntax

CreatePath

[in] string path,

[in] boolean bIncludesFilename

Parameters

Parameter Description

path File path.

bIncludesFilename Specifies whether the path created includes a filename (0 = No filename, 1 = Filename).

Remarksn/a

Return Values

Return Code Description

0 Failure.

1 Success.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Status;

// Creates the directory path 'c:\temp\myfile.txt\'

Status = Utils.CreatePath("c:\temp\myfile.txt", 0);

// Creates the directory path 'c:\temp\'

Status = Utils.CreatePath("c:\temp\myfile.txt", 1);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

// Creates the directory path 'c:\temp\myfile.txt\'

$Status = $Utils.CreatePath("c:\temp\myfile.txt", $false)

# Creates the directory path 'c:\temp\'

$Status = $Utils.CreatePath("c:\temp\myfile.txt", $true)

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

- 407 -

Page 408: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Dim Status

' Creates the directory path 'c:\temp\myfile.txt\'

Status = Utils.CreatePath("c:\temp\myfile.txt", 0)

' Creates the directory path 'c:\temp\'

Status = Utils.CreatePath("c:\temp\myfile.txt", 1)

- 408 -

Page 409: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DebugLevel (Property)Sets the Ztoolkit log file debug level.

Syntax

DebugLevel = level

Values

Parameter Description

level 0 = Disabled1 = Enabled

Remarksn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Enable log file debug mode

Utils.DebugLevel = 1;

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Enable log file debug mode

$Utils.DebugLevel = 1;

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Enable log file debug mode

Utils.DebugLevel = 1

- 409 -

Page 410: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DelayPauses the script for a specified number of seconds.

Syntax

Delay

[in] integer seconds

Parameters

Parameter Description

seconds Specifies the number of seconds to pause the script.

Remarksn/a

Return Valuesn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Suspend script processing for 10 seconds

Utils.Delay(10);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Suspend script processing for 10 seconds

$Utils.Delay(10)

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Suspend script processing for 10 seconds

Utils.Delay 10

- 410 -

Page 411: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteFileDeletes a file.

Syntax

DeleteFile

[in] string path

Parameters

Parameter Description

path File path to delete.

Remarksn/a

Return Values

Return Code Description

0 Failure.

1 Success.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Delete file

var Status = Utils.DeleteFile("c:\temp\myfile.txt");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Delete file

$Status = $Utils.DeleteFile("c:\temp\myfile.txt")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Delete file

Dim Status

Status = Utils.DeleteFile("c:\temp\myfile.txt")

- 411 -

Page 412: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteFolderDeletes a folder.

Syntax

DeleteFolder

[in] string path

[in] boolean bIncludeSubdirectories

Parameters

Parameter Description

path Folder path to delete.

bIncludeSubdirectories Specifies whether to delete all files and sub-directories in path (True or False).

Remarksn/a

Return Valuesn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Delete a folder including the contents

var Status = Utils.DeleteFolder("c:\temp\", true);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Delete a folder including the contents

$Status = $Utils.DeleteFolder("c:\temp\", $true)

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Delete a folder including the contents

Dim Status

Status = Utils.DeleteFolder("c:\temp\", true)

- 412 -

Page 413: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteLocalUserRemoves a user account on the local machine.

Syntax

DeleteLocalUser

[in] string username

Parameters

Parameter Description

username Specifies the account username.

Remarksn/a

Return Values

Return Code Description

0 Success.

5 Access denied.

2221 The user name could not be found.

Note: View the Ztoolkit Control log file for additional error messages.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Delete local user

var Status = Utils.DeleteLocalUser("Homer");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Delete local user

$Status = $Utils.DeleteLocalUser("Homer")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Delete local user

Dim Status

Status = Utils.DeleteLocalUser("Homer")

- 413 -

Page 414: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ExpandStringReplaces environment variables in a string with their values.

Syntax

ExpandString

[in] string text

Parameters

Parameter Description

text Text that includes environment variables.

Remarksn/a

Return ValuesString containing the expanded text.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Expand variables in a string

var StrExpanded = Utils.ExpandString("%path%");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Expand variables in a string

$StrExpanded = $Utils.ExpandString("%path%")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Expand variables in a string

Dim StrExpanded

StrExpanded = Utils.ExpandString("%path%")

- 414 -

Page 415: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ExtractCabinetExtracts the contents from a .cab file to a specified directory.

Syntax

ExtractCabinet

[in] string source,

[in] string target

Parameters

Parameter Description

source Source path to .cab file.

target Target path whether cabinet will be extracted.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Extract cabinet (.cab) file

var Status = Utils.ExtractCabinet("c:\temp\mycabinet.cab", "c:\temp\mycabinet");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Extract cabinet (.cab) file

$Status = $Utils.ExtractCabinet("c:\temp\mycabinet.cab", "c:\temp\mycabinet")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Extract cabinet (.cab) file

Dim Status

Status = Utils.ExtractCabinet("c:\temp\mycabinet.cab", "c:\temp\mycabinet")

- 415 -

Page 416: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetIniStringRetrieves a value from the specified INI section and key.

Syntax

GetIniString

[in] string path,

[in] string section,

[in] string key

Parameters

Parameter Description

path INI file path.

section INI section.

key INI key value to retrieve.

Remarksn/a

Return ValuesString containing the value at the specified section and key.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Get a value an INI file

var Value = Utils.GetIniString("myini.ini", "Settings", "LogFile");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Get a value an INI file

$Value = $Utils.GetIniString("myini.ini", "Settings", "LogFile")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Get a value an INI file

Dim Value

Value = Utils.GetIniString("myini.ini", "Settings", "LogFile")

- 416 -

Page 417: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetKeyPairStringValueRetrieves a value from a string containing multiple key/value pairs.

Syntax

GetKeyPairStringValue

[in] string string,

[in] string key

Parameters

Parameter Description

string Specifies a text string containing key/value pairs (see Remarks).

key Specifies a key value to return.

RemarksBoth GetKeyPairStringValue and PutKeyPairStringValue will only read and write to a key/value pair string formatted as follows;

<key1>='<value1>';<key2='<value2>';

For example:

BUILD_WS_TYPE='laptop';BUILD_WS_OWNER_DN='cn=Homer,ou=London,dc=engl,dc=local';

Note: The string must not contain double-quotes. Single-quotes must be used to surround all values. Each key/value pair must be separated with a semi-colon ';'. Use PutKeyPairStringValue with an empty string to create a correctly formatted key/pair string.

Return ValuesString containing the value of the specified key.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Str = "<key1>='<value1>';<key2='<value2>';";

// Get a value from a key/value pair

var Value = Utils.GetKeyPairStringValue(Str, "key1");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

$Str = "<key1>='<value1>';<key2='<value2>';"

# Get a value from a key/value pair

$Value = $Utils.GetKeyPairStringValue($Str, "key1")

[VBScript]

- 417 -

Page 418: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Str, Value

Str = "key1='value1';key2='value2';"

' Get a value from a key/value pair

Value = Utils.GetKeyPairStringValue(Str, "key1")

- 418 -

Page 419: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetKeyPairStringValuesAsVariablesFor each key/value pair in the string a system environment variable is created (with optional prefix).

Syntax

GetKeyPairStringValuesAsVariables

[in] string string,

[in] string prefix

Parameters

Parameter Description

string Specifies a text string containing key/value pairs (see Remarks).

prefix Specifies a prefix used when creating environment variables.

RemarksSee GetKeyPairStringValue for details on the key/value pair format.

Return Valuesn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

Var Str = "key1='value1';key2='value2';";

// Create system environment variables for each key/value pair (prefixed with "BUILD_")

Utils.GetKeyPairStringValuesAsVariables(Str, "BUILD_");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

$Str = "key1='value1';key2='value2';"

# Create system environment variables for each key/value pair (prefixed with "BUILD_")

$Utils.GetKeyPairStringValuesAsVariables($Str, "BUILD_")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Str, Value

Str = "key1='value1';key2='value2';"

' Create system environment variables for each key/value pair (prefixed with "BUILD_")

Utils.GetKeyPairStringValuesAsVariables Str, "BUILD_"

- 419 -

Page 420: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetSystemEnvironmentVariableRetrieves a value from a System environment variable.

Syntax

GetSystemEnvironmentVariable

[in] string name,

Parameters

Parameter Description

name Specifies the name of the System Environment variable.

Remarksn/a

Return ValuesString containing the System environment variable value.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Get system environment variable

var Value = Utils.GetSystemEnvironmentVariable("BUILD_INPROGRESS");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Get system environment variable

$Value = $Utils.GetSystemEnvironmentVariable("BUILD_INPROGRESS")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Get system environment variable

Dim Value

Value = Utils.GetSystemEnvironmentVariable("BUILD_INPROGRESS")

- 420 -

Page 421: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetTokenStringRetrieves a token from a string.

Syntax

GetTokenString

[in] string text,

[in] string separator

[in] integer index

Parameters

Parameter Description

text pecifies the text that includes tokens.

separator Specifies the token separator.

index Specifies the token index to return (1-based).

Remarksn/a

Return ValuesString containing the token at the specified index.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Tokens = "France,Germany,Russia,United Kingdom";

// Read a token from a string

var Value = Utils.GetTokenString(Tokens, ",", 4);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

$Tokens = "France,Germany,Russia,United Kingdom"

# Read a token from a string

$Value = $Utils.GetTokenString($Tokens, ",", 4)

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Tokens, Value

Tokens = "France,Germany,Russia,United Kingdom"

- 421 -

Page 422: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

' Read a token from a string

Value = Utils.GetTokenString(Tokens, ",", 4)

- 422 -

Page 423: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetTokenStringCountRetrieves the number of tokens in the string.

Syntax

GetTokenStringCount

[in] string text,

[in] string separator

Parameters

Parameter Description

text Specifies the text that includes tokens.

separator Specifies the token separator.

Remarksn/a

Return ValuesNumber of tokens in text.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Tokens = "France,Germany,Russia,United Kingdom";

// Return the number of tokens in a string

var Count = Utils.GetTokenStringCount(Tokens, ",");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

$Tokens = "France,Germany,Russia,United Kingdom"

# Return the number of tokens in a string

$Count = $Utils.GetTokenStringCount($Tokens, ",")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Tokens = "France,Germany,Russia,United Kingdom"

' Return the number of tokens in a string

Dim Count

Count = Utils.GetTokenStringCount(Tokens, ",")

- 423 -

Page 424: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetWmiClassPropertyValueRetrieves a value from a WMI class and property.

Syntax

GetWmiClassPropertyValue

[in] string wmi_class,

[in] string wmi_property

Parameters

Parameter Description

wmi_class Specifies the WMI class.

wmi_property Specifies the WMI property.

Remarksn/a

Return ValuesString containing the class and property value.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Read a value from a WMI class/property

Dim Value = Utils.GetWmiClassPropertyValue("Win32_ComputerSystem", "Manufacturer");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Read a value from a WMI class/property

$Value = $Utils.GetWmiClassPropertyValue("Win32_ComputerSystem", "Manufacturer")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Read a value from a WMI class/property

Dim Value

Value = Utils.GetWmiClassPropertyValue("Win32_ComputerSystem", "Manufacturer")

- 424 -

Page 425: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

IsVirtualMachineDetermines if the current machine is a virtual guest.

Syntax

IsVirtualMachine

Parametersn/a

Remarksn/a

Return Values

Return Code Description

True Virtual machine was detected.

False Virtual machine was not detected.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Determine if we are running inside a virtual machine

var bIsVirtualMachine = Utils.IsVirtualMachine();

Utils.AppendLog("Virtual machine: " + bIsVirtualMachine);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Determine if we are running inside a virtual machine

$bIsVirtualMachine = $Utils.IsVirtualMachine()

$Utils.AppendLog("Virtual machine: $bIsVirtualMachine")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim bIsVirtualMachine

' Determine if we are running inside a virtual machine

bIsVirtualMachine = Utils.IsVirtualMachine()

Utils.AppendLog "Virtual machine: " & CStr(bIsVirtualMachine)

- 425 -

Page 426: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

PutIniStringWrites a value to a specified INI section and key.

Syntax

PutIniString

[in] string path,

[in] string section,

[in] string key,

[in] string value

Parameters

Parameter Description

path INI file path.

section INI section.

key INI key.

value INI key value to write.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Write an INI file key/value

var Status = Utils.PutIniString("myini.ini", "Settings", "LogFile", "logfile.txt");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Write an INI file key/value

$Status = $Utils.PutIniString("myini.ini", "Settings", "LogFile", "logfile.txt")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Write an INI file key/value

Dim Status

Status = Utils.PutIniString("myini.ini", "Settings", "LogFile", "logfile.txt")

- 426 -

Page 427: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

PutKeyPairStringValueAdds or replaces an existing key/value pair to a string.

Syntax

PutKeyPairStringValue

[in] string string,

[in] string key,

[in] string value

Parameters

Parameter Description

string Specifies a text string containing key/value pairs (see Remarks).

key Specifies a key that will be written to the string.

value Specifies a value to be written with the key.

RemarksBoth GetKeyPairStringValue and PutKeyPairStringValue will only read and write to a key/value pair string formatted as follows;

<key1>='<value1>';<key2='<value2>';

For example:

BUILD_WS_TYPE='laptop';BUILD_WS_OWNER_DN='cn=Homer,ou=London,dc=engl,dc=local';

Note: The string must not contain double-quotes. Single-quotes must be used to surround all values. Each key/value pair must be separated with a semi-colon ';'. Use PutKeyPairStringValue with an empty string to create a correctly formatted key/pair string. If a key is written with an empty value, the key will not be added to the string, but if the key already exists in the string, the key/value pair will be removed from the string.

Return ValuesUpdated copy of the string after key/value pair changes.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Write a key/value pair

var Str = Utils.PutKeyPairStringValue(Str, "key1", "value1");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Write a key/value pair

$Str = $Utils.PutKeyPairStringValue($Str, "key1", "value1")

[VBScript]

- 427 -

Page 428: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Str

' Write a key/value pair

Str = Utils.PutKeyPairStringValue(Str, "key1", "value1")

- 428 -

Page 429: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RebootReboots the local machine.

Syntax

Reboot

Parametersn/a

Remarksn/a

Return Valuesn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Reboot machine

Utils.Reboot();

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Reboot machine

$Utils.Reboot()

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Reboot machine

Utils.Reboot

- 429 -

Page 430: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RenameLocalUserRenames a user account on the local machine.

Syntax

RenameLocalUser

[in] string username,

[in] string username_new

Parameters

Parameter Description

username Specifies the account to rename.

username_new Specifies the new account name.

Remarksn/a

Return Values

Return Code Description

0 Success.

5 Access denied.

2221 The user name could not be found.

Note: View the Ztoolkit Control log file for additional error messages.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Rename "Homer" to "Homer_Simpson"

var Status = Utils.RenameLocalUser("Homer", "Homer_Simpson");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Rename "Homer" to "Homer_Simpson"

$Status = $Utils.RenameLocalUser("Homer", "Homer_Simpson")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Rename "Homer" to "Homer_Simpson"

Dim Status

Status = Utils.RenameLocalUser("Homer", "Homer_Simpson")

- 430 -

Page 431: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ReplaceTextReplace all occurrences of a specified string within another string.

Syntax

ReplaceText

[in] string text,

[in] string search,

[in] string replace

Parameters

Parameter Description

text Text on which to perform find/replace.

search String to find.

replace Replacement string.

Remarksn/a

Return ValuesString containing the modified string.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

var Str = "Today is a hot day";

// Replace text in a string

var NewStr = Utils.ReplaceText(Str, "hot", "cold");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

$Str = "Today is a hot day"

# Replace text in a string

$NewStr = $Utils.ReplaceText($Str, "hot", "cold")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

Dim Str, NewStr

Str = "Today is a hot day"

- 431 -

Page 432: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

' Replace text in a string

NewStr = Utils.ReplaceText(Str, "hot", "cold")

- 432 -

Page 433: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RunExecutes a command line with options.

Syntax

Run

[in] string path,

[in] string style,

[in] string bWaitOnReturn

Parameters

Parameter Description

path File path to execute.

style Specifies the appearance of the program's window (not all programs make use of this settings).

bWaitOnReturn Specifies whether the script waits for the program to finish before continuing to the next statement in the script.

Styles

Style Description

0 Hides the window and activates another window.

1 Activates and displays a window. If the window is minimised or maximised, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.

2 Activates the window and displays it as a minimised window.

3 Activates the window and displays it as a maximised window.

4 Displays a window in its most recent size and position. The active window remains active.

5 Activates the window and displays it in its current size and position.

6 Minimises the specified window and activates the next top-level window in the Z-order.

7 Displays the window as a minimised window. The active window remains active.

8 Displays the window in its current state. The active window remains active.

9 Activates and displays the window. If the window is minimised or maximised, the system restores it to its original size and position. An application should specify this flag when restoring a minimised window.

10 Sets the show-state based on the state of the program that started the application.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

- 433 -

Page 434: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Launch an application (as hidden) and wait for it to terminate

var Status = Utils.Run("calc.exe", 0, true);

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

' Launch an application (as hidden) and wait for it to terminate

$Status = $Utils.Run("calc.exe", 0, $true)

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Launch an application (as hidden) and wait for it to terminate

Dim Status

Status = Utils.Run("calc.exe", 0, True)

- 434 -

Page 435: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SetServiceStartupSets the Startup Type for a Windows service .

Syntax

SetServiceStartup

[in] string service_name,

[in] string startup_type

Parameters

Parameter Description

service_name Specifies the Windows 'service name' (not the 'display name').

startup_type Specifies the service Startup Type ('Automatic', 'Disabled', 'Manual').

RemarksTo find the correct service_name for the target service, follow these steps;

1. Either launch Services from the Control Panel, or run services.msc from Start > Run.

2. Highlight the target service, then right-click and select Properties.

3. The Service Name displayed should be used as the service_name parameter for this method.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Disable the service (on reboot)

var Status = Utils.SetServiceStartup("WebClient", "Disabled");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

// Disable the service (on reboot)

$Status = $Utils.SetServiceStartup("WebClient", "Disabled")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Disable the service (on reboot)

Dim Status

Status = Utils.SetServiceStartup("WebClient", "Disabled")

- 435 -

Page 436: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

SetSystemEnvironmentVariableSets a System environment variable.

Syntax

SetSystemEnvironmentVariable

[in] string name,

[in] string value

Parameters

Parameter Description

name Specifies the environment variable you want to create.

value Specifies the environment variable value.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Set system environment variable

var Status = Utils.SetSystemEnvironmentVariable("BUILD_INPROGRESS", "1");

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

' Set system environment variable

$Status = $Utils.SetSystemEnvironmentVariable("BUILD_INPROGRESS", "1")

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Set system environment variable

Dim Status

Status = Utils.SetSystemEnvironmentVariable("BUILD_INPROGRESS", "1")

- 436 -

Page 437: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ShutdownShutdowns the local machine.

Syntax

Shutdown

Parametersn/a

Remarksn/a

Return Valuesn/a

Example[JScript]

var Utils = new ActiveXObject("ENGL.Ztoolkit.Utils");

// Shutdown the machine

Utils.Shutdown();

[PowerShell]

$Utils = new-object -comobject "ENGL.Ztoolkit.Utils"

# Shutdown the machine

$Utils.Shutdown()

[VBScript]

Set Utils = CreateObject("ENGL.Ztoolkit.Utils")

' Shutdown the machine

Utils.Shutdown

7.12.4 ENGL.Ztoolkit.ZENworks

Properties

DebugLevel Sets the Ztoolkit log file debug level.

ZISDVersion ZENworks Image-safe Data version.

- 437 -

Page 438: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Methods

ImagingAddZcmGroupMember Adds a ZENworks user or device to a group.

AddZcmGroupMemberByUid Adds a ZENworks user or device GUID to a group.

AssignZcmBundle Assigns a ZENworks bundle to a device or user.

DeleteZcmDevice Deletes a ZENworks device.

DeleteZcmDeviceByUid Deletes a ZENworks device GUID.

DeleteZcmGroupMember Deletes a ZENworks user or device from a group.

DeleteZcmGroupMemberByUid Removes a ZENworks user or device GUID from a group.

GetZisdAttributeValue Retrieve a ZENworks Image-safe Data attribute and pass the value to the specified variable.

IsZcmGroupMember Test if a ZENworks user or device is a member of a group.

MoveZcmDevice Moves a ZENworks device to an existing folder.

MoveZcmDeviceByUid Moves a ZENworks device GUID to an existing folder.

PutZisdAttributeValue Adds a ZENworks Image-safe Data attribute value to the queue.

RefreshZisd Forces a complete read refresh of ZENworks Image-safe Data.

RemoveZisd Removes ZENworks Image-safe Data from the local disk.

WriteZisd Commits all queued changes made by PutZisdAttributeValue to the hard disk.

- 438 -

Page 439: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddZcmGroupMemberAdds a ZENworks user or device to a group.

Syntax

AddZcmGroupMember

[in] string group,

[in] string member,

[in] string type

Parameters

Parameter Description

group Specifies the target group name.

member Specifies the source user or device.

type Specifies the source type ('user' or 'device').

RemarksFor a device the member is the HOSTNAME value visible in the workstation object in ZENworks Control Center (ZCC).

Note: This is not necessarily the same as the display name in ZCC.

For a user the member can be specified as:

n Name e.g. JSmith

n Login Name e.g. JSmith@User Source

n Full path e.g. /Users/User Source/Sales/Jsmith

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Add device with HOSTNAME "UK-12345" to group "grpLaptops"

var Status = ZENworks.AddZcmGroupMember("grpLaptops", "UK-12345", "Device");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Add device with HOSTNAME "UK-12345" to group "grpLaptops"

$Status = ZENworks.AddZcmGroupMember("grpLaptops", "UK-12345", "Device")

[VBScript]

- 439 -

Page 440: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Add device with HOSTNAME "UK-12345" to group "grpLaptops"

Dim Status

Status = ZENworks.AddZcmGroupMember("grpLaptops", "UK-12345", "Device")

- 440 -

Page 441: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AddZcmGroupMemberByUidAdds a ZENworks user or device GUID to a group.

Syntax

AddZcmGroupMemberByUid

[in] string group,

[in] string memberuid,

[in] string type

Parameters

Parameter Description

group Specifies the target group name.

memberuid Specifies the source user or device GUID.

type Specifies the source type ('user' or 'device').

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Add device with GUID "3603f5935f40814b959fe90c4536f226" to group "grpLaptops"

var Status = ZENworks.AddZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226",

"Device");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Add device with GUID "3603f5935f40814b959fe90c4536f226" to group "grpLaptops"

$Status = $ZENworks.AddZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226", "Device")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Add device with GUID "3603f5935f40814b959fe90c4536f226" to group "grpLaptops"

Dim Status

Status = ZENworks.AddZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226", "Device")

- 441 -

Page 442: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

AssignZcmBundleAssigns a ZENworks bundle to a device or user.

Syntax

AssignZcmBundle

[in] string bundle,

[in] string bundletype,

[in] string target,

[in] string targettype

[in] string shortcut

Parameters

Parameter Description

bundle Specifies the bundle name to assign.

bundletype Specifies the type of bundle to assign, can be either "windows" or "preboot"

target Specifies the target name to receive the bundle.

targettype Specifies the target type to receive the bundle, can be either "User" or "Device".

shortcut Specifies the location of the bundle shortcut (for Windows bundles only).

Select one of the following:

desktop to place the shortcut on the Windows desktopstartmenu to place the shortcut on the Windows Start Menuwindow to place the shortcut in the Application Explorer Windowquicklaunch to place the shortcut on the Windows Quick Launch barsystemtray to place the shortcut in the Windows System Tray

RemarksIf the bundletype is preboot the targettype must be device.

The shortcut will only be used if the bundletype is windows.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

var Status;

// Assigns the 'Win10 Image' bundle to device 'UK-12345'

Status = ZENworks.AssignZcmBundle("Win10 Image", "preboot", "UK-12345", "Device");

// Assigns the 'Acrobat Reader' bundle to user '/Users/engl.local/Wantage/bob' and places the shortcut

- 442 -

Page 443: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

on the desktop

Status = ZENworks.AssignZcmBundle("Acrobat Reader", "windows", "/Users/engl.local/Wantage/bob",

"User", "desktop");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Assigns the 'Win10 Image' bundle to device 'UK-12345'

$Status = $ZENworks.AssignZcmBundle("Win10 Image", "preboot", "UK-12345", "Device")

# Assigns the 'Acrobat Reader' bundle to user '/Users/engl.local/Wantage/bob' and places the shortcut

on the desktop

$Status = $ZENworks.AssignZcmBundle("Acrobat Reader", "windows", "/Users/engl.local/Wantage/bob",

"User", "desktop")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

Dim Status

' Assigns the 'Win10 Image' bundle to device 'UK-12345'

Status = ZENworks.AssignZcmBundle("Win10 Image", "preboot", "UK-12345", "Device")

' Assigns the 'Acrobat Reader' bundle to user '/Users/engl.local/Wantage/bob' and places the shortcut

on the desktop

Status = ZENworks.AssignZcmBundle("Acrobat Reader", "windows", "/Users/engl.local/Wantage/bob",

"User", "desktop")

- 443 -

Page 444: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DebugLevel (Property)Sets the Ztoolkit log file debug level.

Syntax

DebugLevel = level

Values

Parameter Description

level 0 = Disabled1 = Enabled

Remarksn/a

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Enable log file debug mode

ZENworks.DebugLevel = 1;

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Enable log file debug mode

$ZENworks.DebugLevel = 1

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Enable log file debug mode

ZENworks.DebugLevel = 1

- 444 -

Page 445: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteZcmDeviceRemoves a ZENworks device.

Syntax

DeleteZcmDevice

[in] string device

Parameters

Parameter Description

device Specifies the device to remove.

Remarks

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Remove device "UK-12345"

var Status = ZENworks.DeleteZcmDevice("UK-12345");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Remove device "UK-12345"

$Status = $ZENworks.DeleteZcmDevice("UK-12345")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Remove device "UK-12345"

Dim Status

Status = ZENworks.DeleteZcmDevice("UK-12345")

- 445 -

Page 446: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteZcmDeviceByUidRemoves a ZENworks device GUID.

Syntax

DeleteZcmDeviceByUid

[in] string deviceuid

Parameters

Parameter Description

deviceuid Specifies the device GUID to remove.

Remarks

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Remove device GUID

var Status = ZENworks.DeleteZcmDeviceByUid("3603f5935f40814b959fe90c4536f226");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Remove device GUID

$Status = $ZENworks.DeleteZcmDeviceByUid("3603f5935f40814b959fe90c4536f226")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Remove device GUID

Dim Status

Status = ZENworks.DeleteZcmDeviceByUid("3603f5935f40814b959fe90c4536f226")

- 446 -

Page 447: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteZcmGroupMemberRemoves a ZENworks user or device from a group.

Syntax

DeleteZcmGroupMember

[in] string group,

[in] string member,

[in] string type

Parameters

Parameter Description

group Specifies the group name.

member Specifies the user or device member to remove from the group.

type Specifies the group member type ('user' or 'device').

Remarks

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Remove device "UK-12345" from group "grpLaptops"

var Status = ZENworks.DeleteZcmGroupMember("grpLaptops", "UK-12345", "Device");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Remove device "UK-12345" from group "grpLaptops"

$Status = $ZENworks.DeleteZcmGroupMember("grpLaptops", "UK-12345", "Device")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Remove device "UK-12345" from group "grpLaptops"

Dim Status

Status = ZENworks.DeleteZcmGroupMember("grpLaptops", "UK-12345", "Device")

- 447 -

Page 448: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

DeleteZcmGroupMemberByUidRemoves a ZENworks user or device GUID from a group.

Syntax

DeleteZcmGroupMemberByUid

[in] string group,

[in] string memberuid,

[in] string type

Parameters

Parameter Description

group Specifies the group name.

memberuid Specifies the user or device GUID.

type Specifies the group member type ('user' or 'device').

Remarks

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Remove device GUID "3603f5935f40814b959fe90c4536f226" from group "grpLaptops"

var Status = ZENworks.DeleteZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226",

"Device");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Remove device GUID "3603f5935f40814b959fe90c4536f226" from group "grpLaptops"

$Status = $ZENworks.DeleteZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226",

"Device")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Remove device GUID "3603f5935f40814b959fe90c4536f226" from group "grpLaptops"

Dim Status

Status = ZENworks.DeleteZcmGroupMemberByUid("grpLaptops", "3603f5935f40814b959fe90c4536f226",

"Device")

- 448 -

Page 449: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

GetZisdAttributeValueRetrieve a ZENworks Image-safe Data attribute and pass the value to the specified variable.

Syntax

GetZisdAttributeValue

[in] string attribute

Parameters

Parameter Description

attribute Specifies the ZENworks Image-safe Data attribute to retrieve.

- 449 -

Page 450: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Attributes

Attribute Type Minimum ZISD Version Required

ComputerName String 3

DeviceGuid String 10

DeviceID String 10

DHCP Boolean 3

DHCPFlag Boolean 3

DN String 3

DNSHostname String 4

DNSServerCount Integer 4

DNSServer[1..32] String 4

DNSSuffix String 4

EnterpriseName String 8

Gateway IPAddress 3

IP IPAddress 3

JustImaged Boolean 3

LastBaseImage String 3

LastBaseImageAddr IPAddress 7

LastBaseImageSize Integer 3

LastBaseImageTime Integer 3

Mask IPAddress 3

NetBiosName String 3

ObjectDN String 3

ScriptedImage Boolean 3

SID String 3

Subnet IPAddress 3

Tree String 3

VendorDataENGL String 9

WindowsWorkgroup String 3

Workgroup String 3

WorkstationID String 5

ZoneGuid String 10

Remarksn/a

- 450 -

Page 451: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Return ValuesIf the attribute is invalid or the attribute value is empty the receiving variable will be set to "".

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Get the NetBiosName attribute value from ZENworks Image-safe Data

var Value = ZENworks.GetZisdAttributeValue("NetBiosName");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Get the NetBiosName attribute value from ZENworks Image-safe Data

$Value = $ZENworks.GetZisdAttributeValue("NetBiosName")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Get the NetBiosName attribute value from ZENworks Image-safe Data

Dim Value

Value = ZENworks.GetZisdAttributeValue("NetBiosName")

- 451 -

Page 452: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

IsZcmGroupMemberTest if a ZENworks user or device is a member of a group.

Syntax

IsZcmGroupMember

[in] string group,

[in] string member,

[in] string type

Parameters

Parameter Description

group Specifies the group name.

member Specifies the user or device member.

type Specifies the group member type ('user' or 'device').

Remarks

Return Values

Return Code Description

0 Member was not found in group.

1 Member was found in group.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Check if device "UK-12345" is a member of group "grpLaptops"

var Status = ZENworks.IsZcmGroupMember("grpLaptops", "UK-12345", "Device");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Check if device "UK-12345" is a member of group "grpLaptops"

$Status = $ZENworks.IsZcmGroupMember("grpLaptops", "UK-12345", "Device")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Check if device "UK-12345" is a member of group "grpLaptops"

Dim Status

Status = ZENworks.IsZcmGroupMember("grpLaptops", "UK-12345", "Device")

- 452 -

Page 453: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

MoveZcmDeviceMoves a ZENworks device to an existing folder.

Syntax

MoveZcmDevice

[in] string device,

[in] string folder

Parameters

Parameter Description

device Specifies the source device name.

folder Specifies the target folder.

RemarksThe device is the HOSTNAME value visible in the workstation object in ZENworks Control Center (ZCC).

Note: This is not necessarily the same as the display name in ZCC.

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Move device HOSTNAME "UK-12345" to folder "London"

var Status = ZENworks.MoveZcmDevice("UK-12345", "/Devices/Workstations/London");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Move device HOSTNAME "UK-12345" to folder "London"

$Status = ZENworks.MoveZcmDevice("UK-12345", "/Devices/Workstations/London")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Move device HOSTNAME "UK-12345" to folder "London"

Dim Status

Status = ZENworks.MoveZcmDevice("UK-12345", "/Devices/Workstations/London")

- 453 -

Page 454: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

MoveZcmDeviceByUidMoves a ZENworks device GUID to an existing folder.

Syntax

MoveZcmDeviceByUid

[in] string deviceuid,

[in] string folder

Parameters

Parameter Description

deviceuid Specifies the source device GUID.

folder Specifies the target folder.

Remarksn/a

Return Values

Return Code Description

0 Success.

1 Failure.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Move device GUID to folder "London"

var Status = ZENworks.MoveZcmDeviceByUid("3603f5935f40814b959fe90c4536f226", "/Devices/Work-

stations/London");

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Move device GUID to folder "London"

$Status = ZENworks.MoveZcmDeviceByUid("3603f5935f40814b959fe90c4536f226", "/Devices/Work-

stations/London")

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Move device GUID to folder "London"

Dim Status

Status = ZENworks.MoveZcmDeviceByUid("3603f5935f40814b959fe90c4536f226", "/Devices/Work-

stations/London")

- 454 -

Page 455: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

PutZisdAttributeValueAdds a ZENworks Image-safe Data attribute value to the queue.

Syntax

PutZisdAttributeValue

[in] string attribute,

[in] string value

Parameters

Parameter Description

attribute Specifies the ZENworks Image-safe Data attribute to set.

value Specifies the attribute value written to ZENworks Image-safe Data queue. See Remarks.

- 455 -

Page 456: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Attributes

Attribute Type Minimum ZISD Version Required

ComputerName String 3

DeviceGuid String 10

DeviceID String 10

DHCP Boolean 3

DHCPFlag Boolean 3

DN String 3

DNSHostname String 4

DNSServerCount Integer 4

DNSServer[1..32] String 4

DNSSuffix String 4

EnterpriseName String 8

Gateway IPAddress 3

IP IPAddress 3

JustImaged Boolean 3

LastBaseImage String 3

LastBaseImageAddr IPAddress 7

LastBaseImageSize Integer 3

LastBaseImageTime Integer 3

Mask IPAddress 3

NetBiosName String 3

ObjectDN String 3

ScriptedImage Boolean 3

SID String 3

Subnet IPAddress 3

Tree String 3

VendorDataENGL String 9

WindowsWorkgroup String 3

Workgroup String 3

WorkstationID String 5

ZoneGuid String 10

RemarksIf ZISD does not exist on the machine, the ZISDVersion property must be set before calling this function.

- 456 -

Page 457: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Note: PutZisdAttributeValue adds changes to a queue. To commit the queued changes to the hard disk use the WriteZisd method.

Return Valuesn/a

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11;

// Add attribute values to queue

ZENworks.PutZisdAttributeValue("NetBiosName", "UK-12345");

ZENworks.PutZisdAttributeValue("Workgroup", "WORKGROUP");

// Write changes

ZENworks.WriteZisd();

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Set ZISD Version (required for changes)

$ZENworks.ZISDVersion = 11

# Add attribute values to queue

$ZENworks.PutZisdAttributeValue("NetBiosName", "UK-12345")

$ZENworks.PutZisdAttributeValue("Workgroup", "WORKGROUP")

# Write changes

$ZENworks.WriteZisd()

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11

' Add attribute values to queue

ZENworks.PutZisdAttributeValue "NetBiosName", "UK-12345"

ZENworks.PutZisdAttributeValue "Workgroup", "WORKGROUP"

' Write changes

ZENworks.WriteZisd

- 457 -

Page 458: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RefreshZisdForce a complete read refresh of ZENworks Image-safe Data.

Syntax

RefreshZisd

Parametersn/a

Remarksn/a

Return Valuesn/a

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Force a complete read refresh of ZENworks Image-safe Data

ZENworks.RefreshZisd();

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Force a complete read refresh of ZENworks Image-safe Data

$ZENworks.RefreshZisd()

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Force a complete read refresh of ZENworks Image-safe Data

ZENworks.RefreshZisd

- 458 -

Page 459: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

RemoveZisdRemove ZENworks Image-safe Data from the local disk.

Syntax

RemoveZisd

Parametersn/a

RemarksCall ZISD:Refresh if it is intended that ZISD values should be reset to defaults.

Return Valuesn/a

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Remove ZENworks Image-safe Data

ZENworks.RemoveZisd();

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Remove ZENworks Image-safe Data

$ZENworks.RemoveZisd()

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Remove ZENworks Image-safe Data

ZENworks.RemoveZisd

- 459 -

Page 460: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

WriteZisdCommits all ZENworks Image-safe Data queued changes made by PutZisdAttributeValue to the hard disk.

Syntax

WriteZisd

Parametersn/a

RemarksIf ZISD does not exist on the machine, the ZISDVersion property must be set before calling this function.

Return Valuesn/a

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11;

// Add attribute values to queue

ZENworks.PutZisdAttributeValue("NetBiosName", "UK-12345");

ZENworks.PutZisdAttributeValue("Workgroup", "WORKGROUP");

// Write changes

ZENworks.WriteZisd();

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Set ZISD Version (required for changes)

$ZENworks.ZISDVersion = 11

# Add attribute values to queue

$ZENworks.PutZisdAttributeValue("NetBiosName", "UK-12345")

$ZENworks.PutZisdAttributeValue("Workgroup", "WORKGROUP")

# Write changes

$ZENworks.WriteZisd()

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11

' Add attribute values to queue

- 460 -

Page 461: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZENworks.PutZisdAttributeValue "NetBiosName", "UK-12345"

ZENworks.PutZisdAttributeValue "Workgroup", "WORKGROUP"

' Write changes

ZENworks.WriteZisd

- 461 -

Page 462: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

ZISDVersion (Property)ZENworks Image-safe Data version.

Syntax

ZISDVersion = version

Values

Parameter Description

version Specifies the ZENworks Image-safe Data version:

11 = ZENworks 11 Configuration Management / ZENworks 2017 Configuration Management 12 = ZENworks 2017 Configuration Management Update 1 and later

RemarksWhen initialising, Ztoolkit Control will attempt to read the ZISDVersion from the zmainrun.xml file.

Example[JScript]

var ZENworks = new ActiveXObject("ENGL.Ztoolkit.ZENworks");

// Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11;

[PowerShell]

$ZENworks = new-object -comobject "ENGL.Ztoolkit.ZENworks"

# Set ZISD Version (required for changes)

$ZENworks.ZISDVersion = 11

[VBScript]

Set ZENworks = CreateObject("ENGL.Ztoolkit.ZENworks")

' Set ZISD Version (required for changes)

ZENworks.ZISDVersion = 11

- 462 -

Page 463: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.13 ZtraceThe Ztrace executable displays a scrolling window containing an Imaging Toolkit created log file. By default a file named Ztoolkit.log will be opened in the same folder as the Ztrace executable. Ztrace can be automatically displayed during the Windows deployment build process using Build Console project settings (see Configuration > Trace Window) and during imaging by running Zim with command line switches to enable the log file.

Note: Ztrace is not available for use on Server 2016 Core.

Path

<InstallationPath>\Ztoolkit\<Platform>\ztrace.exe

Usage

Parameter Description

/fullscreen Displays Ztrace in full screen mode (without a window title)

/trace[:<logfile>] Specifies the Imaging Toolkit log file path to be displayed and monitored (default <ZtracePath>\Ztoolkit.log)

/zorder:<state> Specifies the startup window state (bottom = behind all windows, top = in front of all windows)

Examples

REM Display trace window to monitor Ztoolit.log and send to back

c:\ztoolkit\ztrace.exe /trace:"c:\ztoolkit\ztoolkit.log" /zorder:bottom

- 463 -

Page 464: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.14 ZupdateZupdate is a standalone utility that can detect and download required Windows updates from Windows Update or a WSUS server and automatically create a 'hotfixes' image and folder structure which can be used by ENGL Zim to automate the patching of the universal image during phase 0 of the build process.

Note: Zupdate requires access to either the Microsoft Update server via the Internet or an internal WSUS server. If using an internal WSUS server the machine must already be registered with the specified WSUS server.

Zupdate should be executed on a machine built from the Build Console generated Unattended installation source. The resulting updates can be integrated into the Unattended installation procedure before re-running the Unattended installation in order that the base image contains a baseline set of patches. This will reduce the size and time of additional hotfixes that are installed during the build process.

It can also be used to update existing machines by running the .cmd file.

Path

<InstallationPath>\Ztoolkit\<Platform>\zupdate.exe

Usage

Parameter Description

/log[:<path>] Enables log file (default zupdate.log).

/wim Creates a .WIM image file instead of the default .ZMG ZENworks image file.

/z Enables debug log file (requires /log).

Remarksn/a

- 464 -

Page 465: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

7.15 ZwinwizZwinwiz can perform operations on window including hiding, clicking buttons and shutting down applications. Zwinwiz has a built in timer and waits for a specified window title before performing an action on it. Zwinwiz can be loaded multiple times to perform actions on any number of windows.

Note: Zwinwiz is not available for use on Server 2016 Core.

Path

<InstallationPath>\Ztoolkit\<Platform>\zwinwiz.exe

Usage

Parameter Description

/? Displays usage.

/log[:<path>] Enables log file (default c:\ztoolkit\ztoolkit.log).

/title:<title> Specifies the title of the window that will receive the action.

/action:<action>[,[param,...]] Specifies the action to perform.

/interval:<milliseconds> Specifies the interval between window checks in milliseconds (500 - 10000).

/timeout:<seconds> Specifies that timeout in seconds before exiting (1 - 3600, 0 = remain resident).

/once Specifies to wait for the window, perform the action, then unload.

/unload Unloads all instances of Zwinwiz.

/z Enables debug log file (requires /log).

Note: All Windows and their IDs will be logged during debug

Actions

Action Description

Click | DClick,[Button_Text | Button_ID] Sends mouse click message to window.

Close Closes the window.

Show,[DEFAULT|HIDE|MAX|MIN|SHOW|RESTORE] Specifies the window show state.

- 465 -

Page 466: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

7 Reference

Button IDs

Button ID Description

Abort 'Abort' button.

Back 'Back' button.

Cancel 'Cancel' button.

Finish 'Finish' button.

Close Closes the window.

Ignore 'Ignore' button.

Next 'Next' button.

No 'No' button.

OK 'OK' button.

Retry 'Retry' button.

Yes 'Yes' button.

Remarksn/a

Examples

REM Wait for window then hide it

zwinwiz.exe /title:"Installing Windows" /action:show,hide

REM Wait for window then click 'No' and exit

zwinwiz.exe /title:"Application Launcher" /action:click,"no" /once

- 466 -

Page 467: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

8 Support

8 SupportWalkthroughsStep-by-step guides to common deployment scenarios are included in the Walkthroughs section of these help pages.

KnowledgebaseThe ENGL Knowledgebase includes useful information and examples which have been compiled by ENGL consultants whilst working on customer engagements. Search the Technical Information Documents in the ENGL Knowledgebase for more details.

Replacing Imaging Toolkit licensesWhen a new license is available following the steps in Replacing ENGL Imaging Toolkit licenses.

Support TicketsLicensed customers with an active maintenance agreement can log a support ticket which will be answered by one of our engineers.

Support ForumsOur support forums are monitored on a daily basis and can be used to post your technical questions for all ENGL products. For connection information please visit ENGL Support.

Contact ENGLIf you are unable to access the news servers or log an incident or you have other difficulties please send an email to the ENGL Support Team at [email protected]. Please provide as much information as possible when you email, including the product name, version, and details of your server and workstation environment.

Alternatively visit our web site for full contact details at www.engl.co.uk.

- 467 -

Page 468: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

9 ENGL software licence BEFORE YOU USE AND/OR DOWNLOAD ENGL SOFTWARE INCLUDING ENGL ZIM, ENGL ZTOOLKIT,

ENGL IMAGING TOOLKIT (“THE SOFTWARE”), CAREFULLY READ THE TERMS AND CONDITIONS

OF THIS LICENCE. BY USING AND BY DOWNLOADING THE SOFTWARE YOU ARE CONSENTING TO

BE BOUND BY AND ARE BECOMING THE LICENSEE TO THIS LICENCE. IF YOU DO NOT AGREE

TO ALL OF THE TERMS OF THIS LICENCE, DO NOT USE THE SOFTWARE.

A. PROPERTY OF LICENSOR:

You may obtain a copy of the Software product by downloading it remotely from

our server. The copyright, database rights and any other intellectual property

rights in the programs and data which constitute this Software product (‘the

materials’) are and remain the property of the Licensor (‘the Licensor’). You

are licensed to use them only if you accept all the terms and conditions set

out below.

B. LICENCE ACCEPTANCE PROCEDURE:

By installing and using this software, you indicate acceptance of this

licence agreement and the limited liability set out in this licence agreement.

Such acceptance is either on your own behalf or on behalf of any corporate

entity which employs you or which you represent (‘corporate licensee’). In this

licence agreement, ‘you’ includes both the reader and any corporate licensee.

C. LICENCE REJECTION PROCEDURE:

If you do not accept these terms and conditions, you should uninstall this

software and not attempt to use it.

TERMS AND CONDITIONS OF LICENCE AGREEMENT

1. OWNERSHIP OF MATERIALS AND COPIES

The Materials and related documentation are copyrighted works of authorship.

The Licensor retains ownership of the Materials and all subsequent copies of

the Materials, regardless of the form in which the copies may exist. This

licence is not a sale of the original Materials or any copies, particularly,

(but not by way of limitation) not a sale of the Software or its source code.

2. LICENCE

Provided that you have paid the applicable licence fee and adhere to the terms

and conditions of this licence, the Licensor grants to you a limited,

non-exclusive licence to:

2.1 Use the Materials for use on only as many single computer systems

(whether owned, leased and/or controlled by you or any member of your

corporate group, which expression includes Corporate Licensee,

- 468 -

Page 469: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

Corporate Licensee’s majority-owned subsidiaries, any parent company

having a majority-owned interest in Corporate Licensee, and such

parent’s majority-owned subsidiaries) as you have purchased licenses

for;

2.2 Make copies of the Materials after a licence has been purchased, for

back up, archival or other security purposes, as follows:

One (1) copy of Materials for each licence purchased;

One (1) copy of Materials for back up;

One (1) copy of Materials for disaster recovery purposes;

Provided always that they contain the same copyright materials as

original Materials purchased. For the avoidance of doubt, where the

materials are licensed at no fee for evaluation, you shall not have a

right to make copies of the materials for any purpose.

3. LICENCE RESTRICTIONS

You may not use, copy, modify or transfer the materials (including any

related documentation) or any copy, in whole or in part, except as

expressly provided for in this licence. If you transfer possession of

any copy of the materials to another party except as provided above,

your licence is automatically terminated. You may not translate,

reverse engineer, decompile, disassemble, modify or create derivative

works based on the materials, except as expressly permitted by the law

of this agreement. You may not vary, delete or obscure any notices of

proprietary rights or any product identification or restrictions on or

in the materials.

4. NO TRANSFER

The materials are licensed only to you for use on only so many single

computer systems as you are licensed for. You may not rent, lease,

sublicence, sell, assign, pledge, transfer or otherwise dispose of the

materials, on a temporary or permanent basis, without the prior written

consent of the Licensor.

5. UNDERTAKINGS

You undertake to:

5.1 ensure that, prior to use of the Materials by your employees or agents,

all such parties are notified of this licence and the terms of this

Agreement;

5.2 reproduce and include our copyright notice (or such other party’s

copyright notice as specified on the Materials) on all and any copies

of the Materials, including any partial copies of the Materials;

- 469 -

Page 470: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

5.3 hold all drawings, specifications, data (including object and source

codes), Software listings and all other information relating to the

Materials confidential and not at any time, during this licence or

after it’s expiry, disclose the same, whether directly or indirectly,

to any third party without the Licensor’s consent;

5.4 supervise and control, at all times, use of the Materials to ensure

that the Materials are used in accordance with the terms and

conditions of the Licence including specifically:

(i) ensure that your employees, agents and other parties who will

use the Software are notified of, and adhere to, the terms of

this Licence prior to such employee, agent or party using the

same;

(ii) maintain accurate and up-to-date records of the number and

location of all copies of the Software;

(iii) not display the Software on the bulletin board, FTP site,

worldwide website, chat room or by any other means;

(iv) not to use the Software for immoral illegal or any other purpose

which may be determined threatening, abusive or harmful including

but not limited to the creation or transmission of any virus,

worms, trojan horse, cancel bots or other destructive or

contaminating programs.

6. LICENCE FEE

The Licence fee per computer system may be varied from time to time and is

published on the website at www.engl.co.uk. The Licence fee is payable to the

Licensor by direct bank transfer to the Licensor’s account, by phone or fax by

cheque or credit card.

7. NO WARRANTIES

The Software is provided "as is" without any warranty of any kind either

express or implied including but not limited to the implied warranties of

merchantability, fitness for a particular purpose, title and non-infringement.

The Licensor does not warrant that the Software will be error-free or that such

errors will be corrected and you are solely responsible for all costs and

expenses associated with rectification, repair or damage caused by such errors.

The Licensor does not warrant that the materials will meet your requirements

that its operation will be uninterrupted or error free. Exclusion of warranties

may not be valid in certain jurisdictions however, the only applicable laws

under which this licence shall be construed are the laws of England and Wales.

- 470 -

Page 471: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

8. EXCLUSION OF LIABILITY

8.1 Except in respect of personal injury or death caused directly by the

negligence of the Licensor, in no event will the Licensor be liable to

you for any damages, including any lost profits, lost savings, loss of

data or any indirect, special, incidental or consequential damages

arising out of the use of or inability to use such materials, even if

the Licensor has been advised of the possibility of such damages.

Nothing in this agreement limits liability for fraudulent

misrepresentation.

8.2 In the event the Licensor incurs any liability whatsoever, such

liability is limited to the licence fee paid by you for the Software

(except for death or personal injury arising from the Licensor’s

negligence).

9. YOUR STATUTORY RIGHTS

This licence gives you specific legal rights and you may also have other rights

that vary from country to country. Some jurisdictions do not allow the

exclusion of implied warranties, or certain kinds of limitations or exclusions

of liability, so the above limitations and exclusions may not apply to you.

Other jurisdictions allow limitations and exclusions subject to certain

conditions. In such a case the above limitations and exclusions shall apply to

the fullest extent permitted by the laws of such applicable jurisdictions. If

any part of the above limitations or exclusions is held to be void or

unenforceable, such part shall be deemed to be deleted from this Agreement and

the remainder of the limitation or exclusion shall continue in full force and

effect. Any rights that you may have as a consumer (i.e. a purchaser for

private as opposed to business, academic or government use) are not affected.

10. TERM

The licence is effective until terminated. You may terminate it at any time by

destroying the Materials together with all copies in any form. It will also

terminate upon receipt of written notice from the Licensor

(i) if you fail to comply with any term or condition of this

Agreement; or

(ii) if you voluntarily return the Materials to us.

The Licence will automatically terminate without further notice after a period

of 30 days from your acceptance of the Licence in the event that this Licence

is for evaluation purposes and at no fee.

You agree, upon termination on any grounds, to destroy the Materials together

with all copies in any form.

- 471 -

Page 472: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

11. MAINTENANCE

In the event that You have purchased Upgrade Protection and Maintenance for the

Licensed Materials from the Licensor you also accept the Licensor’s

Maintenance Terms and Conditions, a copy of which is available on request.

12. GENERAL

12.1 You agree that the Licensor shall have the right, after supplying

undertakings as to confidentiality, to audit any computer system on

which the Materials are installed in order to verify compliance with

this Software licence.

12.2 Each party hereby irrevocably agrees that the courts of England and

Wales shall have exclusive jurisdiction to resolve any controversy or

claim of whatever nature arising out of or in relation to this

Agreement and the place of performance of this Agreement shall be

England that the laws of England shall govern such controversy or

claim.

12.3 This Agreement constitutes the complete and exclusive statement of the

Agreement between the Licensor and you with respect to the subject

matter of this agreement and supersedes all proposals, representations,

understandings and prior agreements, whether oral or written, and all

other communications between us relating to that subject matter.

12.4 Any clause in this Agreement that is found to be invalid or

unenforceable shall be deemed deleted and the remainder of this

Agreement shall not be affected by that deletion.

12.5 Failure or neglect by either party to exercise any of its rights or

remedies under this Agreement will not be construed as a waiver of that

party’s rights nor in any way affect the validity of the whole of part

of this Agreement nor prejudice that party’s right to take subsequent

action.

12.6 This Agreement is personal to you and you may not assign, transfer,

sub-contract or otherwise part with this Agreement or any right or

obligation under it without the Licensor’s prior written consent. The

Materials may only be transferred to another party if the original and

all copies (including back-ups) of the Materials and this Licence are

transferred permanently at no charge to the proposed new licensee and

such party agrees to be bound by all the terms of this Licence and

PROVIDING ALWAYS that the Licensor has agreed to the transfer in

writing in advance of the transfer. You remain liable for any breach of

- 472 -

Page 473: ENGL...TableofContents Table of Contents Table of Contents 3 1 Getting started 7 1.1 Overview 8 1.1.1 Build Console 8 1.1.2 Driver Management 8 …

9 ENGL software licence

this Licence by any new licensee if any transfer is attempted without

the consent of the Licensor. Upon such transfer the Licensor may

retain NO copies of the Software or documentation.

- 473 -