IBM Server Configuration custom action

When the IBM Deployment Pack is installed, it creates new classes in WMI that describe the custom action assembly and its location. When Configuration Manager loads, it reads this information and adds new menu items for the assemblies you have installed. These new menu items appear in the location specified in WMI. New menu items can be in an existing group used by Configuration Manager or on the main part of the menu in the IBM Deployment Pack group.

The IBM® Deployment menu group has individual menu selections for supported deployment options.
Figure 1. IBM Deployment menu group
IBM Deployment menu group

Once you click a menu item, a new task sequence action is added. This custom action contains a standard set of user controls (such as textboxes, drop-down lists, tabs) driven by a configuration XML file that enables customization of the available features or actions for the IBM server.

Main page

The custom action page contains the name and description of the action and a tabbed interface for the control.

The following graphic shows two sets of tabs:
Figure 2. Main page of custom action
Main page of custom action

The tabs on the top of the form switch between the main part of the form and the Options (or Conditions) page. The Conditions page holds the controls for disabling the action and for establishing conditional tests for determining if the action should run in a task sequence.

The tabs in the middle of the page are specific to this custom action. Use these tabs to edit the different options available for the custom action.

Displays the name of the action, which is also what is displayed in the left-pane of the Task Sequence Editor. This textbox is set to a default name programmatically at runtime by the custom action, can be set programmatically to the action type when the selection changes, or is editable by you in you interface.
Displays a multi-line description of the task step. This text is entered to add descriptive details and is optional.
Custom action Help button
This button displays the help associated with the Task Sequence Editor. Currently, however, Configuration Manager 2007 does not allow Deployment Pack-specific help.

Action Settings tab

The Action Settings page contains the controls shown in the following graphic:
Figure 3. Action Settings page
Action Settings tab
Configuration action type
This drop-down list displays the available configuration actions for the IBM Deployment Pack. The list represents the types of major activities used by administrators to configure IBM servers, such as configuring the array controller, BIOS, remote service adapter card, or other functions.

When you first create a new task step, this control and the Action control are the only two visible, with the Action control disabled. Once you select a configuration action type from the list, the Action control is enabled.

This drop-down list displays the available options for the selected configuration action type, which is either Get, Set, or Both. With each configuration type, you can apply a configuration to the targeted machine (Set) or you can capture a configuration from a reference machine (Get) using a single task step. Some configuration types allow only one option, and in that case, only one is available to select.

Once you select an available action, additional controls become visible and enabled.

Configuration file / Command line parameters
Based on the type of action that you are performing, the command needed by the utility is either the name of a file or a command line parameter. Use this control to enter the appropriate information for the task. The information that is displayed and the options that are available follow these general rules:
  • If a configuration is being applied (Set) and:
    • If the utility requires a configuration file, the drop-down list contains a list of sample files that are included with the installation, in addition to any other files that you place in the same directory.
    • When you select one of the files, click View to display the text editor and the contents of the file.
    • If the utility requires a configuration file that is text or XML formatted, the list contains two options at the top:
      • If you select the Create configuration file option, click Create to display the text editor or Array Builder dialog. Use the dialog to create a configuration file from scratch.
      • If you select Import configuration file, click Import to display a file selector and select a file to import into the text editor or Array Builder.

        For more information about using the text editor, see Using the text editor.

        For more information about using the Array Builder, see Using the Array Builder interface.

    • If the utility requires a command line, the control is displayed as a text box for entering the appropriate command line.
  • If a configuration is being applied (Get), the control is displayed as a text box where you can enter either a file name for saving the captured information or an appropriate set of command line parameters for the command.
Selecting a Get action enables the Mapped Drive and Log File Path controls so that you can select the drive letter of a network share that has been mapped to a drive on the client machine and to an optional path within that mapped drive for the log file.
Use these additional command line parameters
Select this checkbox to enable the Additional Command Line control. Some configuration types might not allow or need additional command line parameters. In this case, the checkbox is not displayed.
Additional Command Line
Sample command lines can be displayed based on the contents of the XML configuration file. If no value has been selected, a default value is displayed. No other controls are disabled. If a value is required, then an error icon is displayed until you enter a command or select an item from the dropdown.
Timeout checkbox
This checkbox controls the use of the timeout value control. If checked, the timeout value control is enabled.
Timeout value
This control contains an integer value (limited to between 5 and 100) which specifies the number of minutes that the task sequence engine waits for the task step to complete. If no status is returned before that time, the step fails. This is a standard control on all task sequence steps.

Variable Replacement tab

The Variable Replacement page contains all the settings related to the use and replacement of variables within the task. Variables can take several forms:
  • System variables
  • Task sequence variables
  • Machine variables
  • Collection variables
Figure 4. Variable Replacement tab
Variable Replacement tab
Action to take when a variable is uninitialized or the value is null or blank
Use a null/blank value
In cases where you wish a variable that is not initialized or has a blank value to remain blank, you would select this option. This causes the processing of the task on the client side to continue if any variable is undefined or blank.
Fail the task
In some instances, if variables are intended to be replaced but are not found within the environment, the action would be left in an unusable or misconfigured state. If an environment variable is not set or is set to null, an invalid value is returned.

When this checkbox is checked, any failure to retrieve a valid variable value will result in the action being marked as failed. This allows you to more easily see what is wrong with the action rather than trying to debug a failed command line or a misconfigured system.

Search all text input files for variables to replace
This setting enables the client-side script to search for variables that are specified in the command line or within specified files, to replace them with values found in the task sequence environment or in the Windows® system environment. If you do not specify any variables in the command line or in files, clearing this checkbox provides for greater performance of the action because the client-side script does not search for the variables in every file.
Replace %PASSWORD% variables with this password
In some instances, configuring a hardware component requires the use of a password. Rather than embedding the password in plain text within the XML or visible on the command line, you can utilize this option to store the password hidden from you and used within the action on the client as a task sequence variable. Checking this box enables the two password text boxes for confirming the password.
Manually define additional variables
In some instances, you might need to set additional variables on the system prior to a task running. This might be because the utility or script being run needs to have specific variables defined to direct it to a specific path, other utilities, or to define options for program execution. This data grid can define an unlimited number of additional variables for this task, which are set prior to the start of the command that runs the associated utility.

Each variable must have a name, but the value can remain empty to create a null variable. Each variable can be designated as a system, task sequence, or machine variable. To remove a variable, click X on the appropriate row.

A variable value can specify another variable.

Log / Return Files tab

The settings on the Log / Return Files page relate to files that are returned to the site system after the task runs, including either log files, captured configuration files, or both.

Retrieve the task sequence log file
When a task sequence runs, Configuration Manager tracks and logs command execution through the SMSTS.LOG file stored in the local path on the client, such as, for example, on the X: drive in WinPE. This log file contains valuable debugging information, yet when using WinPE, the log is lost at each reboot. This checkbox enables the SMSTS.LOG file to be sent back to a designated location, specified previously in a "Connect to Network Drive" action.

After the command executes, the client gathers the SMSTS.LOG file and pushes it back to the mapped network location specified in the Drive Letter drop-down list and the Path textbox. If the path does not exist, it is created before the log file is placed there. If a file name is specified in the path, the SMSTS.LOG file is saved as that file. If the file already exists, the file name is modified with an incremental value and then saved.

Enable extended / debug logging
By default, a limited amount of information regarding the task execution by the script is displayed in the SMSTS.LOG file. By enabling debug-level logging, a much greater amount of information is included in the log file, which might assist with troubleshooting a failure in the task sequence. This setting affects only the logging by the custom action script and not the logging by the task sequence client itself.

For information about logging debug information about the Admin UI components of the custom action, see the "Enabling user interface debug logging" step in Troubleshooting administrator console issues.

Network folder connection information
Use the following fields to connect to a network share.
Retain network folder settings checkbox
If you have an extensive task sequence with many custom actions, rather than require you to enter the same network path and login information in each task step, select this checkbox to copy the settings from a previous step that sets these network settings.

Network settings are not retained across a reboot. Selecting this checkbox copies settings from a prior task if there are no reboots between the steps. A reboot before this task causes an error message to display that lets you enter the network settings.

Stores the log file in a location other than the root directory of the mapped drive. If the directory does not exist, it is created if possible. If a file name is specified at the end of the path, the log file is saved as that file name. If the file name already exists, an incremental value is added to the name so that the file does not overwrite an existing file.
The domain and account name to be used to access the Path.
The password associated with the account name. This information is stored and transmitted in encrypted form.
Map a drive checkbox
This checkbox enables the drop-down list for mapping a drive. Although recommended, a mapped drive is not necessary for storing files on a network share. You could use a Universal Naming Convention (UNC) path, for example. A mapped drive is required for accessing CMD or BAT batch files.
Mapped drive
This drop down contains a list of drive letters that you can use as the drive to store the log file or the captured settings file from the Get action. This drive needs to already have been mapped using a "Connect to Network Folder" action prior to this task step.