Novell is now a part of Micro Focus

The Dynamic Trio - ZENworks for Desktops, ZENworks for Servers, and ZENith

Articles and Tips: article

01 Nov 2002

Editor's Note:

This article assumes that you have a basic understanding of ZENworks for Desktops and ZENworks for Servers. For more information about these products, visit and

Managing desktops across multiple sites requires a desktop management solution such as Novell's ZENworks for Desktops. With centralized application management, workstation management, inventory, imaging, remote control, and a host of other features, ZENworks for Desktops is a "must-have" for the enterprise.

However, with new ZENworks for Desktops applications requiring deployment every week or with patches needing to be sent out to scores of locations, you probably need additional help. ZENworks for Servers steps up to the plate and easily manages the .FIL file deployment, with automatic scheduled updates to Application objects across multiple trees.

If you are using either or both of these products, you may already know about a third product that helps you automate desktop management even more. For example, how would you like the ability to manage changes to applications that don't af-fect every site? How would you like to automatically reconfigure macro values to reflect each container's needs? Would you like to have a fully documented history of each application's deployment?

ZENith from Performing PC's works with ZENworks for Desktops and ZENworks for Servers. With its patent-pending Relative Association and Relative Macros technologies, ZENith enables you to automatically document application deployments, search and replace applications, manage Globally Unique Identifiers (GUIDs), and more.

Because you probably already know how to manage a simple ZENworks environment, this article focuses instead on the challenge of managing a multitree, multisite environment. In particular, this article explains how you can use ZENworks for Desktops, ZENworks for Servers, and ZENith together to meet this challenge.


The best way to demonstrate how these three products--ZENworks for Desktops, ZENworks for Servers, and ZENith--can help you manage a multisite environment is by using an example. This example is a blend of the environments of several joint Novell-Performing PC's customers--all of whom have experienced one or more of the problems outlined in this article.

As the network administrator of his company, Steve manages four directory trees, with the following configurations:

  • Tree 1 includes NetWare 5.1, ZENworks for Desktops 4, and ZENworks for Servers 3 and spans 20 sites.

  • Tree 2 includes NetWare 5.1, ZENworks for Desktops 4, and ZENworks for Servers 2 and spans 12 sites.

  • Tree 3 includes NetWare 4.2, ZENworks for Desktops 3.2, and ZENworks for Servers 2 and spans 80 sites.

  • Tree 4 includes NetWare 4.2 and ZENworks for Desktops 2 and spans 15 sites. Tree 4 does not include ZENworks for Servers.

Steve and his team manage a total of 4,000 workstations. Each site has one server (and, therefore, one server per container). The WAN links between all the sites are at least T1 lines, and the company is licensed to use ZENith on all Novell eDirectory trees. The desktop operating systems in use range from Windows 95 to Windows XP.

Across these trees are some 350 unique Application objects and 15 unique user/workstation policies. These applications and policies are distributed unevenly across the 127 sites.

In addition, Steve's team has a test lab with its own eDirectory tree. The lab has six PCs and servers and is reconfigured as necessary.

Steve's company is planning to merge the four production trees into one eDirectory tree with NetWare 6, ZENworks for Desktops 4, and ZENworks for Servers 3. The workstations will all be upgraded to Windows XP. For now, however, Steve has to manage the current environment.


Suppose Steve has just received a directive from his boss to deploy a new version of QuickBooks, the company's accounting package. Because only the Accounting department uses QuickBooks, Steve has to copy the application to just three containers on Tree 2.

Steve creates the ZENworks Snapshot in the usual way and then imports the application template into the test lab. After the necessary testing and tweaking, Steve exports the Application object to the Application Object Template (AOT) format and imports it into the first container of Tree 2. He then uses the regular ZENworks for Desktops application copying process to copy the application to the other two containers, and he uses NCOPY to copy the 10 Mb of .FIL files to the three servers. Steve then associates the new Application object with the Accounting-Dept Group object, which exists in each of the three containers.

This process is reasonably straightforward, and Steve is done in approximately 20 minutes, not including the Snapshot process.

That afternoon, Steve's boss gives him a more involved task: The company has recently developed a Human Resource database with a simple front-end that allows employees to request annual leave, transfers, add/moves/changes, and so on. The new application has piloted successfully, so now Steve needs to deploy it to all users in Tree 1, which will serve as the first tree-wide deployment.

Because the new application was developed in-house, Steve can quickly create and test the ZENworks Snapshot and then copy the Application object into the first container in Tree 1. However, Steve's not keen to manually copy the Application object to 20 containers, and he's even less keen to copy the .FIL files to 20 servers.


Because ZENworks for Servers 3 has been installed on Tree 1, Steve associates the Application object with the appropriate Group object in the first container. Steve then completes the following steps:

  1. Using ZENworks for Servers, he runs the desktop application distribution wizard to create the Distribution object for the application.

  2. He places the Distribution object in the appropriate application distribution channel.

  3. He goes home early.

The Application object will be automatically copied to all 20 containers, and all the .FIL files will be copied to the 20 servers, too. Even better, the newly copied applications are also automatically associated with the same Group object at each location.

ZENworks for Servers' niceties don't stop there: When Steve alters the source Application object, all the now-linked Application objects are automatically updated on the next scheduled cycle.

How much time did Steve take to complete these tasks? With ZENworks for Desktops alone, Steve would have spent approximately four hours--if he was quick and didn't make any mistakes. Of course, that's a whole lot quicker than working without ZENworks for Desktops. With ZENworks for Servers, however, Steve spent a little over eight minutes.


Now Steve has a rather severe problem: He needs to complete a task he was given a couple of days ago. He's been putting off this task because he knows it will take an enormous amount of time and energy to complete it properly. (As you read this section, you may get a headache just thinking about solving this problem.)

Not surprisingly, Microsoft Word 98 is deployed at nearly every site on every tree. Unfortunately, a new security patch must be applied to every occurrence of the MS-Word-98 Application object. Steve's first thought is to merge the required changes into the existing MS-Word-98 Application object in Tree 1 and let ZENworks for Servers deploy the changes to the other containers.

However, that solution would work only on Tree 1. Not only must Steve deploy the patch to the other trees, but he also has another problem: Because the MS-Word-98 object is used by several networks and several types of PCs, the Application object's macro values differ between containers.

For example, at a couple of sites in Tree 4, the PC hard drives are partitioned. (Partitioning seemed like a good idea to Steve's predecessor.) As a result, the Program Files directory is on the D: drive, rather than on the C: drive. The DESTINATION_PATH macro must be changed from C:\Program Files\MSOffice . . . to D:\Program Files\MSOffice. . . .

Also, because of a few hard-coded in-house applications and no small amount of politics, the working directories are sometimes mapped to the K: drive and sometimes mapped to the M: drive. Steve will have to change the drive letter in the DOCUMENTS and WORKGROUP_TEMPLATES macros.

Steve takes an aspirin while he considers a couple of other issues: He can't rely on the ZENworks for Servers Maintain Associations feature because although the MS-Word-98 object is consistently located in the ZEN subcontainer at each site, it's usually associated with its grandparent container. For example, the Application object MS-Word-98.ZEN.LA.CA.Company is associated with all users in LA.CA.Company.

Other sites associate the application with Group objects in the grandparent container, rather than with the grandparent container itself. Using the Maintain Associations feature would remove the "uniqueness" of each site's configuration.

After rolling out the new Application object (called the MS-Word-98-p3 object), Steve has to remove all associations from the old Application object. Otherwise, users will receive two MS-Word icons.

On top of these problems, Steve has to deploy MS-Word-98-p3 across four disparate trees that have different versions of ZENworks for Desktops and ZENworks for Servers.

Finally, the Application Folder object at each site is configured differently to accommodate the manner in which the employees at various sites like to work. The MS-Word-98 Application object may or may not appear in the same folder at each site in each tree.

Okay, take a deep breath, and let's see how much work Steve has to do.


After Steve creates the MS-Word-98-p3 Application object on his test tree, he launches ZENith and performs the following steps:

  1. He selects Upgrade View. This view provides an interface for Steve to "search & replace" applications.

  2. Steve browses to his Test Lab tree and selects the application to be replaced. (He right-clicks the application and selects Upgrade | From this AO.)

  3. He then selects the new application. (He right-clicks the application and selects Upgrade | To this AO.)

  4. In the Options panel, Steve clicks Process Relative Macros. This option ensures that Steve's macros will automatically reconfigure themselves, depending on which site the application is deployed to.

  5. He selects Move Associations. With this option selected, ZENith examines the existing MS-Word-98 object in each site and performs a "cut & paste" of the associations into the new MS-Word-98-p3 object. ZENith will even move individual User object associations if they exist.

  6. Steve selects Copy Linked Folder Associations. With this option selected, ZENith will copy the Linked Folder configuration from the existing MS-Word-98 object to the new MS-Word-98-p3 object. ZENith will copy the Linked Folder configuration on a site-by-site basis, so it doesn't matter if the configuration is different between containers.

  7. In the ZENworks for Servers tab, Steve clicks Use ZFS to Copy .FIL Files. With this option selected, ZENith will dynamically configure ZENworks for Servers objects--including the Channel, Distribution, Distributor and Subscriber objects--to copy the .FIL files. ZENith knows the difference between ZENworks for Servers 2 and ZENworks for Servers 3 and will configure each tree independently of the other. (See Figure 1.)

    Figure 1

So far, Steve has made approximately 15 clicks in less than one minute of time. Unbelievable? Not really, when you consider that all of the above steps are performed on a single screen. You don't have to use wizards, and you do little browsing.

Now Steve needs to specify the containers in which the existing MS-Word-98 objects are stored. Traditionally, Steve might browse to each container individually, but ZENith is designed for minimal clicking:

  1. In the Tree Browse Window, Steve selects Tree 1.

  2. Steve Ctrl-clicks the Organization object to add it to the Selected Branches window.

  3. Steve repeats steps 1 and 2 for the other three trees.

  4. Steve clicks the [Search] button in the middle of the screen. ZENith browses the specified Organization objects and creates a list (in the Selected Destinations window) of every container that includes the MS-Word-98 object.

  5. The progress screen reports the status of the search and the amount of time the search ultimately takes. Steve clicks [Done] when he's ready to proceed.

The configuration is completed, and all 127 sites are listed. At this point, Steve has made around 25 clicks in approximately 90 seconds.

Now Steve can check or reconfigure his Relative Macros settings by clicking Macros in the Selected Destinations window. In this spreadsheet view, which is shown in Figure 2, Steve can define macro names with unique values for each site. Each column represents a macro, and each row represents a container object.

Figure 2

As shown in Figure 2, Steve has already created a macro for the IP address of each GroupWise server (which is the far-right column). Steve has entered the unique IP address of the GroupWise server in each container, so whenever he uses ZENith to deploy an Application object that contains a macro called GWSERV_IP, ZENith will automatically reconfigure the macro to the correct value, site by site.

In this case, no changes need to be made in the Relative Macros screen. Steve has to make just one more click before having morning tea: He clicks Upgrade.


While Steve does his happy dance (yes, Performing PC's does have a customer who recently reported that he literally does a "happy dance" each time he uses ZENith with ZENworks for Desktops), the ZEN Trio will perform the following at each container, entirely unassisted:

  1. Copy the MS-Word-98-p3 Application object.

  2. Copy the Linked Folder configuration from the MS-Word-98 object to the MS-Word-98-p3 object.

  3. Change the new application's macro values to reflect the uniqueness of each site.

  4. Copy all .FIL files to the local server.

  5. Confirm that the .FIL files are present before associating the new Application object with users.

  6. Copy the Associations from the MS-Word-98 object to the MS-Word-98-p3 object.

  7. Delete the Associations from the old MS-Word-98 object.

  8. Document (in the Administrator Notes field) who set up this upgrade, when the upgrade was performed, and the name of the old Application object.

  9. Document the old Application object to inform other network administrators that it has been superseded. (ZENith could just as easily delete the old Application object on-the-fly.)

  10. If required, pause for other network traffic.

  11. Retry processes that fail to complete (due to eDirectory delays or other issues).

  12. Document any remaining problems.


According to International Data Corp. (IDC), the ZENworks solution--the combination of ZENworks for Desktops and ZENworks for Servers--pays for itself in as little as three months because it simplifies management tasks and increases user productivity. (To read the complete IDC report, visit

By adding ZENith to ZENworks, you can simplify management tasks even more. You can automate management tasks while still preserving the uniqueness of each installation or site.

The three products complement each other to provide you with pain-free management of your desktop environment. For example, if you did not have ZENworks for Desktops, ZENworks for Servers, and ZENith to solve the nightmare problem outlined earlier in this article, you would probably require roughly 200 weeks to do the upgrade, if you used good scripting.

The bottom line is that using ZENworks for Desktops in the example environment decreases the costs and associated work by several orders of magnitude. Using ZENworks for Desktops and ZENworks for Servers introduces another significant decrease in administrative overhead. Adding Performing PC's ZENith to the mix enables companies to automate all of the tasks and work to deploy updates in even the most complex environments.

In the scenario described in this article, using the combination of ZENworks for Desktops, ZENworks for Servers, and ZENith decreases the administrative requirements to literally five minutes or less, followed by a few hours of fully automated processing.

For more information about ZENworks for Desktops, visit For more information about ZENworks for Servers, visit For more information about ZENith, visit

Edward Falzon is the founder and CEO of Performing PC's. He is also the creator and product manager for ZENith. He has consulted in the desktop-automation industry for 11 years.

Brad Anderson is the vice president of the ZENworks Management Services group at Novell. He was the first product manager of the ZENworks product line.

* Originally published in Novell Connection Magazine


The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates