ENGL Build Process integration (Configuring multiple Installer users)

Imaging Toolkit's build process provides an integration with ZENworks Configuration Management to install selected Windows Bundles during ENGL's Build Process:

What's used here is a pre-configured 'ENGL Installer user' and an '_Installer' Windows Bundle to which bundles can be assigned to. This user is then used to login with during ENGL's Build Process in order to install applications you want to be installed by default after the build process has been finished.

Bundle Commander provides the ability to create the default ENGL 'Bundle Folder' and _Installer user, similar to what the ENGL's Integration Wizard does. It also provides the option to create different _Installer bundles for the ENGL Build process:

These can then be assigned to a selected Installer user:

By extending both ZIM (ENGL's Secure Imaging Front-end menu system) as well as configuring a variable ENGL build process Installer user, the ZENworks administrator can select which 'Installer' user is used for the Imaging Build process:

In this example zim.cfg has been extended with:

; Launch a Form to display detected hardware and select machine type
Form:Start,"Info","Hardware Detected","_OkCancel^_Ok",Blue
Form:Item,"Item1",StaticText,"-Manufacturer     :  %lookup_section%"
Form:Item,"Item2",StaticText,"-Model            :  %lookup_value%"
Form:Item,"Item3",StaticText,"-Hardware Image   :  %drivers_image%"
Form:Item,"Item4",StaticText,"-Hardware Type    :  %machine_type%"
Form:Item,"Item5",StaticText,"-OS               :  %project_os%"
Form:Item,"Item6",Label,"Computer Name    :"
Form:Item,"Item7",EditBox,"%COMPUTERNAME%"
Form:Item,"Item8",Label,"Auto Restart after imaging:"
Form:Item,"Item9",Radiobuttons,"Yes","Yes,No"
Form:Item,"Item10",Label,"Install user:"
Form:Item,"Item11",ListBox_File,"Ztoolkit-installer","/zimbin/installusers.ini","Users","=",2
Form:Item,"Item12",Label,"Addon:"
Form:Item,"Item13",ListBox_File,"Ztoolkit-addons","/zimbin/addons.ini","Addons","=",2

<>

Set:install_user,%_Info_item11%

<>

; Update VendorDataENGL
Set:VendorDataENGLSTRING,PutKeyPairStringValue("%VendorDataENGLSTRING%","Machine_Type","%machine_type%")
Set:VendorDataENGLSTRING,PutKeyPairStringValue("%VendorDataENGLSTRING%","OS","%project_os%")
Set:VendorDataENGLSTRING,PutKeyPairStringValue("%VendorDataENGLSTRING%","Project","%lookup_project%")
Set:VendorDataENGLSTRING,PutKeyPairStringValue("%VendorDataENGLSTRING%","InstallUser","%install_user%")

ZISD:Put,VendorDataENGL,"%VendorDataENGLSTRING%"
Zisd:Write

<>

Zim uses a installusers.ini in tftp\zimfiles which looks like:

[Users]
User1=This email address is being protected from spambots. You need JavaScript enabled to view it.
User2=This email address is being protected from spambots. You need JavaScript enabled to view it.
User3=This email address is being protected from spambots. You need JavaScript enabled to view it.
User4=Installer@This email address is being protected from spambots. You need JavaScript enabled to view it.

... which is automatically copied in by modifying zimget.s:

<>

tftp $PROXYADDR << _END_ > /dev/null
verbose on
bin
get zimfiles/ldapsdk.tar $ZIMDIR/ldapsdk.tar
get zimfiles/zim.tgz /zimbin/zim.tgz
get zimfiles/engl.lic $ZIMDIR/engl.lic
get zimfiles/zim.cfg $ZIMDIR/zim.cfg
get zimfiles/images.ini $ZIMDIR/images.ini
get zimfiles/installusers.ini $ZIMDIR/installusers.ini
get zimfiles/projects.ini $ZIMDIR/projects.ini
get zimfiles/zimrun.s $ZIMDIR/zimrun.s
quit
_END_

 <>

Next step is to read the selected 'Installuser' from Zisd during the ENGL Build Process. This is what needs to be configured in e.g. phase0-before.vbs:

<>

' Read in ZISD:VendorDataENGL
VendorDataENGLSTRING  = ZENworks.GetZisdAttributeValue("VendorDataENGL")

' Separate strings and set as environment variables...
Ret = Utils.GetKeyPairStringValuesAsVariables(VendorDataENGLSTRING, "ENGL_")

' Get the install user
InstallUser = Utils.GetKeyPairStringValue(VendorDataENGLSTRING, "InstallUser")
status = Utils.SetSystemEnvironmentVariable("INSTALLUSER", InstallUser)

<>

In the ENGL project, the build process 'Username' should be set to '%ENGL_InstallUser%' instead of the default Installer user which is 'Installer'.

When you use AD, this needs to be configured under 'Windows, Active Directory / Workgroup, Active Directory, Username in your project.

When you use MDS eDirectory, this needs to be configured under 'Novell Client, Configuration, Logon, Username.                        


Author
Roel van Bueren
Date Created
2013-12-18 08:42:45
Date Updated
2013-12-18 09:04:32
Views
4016
Code
KB2013121801