Issue
ZENworks Third-party imaging (3PI) allows a WinPE Imaging Script bundle type to be used to perform assigned imaging work to a device. With Imaging Toolkit 12.0.2, a WinPE Imaging Script bundle can be automatically retrieved by ZimLoader and executed. This TID details how to use automated ZENworks imaging with ENGL WinPE.
Requirements
- Imaging Toolkit 12.0.2 (or later)
NOTE: Functionality introduced in Imaging Toolkit 12.0.2 is required for procedures in this TID. - ZENworks Third-Party imaging
NOTE: ZENworks Third-Party imaging is only required to enable the WinPE Imaging Script bundle and to configure imaging work. ENGL WinPE will be used for the deployment process. - ENGL WinPE imaging is configured and working
- Updated zim.cfg that does not require any user input
Solution
- Configure ZENworks Third-Party imaging to enable the use of the WinPE Imaging Script bundle type.
- Configure zim.cfg to perform automated imaging tasks when WinPE is in automatic mode.
Procedure
Configure ZENworks Third-Party imaging (ZCM 2020 only)
- Within ZENworks Control Center navigate to Configuration > Device Management > Preboot Services
- Expand the Third Party Imaging Settings section and upload the WinPE Base Distribution and ImageX files for both 32-bit (see note below) and 64 bit platforms.
- Ensure the Status shows as Available for the platforms you have uploaded.
NOTE: See the help for Third Party Imaging Settings in ZCC for the location of the files in the Windows ADK/WinPE installation folder. Later versions of the Windows ADK / WinPE add-on may not include 32-bit support.
Enable WinPE Imaging Script bundles (ZCM 23.3 or above)
- Within ZENworks Control Center navigate to Configuration > Device Management > System Variables
- Add a new variable named SKIP_WINPE with the value true, then click OK
- At the System Variables page, click OK to apply the changes.
Create a WinPE Imaging Script bundle
- Using ZENworks Control Center navigate to the Bundles page.
- Select New > Bundle.
- At the Select bundle type page select Preboot Bundle.
- At the Select bundle category page select WinPE Imaging Script.
- At the Define details page enter a bundle name.
- At the WinPE Imaging Script page, select Script Type of Batch, then enter the following Script Text.
REM Project description must exist in projects.ini.
SET PROJECT=WIN11-22H2-ENT - Save and Publish the bundle.
Update zimpeget.cmd to run the WinPE Imaging Script
- Locate the "Enable Windows Firewall" section and add the lines in green below it as follows.
REM Enable Windows Firewall
wpeutil.exe EnableFirewall
REM Run WinPE Scripted Imaging bundle script to set PROJECT variable
if exist \zimbin\tpi.bat call \zimbin\tpi.bat
- Locate the "Enable Windows Firewall" section and add the lines in green below it as follows.
Update zim.cfg for automatic mode
- Locate the "Read ZISD" section and add the lines in green below it as follows.
; Read ZISD:VendorDataENGL
ZISD:Get,VendorDataENGL,VendorDataENGLSTRING
; Read ZISD and check if PE session is in Automatic mode
ZISD:Get,WinPEMode,imaging_mode - The imaging_mode variable can then be used to skip sections of the zim.cfg that display menus or prompt for information. Locate the "Menu definitions" section and insert the lines in green above it as follows:
If:Var,imaging_mode,EQ,"auto"
; "auto" imaging mode detected
; Skip menus and go straight to image restore section.
Goto:Restore_Ztoolkit_Begin
End:
; ------------------------------------------------------
; Menu Definitions
; ------------------------------------------------------ - Locate the "launch a form to select project to build" section and modify as follows to skip the project selection form:
If:Var,imaging_mode,EQ,"auto"
; "auto" imaging mode detected.If:Var,Project,NE,""
Set:Lookup_Project,"%Project%"
Else:
; Set Lookup_Project to project information stored in ZISD
Set:Lookup_Project,"%Zisd_Project%"End:
Else:
; Launch a Form to select Project to build
Form:Start,"Project","Project selection","_OkCancel^_Ok",Blue
Form:Item,"Item1",Label,"Select Project :"
Form:Item,"Item2",ListBox_File,"%Zisd_Project%","%_ZimDir%projects.ini",
"projects","=",2
Form:Display,"Project"If:Var,_Form,EQ,"_Cancel"
Menu:Return
End:
Set:Lookup_Project,"%_Project_Item2%"
End: - Locate the "launch a form to display detected hardware" section and modify as follows to skip the hardware detected form and computer name logic, and to force the machine to restart:
If:Var,imaging_mode,EQ,"auto"
; "auto" imaging mode detected.
; Skip Hardware Detected form.
Set:AutoRestart,"Yes"
Else:
; Launch a Form to display detected hardware and select machine typeForm:Start,"Info","Hardware Detected","_OkCancel^_Ok",Blue
Form:Item,"Item1",Label,"Manufacturer"
Form:Item,"Item2",EditBox,"%Lookup_Section%",ReadOnly Form:Item,"Item3",Label,"Model"
Form:Item,"Item4",EditBox,"%Lookup_Value%",ReadOnly Form:Item,"Item5",Label,
Hardware Image" Form:Item,"Item6",EditBox,"%Drivers_Image%",ReadOnly
Form:Item,"Item7",Label,"Hardware Type"
Form:Item,"Item8",EditBox,"%Machine_Type%",ReadOnly Form:Item,"Item9",Label,"OS"
Form:Item,"Item10",EditBox,"%Project_OS%",ReadOnly Form:Item,"Item11",Label,
Computer Name" Form:Item,"Item12",EditBox,"%Ask_COMPUTERNAME%"
Form:Item,"Item13",Label,"Auto Restart after imaging"
Form:Item,"Item14",RadioButtons,"Yes","Yes,No"
Form:Display,"Info"
If:Var,_Form,EQ,"_Cancel"
Menu:Return
End:
Set:Ask_COMPUTERNAME,"%_Info_item12%"
Set:AutoRestart,"%_Info_item14%"
If:Var,Ask_COMPUTERNAME,EQ,""
Dialog:Ask,"","You must specify a Computer Name.","_Ok",Red
Goto:Ztoolkit_ComputerName
Else:
Set:ComputerNameLength,Len(%Ask_COMPUTERNAME%)
If:Var,ComputerNameLength,GT,"15"
Dialog:ask,"Error","You must specify a Computer Name less than 16
characters","_ok",Red
Goto:Ztoolkit_ComputerName_Form
End:
End:
If:Var,Ask_COMPUTERNAME,CONTAINS," "
Dialog:Ask,"","The Computer Name must not contain a space.","_Ok",Red
Goto:Ztoolkit_ComputerName_Form
End:
If:Var,Ask_COMPUTERNAME,NE,"%COMPUTERNAME%"
Set:COMPUTERNAME,"%Ask_COMPUTERNAME%"
End:
Dialog:Ask,"","Warning! All hard disk data on this machine will be erased.\n\
n
Continue?","_YesNo^_Yes",Red
If:Var,_Ask,EQ,"_No"
Menu:Return
End:
End:
- Locate the "Read ZISD" section and add the lines in green below it as follows.
Assign the bundle to a device
- Within ZENworks Control Center assign the scripted imaging bundle to a registered device.
- Select the device and from the Action menu select Apply Assigned Imaging Bundle.
Test automated deployment
- Boot up the machine with the scripted imaging bundle assigned.
- The workstation should automatically PXE boot and start the deployment process.
If you have any problems or questions about the steps in this TID please contact the ENGL support team