Node Management

Nodes are used to help build up the structure of an Environment Manager configuration. They provide containers which house conditions and actions within triggers. By creating a hierarchy of nodes controlling the relationship between actions and the events which trigger those actions, a policy of computer usage is defined.

Nodes provide extra flow control to the configuration by forming the bridge between triggers and actions, allowing the dependency between trigger and action to be set.

In this section:

Configuring Nodes

Nodes are configured using the Nodes ribbon. The options are also available from the node shortcut menu and by using Keyboard Shortcuts.

Disable/Enable

When a node is disabled, it remains present in the configuration but is not passed to the Environment Manager agent at run-time. This is useful when troubleshooting to help discover errors in a configuration.

To disable a node, condition or action, click Disable from the Edit tab, the shortcut menu or press Ctrl+T.

A banner displays at the top of the work area when a node is disabled. The node icon is faded and associated conditions and actions are displayed in gray, italic text.

Disabled Node

To enable a node, condition or action, click Enable from the Edit tab, the shortcut menu or press Ctrl+T. A node can also be enabled by clicking the link in the yellow banner at the top of the work area.

When a node is disabled or enabled, any child nodes, actions and conditions, automatically match the state of the parent.

Individual actions and conditions can be enabled and disabled using the same ribbon button, shortcut menu option and keys.

Node Descriptions

In large environments, where multiple administrators need to view and edit configurations, node descriptions provide a versatile method of adding free-text annotations. The feature is useful for documenting configuration changes and describing node behavior.

Video:Node Descriptions

Watch a related video

There are three types of node descriptions:

  • Descriptions - Click the text to add further information to a node, which can be viewed at a glance.
  • Comments - Highlight a node, action or condition in the Action tab of a node and select Comment from the shortcut menu.
  • Notes - Select the Node tab of a node to add more comprehensive text descriptions.

Node Scheduling

Schedule Environment Manager policy actions to occur at specified times and frequencies. This allows tasks to run without specific triggers being met and at regular intervals so policies can be reapplied. The actions in a scheduled node are added as a task in Windows Task Scheduler, run at a time and frequency specified in the node. Using node scheduling, tasks that are deployed with Group Policy Objects can be managed by Environment Manager.

Video:Node Scheduling

Watch a related video

This feature can be used on the following triggers:

  • Computer > Startup
  • User Logon > Pre-Desktop
  • User Logon > Desktop Created

Select the Schedule tab in a node under a compatible trigger and select Create as a scheduled task to configure the schedule. To run the node's tasks when the trigger fires, select Execute the node and all sub nodes immediately - otherwise the tasks will run only when scheduled and not when the trigger is fired.

Option Description
Schedule name The name that appears in the Windows Task Scheduler. Use a description of the node functionality to make it easy to identify tasks.
Schedule type

The schedule type is used in conjunction with the schedule date to define when the task will occur. Select one of the following:

  • One time - The task will run at the scheduled start date and time.
  • Daily - The task will run daily, from the start date and time and at the specified recurrence interval. For example, if Recur is set to 1, the task will occur daily - if set to 2, the task will run every other day at the scheduled time.
  • Weekly - The task will run on the selected days of the week from the start date and time and at the specified recurrence interval. For example, if Recur set to 1, the task will run on the selected days every week - if set to 2 the task will run on those days every other week.
  • Monthly - The task will run from the start date on the selected days each month. You can specify the dates for the selected months or schedule the task to run on particular days. For example, the first Monday of each selected month.
Schedule date Select the date and time from which the schedule will start.

Recur

Select the recurrence interval for daily and weekly schedules.

Repeat task Select the interval between task repeats and for how long the task will repeat. The task will run on the start date and repeat at the set time interval for the specified duration.
Delay task Select how long to delay the task from running after the task is triggered. The delay time will be a random time between the time the task is triggered and the specified delay time. For example, if the task is scheduled to run at 3.00 AM with a delay time of 10 minutes, the task will start between 3.00 and 3.10 AM.

Windows Task Scheduler Default Values

Creating tasks in Windows Task Scheduler with Environment Manager is subject to the following registry keys that can limit the number of queued and concurrent tasks:

  • TasksInMemoryQueue [Default = 75, Max = 1000]
  • TasksPerLeastPrivEngine [Default = 50, Max = 1000]

For further information see Microsoft article 269472.

Add New Node to a Configuration or Process Trigger

Arrange Nodes

The order in which the nodes are displayed in the Policy Configuration navigation tree determines the level of dependency. If all the nodes are at the same level in the hierarchy then their configured contents are executed in parallel. However, if the nodes are at different levels in the hierarchy, a dependency on the node above is created and actions are executed in sequence.

Node Dependencies

In the example above, Nodes 1, 3 and 7 will execute simultaneously. Node 2 and Nodes 4 and 5, will only execute once Nodes 1 and 3 respectively, are complete. Likewise, Node 6 will only execute once Node 5 is complete.

To arrange nodes, highlight and use one of the following methods:

  • Press Ctrl and the appropriate arrow key.
  • Drag and drop.
  • Click the arrow buttons on the Nodes ribbon.
  • Right-click to display the context menu and select Move Left, Move Right, Move Up, or Move Down.
  • Click Cut, Copy and Paste from the Edit ribbon or use the corresponding shortcut menu options or keyboard shortcut.

Node Timeout

All nodes have a default timeout setting of 30 seconds. Child nodes will start automatically after the 30 second timeout, regardless of whether the actions within the parent node are complete or not. The default timeout can be amended by editing the appropriate key in the registry on an endpoint-to-endpoint basis. Alternatively, it can be amended for the whole configuration via the Advanced Settings.

The default timeout may be automatically overridden by any delay specified. This includes values from a delay action, or delay values specified within the action itself. It also includes timeout values on custom actions and conditions. The node timeout is modified when the total delay period for any action tree within the node exceeds the default node timeout period.

Note:
Creating a Delay action with a zero (0) second delay results in the node timeout to be set to indefinite. However, delayed actions (configured via the Action Management dialog) with a zero second delay (0) do not modify the node timeout value.

Any nodes which contain a Manage VHD action will automatically have a node timeout of indefinite. Any delays on these nodes run as intended but they do not modify the timeout period.

See also If conditions.

Start/Stop Optimizations

Process Start/Stop Node Optimization

To increase efficiency, a new method of handling triggers has been implemented from 2023.1. This process is specific for Start/Stop nodes because of the increase in complexity inherent in the original method. Functionality is unchanged but the compexity is decreased, creating a performance gain where many process start or process stop nodes exist. EmMon logs will show the new process in the formo f double checking of process conditions: any checks by the initial thread are marked ‘[Precheck]’ in the node column of the various views. The Endpoint Analysis Tool does not show any prechecks and works as before.

Parent Process Only Option

If this is set, a condition so flagged only succeeds if its parent process does not have the same executable. This flag handles applications such as Microsoft Edge and Google Chrome, where the executable spawns child copies of itself to handle separate operations (e.g. separate browser tabs). If this flag is not set, actions below the condition may run multiple times, which is the legacy behavior).

Stop Sub Nodes on Fail

When applied, the Stop sub nodes on fail setting prevents any dependent sub nodes executing if a condition is not met or an action fails to run to completion. The setting can be applied to any action or condition and is enabled for new conditions by default.

To apply, select a node and set the Stop sub nodes on fail checkbox for each action and condition as required.

Stop if sub node fails setting

You can see the Stop if sub nodes on fail status of each node in the navigation tree:

Stop if fails node overlays

Node Groups

The Node Group option creates a node to which multiple reusable nodes can be added that must run to a successful conclusion before any associated child nodes are run. Essentially, this means that child nodes can be dependent on multiple parent nodes. Without node groups the dependency can only be created between one parent and its child nodes.

Node group behavior is defined by the following rules:

  • Only reusable nodes can be used within a node group but child nodes can be any appropriate to the trigger.
  • Reusable nodes within a node group run in parallel.
  • If any of the reusable nodes within the group fail, the child nodes will not run

 

Clone

The Clone feature allows nodes, with or without their child nodes, to be copied, moved and used as reusable nodes.

Related Topics