The Bundles Settings page lets you manage the variables that are available for use on bundles.
The Inherited Variables panel displays all system variables that are inherited from the ZENworks Management Zone or parent folders. You cannot delete or modify inherited variables. However, if you add the same system variable, but give it a different value, the new variable value overrides the inherited variable value.
When specifying the variable in a field, use the following syntax:
${VAR_NAME}
Replace VAR_NAME with the name of the variable.
The System Variables panel lets you define variables that can be used to replace paths, names, and so forth as you enter information. For more information on the system variables supported in ZENworks Configuration Management, see Using System Variables
and Using Special System Variables
in the ZENworks Control Center Reference.
You can define system variables at three levels:
Management Zone: The system variables are inherited by the following: device folders, devices, and bundles.
Device Folder: The system variables are inherited by all devices contained within the folder or its subfolders.
Device or Bundle: The system variables apply only to the device or bundle for which they are configured.
NOTE: Certain user-specific variables should not be used if no user has logged in to the device. Example: For device-associated bundles, user-specific variables such as Cookies,Desktop,Favorites,Fonts,NetHood,History,Personal,Programs,Recent,SendTo,StartMenu,StartUp,TempDir,Templates,WinDesktop,AdminTools,MyPictures,and PrintHood should not be used when no user has logged in. If these variables are used, they will not be resolved.
The following table lists the tasks you can perform to manage the system variables:
Task |
Steps |
Additional Details |
---|---|---|
Add a variable |
|
When configuring system variables for an object, you can override an inherited variable by defining a new variable with the same name but a different value. For example, if Var1=c:\ is inherited, you can override it by defining Var1=d:\. Variable names cannot include spaces and must be unique at the level where they are defined. For example, you cannot have two variables named Var1 defined at the device level (unless one is inherited, in which case the device level variable overrides the inherited variable). Variable values cannot include the characters & and <. |
Remove a variable |
|
|
Edit a variable |
|
Variable names cannot include spaces and must be unique at the level where they are defined. For example, you cannot have two variables named Var1 defined at the device level (unless one is inherited, in which case the device level variable overrides the inherited variable). Variable values cannot include the characters & and <. |
Use a variable |
|
|
NOTE:The ${ZENUSER} system variable maps to the user logged into the graphical session on the Linux or Macintosh device. For example, if user 'bob' is logged into the display:0 of a Linux device, then any bundle that references the ${ZENUSER} variable resolves to 'bob'. There are various applications to do this. For example, the ${ZENUSER} variable can be used to install Desktop icons in the home directory of the logged-in user by setting the path of the icon file to /home/${ZENUSER}/Desktop/. The ${ZENUSER} variable is applicable for only Linux and Macintosh bundles, not for Windows bundles. A system variable could also be used to set the permission of a installed file to the logged-in user.
The following are some best practices that you could consider while using system variables:
Name the variable that identifies the target catalogue for an installed program as TARGET_PATH.
Name a catalogue in which an installation file will be executed as, INSTALL_PATH.
If you need to distinguish between 32-bit and 64-bit versions of variables, you can add a suffix to the 32-bit variable so that it becomes TARGET_PATH_x86 and you can keep a shorter name for the 64-bit variable without adding the 64 or x64 suffix to the end of it. In this manner, you won’t have to remember whether you should use 64 or x64, and you won’t forget to add the x86 suffix to the 32-bit variable.