3.2.1.1 Command Execution Subsystem

The command execution subsystem of the client computer maintains the following state:

  • Two executable groups. Each group has Executable Lists, one per Execution Context.

  • Executable Group Order.

  • Default Executable Group Order.

The Executable Groups and Executable Group Order can be updated by the client plug-in.

The command execution subsystem invokes the updated list of executable programs at the appropriate time (logon, logoff, startup, shutdown) in the right order (as specified by Executable Order):

Executable Group: There are two groups: the Scripts Executable group and the PSScripts Executable group. Each group contains Executable Lists, one per Execution Context.

Executable List: Each list contains Execution Context and a list of Executable Items.

Execution Context: Indicates when the Executable Items inside Executable List are to be invoked.

 Value

 Meaning

Log on

Executable List to be invoked when a user logs on. In computer policy mode, this list is to be ignored.

Log off

Executable List to be invoked when a user logs off. In computer policy mode, this list is to be ignored.

Start up

Executable List to be invoked at computer startup. In user policy mode, this list is to be ignored.

Shut down

Executable List to be invoked at computer shutdown. In user policy mode, this list is to be ignored.

Executable Item:

Executable Order: The order in which an Executable Item is to be executed inside an Executable List.

Executable Path: A file system path to a file that can be accessed and executed.

Executable Parameters: A string containing space-separated parameters to be passed to the executable program when it is executed.

Executable Group Order: The order in which the scripts in the two groups are to be executed. PSFirst indicates the PSScripts group executes before the Scripts group, PSLast indicates the PSScripts group executes after the Scripts group.

Default Executable Group Order: The Executable Group Order for scripts when it is not otherwise specified.<5>

There are three abstract interfaces for this component, which are defined in the subsections that follow.