As you are all probably aware, for many years we’ve suffered from challenges when attempting to image the latest and greatest desktop, laptop and now Windows 10 tablet hardware. The root of the problem lies in the fact that ZENworks has traditionally used a SUSE Linux based environment to perform ZENworks imaging tasks. The typical problem this causes is that when a vendor like Microsoft releases a shiny new piece of hardware, such as the Surface Pro 5, they typically build it to run Windows. This means that often when the machine ships, there are no Linux drivers for the hardware on the machine or that a kernel update might even be required for the drivers to work. This often takes time for the Linux community to turn around and then for us to inject into the latest imaging update.
With ZENworks 2017 Update 2, which is just about ready to begin limited production roll-out in our LightHouse customers’ environments this is about to change significantly. With ZENworks 2017 Update 2 you not only have the ability to create, restore and multicast ZENworks Image (.zmg) files from Linux; you also get the ability to do the same from a Windows PE environment. The great thing about this is the fact that if a machine runs Windows 10 today, it’s going to be able to be supported by Windows PE and drivers are going to be available. If they aren’t included in the Windows PE environment, there’s an easy way to injected them in so that you can immediately begin imaging them.
Those of you that have used ZENworks 11.3 and higher may have already checked-out the feature we called “Third-Party Imaging”. This allowed you to use a third party image creation solution such as Microsoft’s ImageX to create the image. In ZENworks 11.4 we added support for the new MDT actions that allow you to boot a Windows PE distribution through a preboot bundle to initiate an MDT task sequence. It’s important to note that with ZENworks 2017 Update 2 those capabilities are all still supported, and we’ve got some great MDT enhancements planned for Update 3. But since we’re still seeing a large percentage of our customer base using the ZMG imaging format, which has some great capabilities including add-on images, multicast image support, we’ve decided to leverage Windows PE to improve your ZMG image experience as well.
Let’s take a look at how this works.
Getting the Windows PE Environment for PXE Uploaded
Unlike the traditional ZENworks Imaging Environment, the Windows PE environment is not provided with ZENworks. Instead, the tools that ZENworks will include in the Windows PE environment are present, and the ZENworks Control Center Helper browser plugin can be used to inject the tools into Windows PE. In order to prepare for Windows PE imaging then you need to provide the Windows PE Environment to ZENworks. To do this download and install the Windows Automated Deployment Toolkit (ADK) from Microsoft’s website. Then go to ZCC and upload the Windows PE environment as described below:
- Run a Windows browser as Administrator.
- Log in as a zone administrator.
- Select Configuration > Device Management > Preboot Services
- Scroll down to Third Party Imaging Settings as shown below:
- Under 32-bit select the browse button next to Upload WinPE Base Distribution (Requires Windows AIK / Windows ADK)
- When you click OK the winpe.wim file will be mounted and the ZENworks imaging tools will be inserted into the WIM file and then the WIM file is uploaded to the server.
- If you have devices that you want to use the Windows 64-bit version of Windows PE to restore images on, repeat step 5 but upload the 64-bit version of Windows PE.
You have now completed the WinPE configuration and will be able to perform Windows PE based ZMG tasks. The WIM file you uploaded will be used by PXE clients when they boot and need to perform Windows PE imaging work.
Note: If you have previously uploaded a Windows PE distribution to support 3rd Party Imaging, you will need to upload the distribution again so that the new ZENworks imaging tools are inserted.
Hint: If you upload both a Windows 32 and a Windows 64 distribution, then by default machines that are 64-bit enabled will attempt to boot the Windows PE 64-bit environment. If you upload only the Windows 32 bit distribution it will be used by all devices.
Creating Windows PE Removable Boot Media
In ZENworks 2017 Update 2 you can also initiate Windows PE work from a bootable USB device or CD/DVD. To do this you need to download some files from the ZENworks server to the machine that is running the ADK and then run a command line to generate an ISO file. Once that ISO has been created you can burn the ISO to a CD/DVD or USB device. To create the Windows PE removable boot media:
- On the machine where you have the ADK and ZCC Helper installed copy the following directories from your ZENworks server to your local machine and make a note of the location you copy them to.
On Windows Server:
For amd64: %ZENWORKS_HOME%\share\tomcat\webapps\zenworks\ext\3PIUtils\x86_64
and x86: %ZENWORKS_HOME%\share\tomcat\webapps\zenworks\ext\3PIUtils
On Linux Server:
For amd64: /opt/novell/zenworks/share/tomcat/webapps/zenworks/ext/3PIUtils/
x86_64 and x86: /opt/novell/zenworks/share/tomcat/webapps/zenworks/ext/3PIUtils
- If you want the boot disk to start in Automatic Imaging mode then modify the zensettings.ini in the folder to include PROXYADDR=<IP or DNS of the server to check for work from>
- Open a command prompt as a local administrator.
- Change directory to %AppData%\Novell\ZENworks\ZCCHelper\bin.
- Run wimprocessor.exe makeiso proessor_architecture [zenworks_folder]. Where processor_architecture is either amd64 or x86 and zenworks_folder is the folder containing the 32-bit or 64-bit ZENworks tools.
- This will create an ISO folder and create the ISO in it.
- Once created you can use the built-in Windows burner to burn a CD or DVD or you can use a tool like the Windows 7 USB/DVD tool to create a USB disk from the ISO.
You should now be able to boot your Windows device from the Windows PE environment. If you booted an Automatic ISO then it will check for work and if it finds it then it will deploy the image, create the image or perform the multicast work. If you booted to Manual ISO then it will take you to the zenworktodo.exe and if you want to do manual work you can close zenworktodo.exe and perform tasks from the command line.
Performing Manual Imaging Tasks
When we set out to make ZENworks imaging work in Windows PE we tried to keep the syntax as close as possible to what our Linux-based imaging customers were used to. As such the executable that performs imaging operations is “img.exe”. This means that if you have been using ZENworks imaging you should be relatively familiar with the rest of the commands. These include:
- Take an image and store the file locally or to a network path on a CIFS/Windows share – img -ml <path and file name>
- Take an image and write the file to a ZENworks imaging server – img -mp <proxy> <path in content repo images folder and file>
- Restore an image from a local path or from a CIFS/Windows share – img -rl <path and filename>
- Restore an image from a ZENworks imaging server – imp –rp <proxy> <path and filename>
- Manage local partition table – img p<operation>
You can review the documentation or the online help for more details. But you should find that all of the key capabilities you are used to are available, including advanced capabilities such as partition mapping and multicast.
Important: It is not possible for the img.exe in the Windows PE environment to restore images created with the Linux version. You can easily convert the images to the updated format by restoring the Linux created image to a machine, and then booting to the Windows PE environment and taking the image without booting the machine to the restored image.
Performing Automating Image Work from Windows PE
If you want to use Windows PE to deploy automated imaging tasks you just need to make sure that in the imaging task you are performing that you choose to perform the operation in the Windows PE environment. This option now exists in the Take an Image action, the ZENworks Image action, and the Multicast Image Action as shown below:
Deploying Scripted Image Work from Windows PE
A large number of our customers today have built customer imaging processes using image scripting. The biggest difference between the current ZENworks image scripting and the new Windows PE based image scripting is that Windows PE scripting must use a Windows scripting language like the Windows Scripting Host, HTML Application (HTA), or Microsoft PowerShell. This means that you will need to re-engineer your process to use the Windows PE imaging commands and the Windows scripting language. For this reason, we expect to maintain both the Windows and Linux environment for the next few releases to allow you to move your process.
To execute scripts in the Windows PE environment from a bundle, be sure to use the Third-Party Script action in the bundle as this will cause the Windows PE environment to be booted, the script to be downloaded and executed in the Windows PE environment.
A Word about Image Safe Data
A ZENworks solution for imaging Windows PE would be incomplete without the ability to see and modify Image Safe Data. With ZENworks 2017 Update 2 the ‘zisview’ and ‘zisedit’ commands you are familiar with have been ported. You can use the -help command to view the available capabilities, but you will find the ability to do things such as see the hardware that was detected at boot so that it can be used in scripts, update values stored in image safe data, and reset the just restored flag.
ZENworks 2017 Update 2 should help solve the pesky problems that we’ve faced with drivers one and for all. In fact, the WIMProcessor.exe can be used with a single command to inject any Windows 10 driver into the WIM file so that you can easily add disk or network drivers if you find yourself with a machine that Windows PE doesn’t support out of the box. In the first release, you should find all of the functionality you need, accessible from a command line. In the future, we will expose a Windows PE GUI that can be used to perform these tasks manually. In the meantime, you could actually expose your own custom menus through HTA applications if needed. I hope you find the new imaging experience a great addition to ZENworks Configuration Management.