OS deployment task sequences

Nomad can integrate with OSD strategies to maximize the efficiency of distributing large OS content across the network. It does this by providing a number of Task Sequence steps that can be integrated directly into your OSD Task Sequences.

Refer to Using Nomad with Operating System Deployment OSD for an example scenario about how Nomad can integrate with Operating System Deployment (OSD) strategies to maximize the efficiency of distributing large OS content across the network and how you can monitor those deployments using the Content Distribution app.

Big Bang have integrated Nomad into their Universal Imaging Utility (UIU) product to search for driver content on peers. Check out the 1E blog Taking the worries out of managing drivers during Windows 10 upgrades for a quick overview, take a look at https://www.bigbangllc.com/The-UIU or reach out to https://www.bigbangllc.com/Support for further information.

Nomad and OS deployments

The three areas where Nomad integrates with OSD are:

When Nomad AdminUI Extensions are upgraded from an older version to a newer version, you must ensure that the Nomad task sequence actions have correct values set including modified as well as default values.

OSD Enhancements

Nomad includes OSD enhancements that increase Nomad's integration with OSD task sequence. These enhancements drastically simplify the task sequence engineering process and the steps that are required to integrate Nomad with OSD.

Enhancement

Description

SMSTSNomad.exe

An executable that's part of the OSD tool-set, allowing Nomad to leverage the Configuration Manager SMSTSDownloadProgramoption and act as Alternate Content Provider during OSD. Refer to SMSTSNomad.exe.

Preserving Nomad logs

The Save Nomad CacheandRestore Nomad Cachetask sequence actions ensure that Nomad logs are preserved across all OSD phases. Refer to Preserving Nomad logs.

Nomad cache handling

The functionality of the Save Nomad Cache and Restore Nomad Cache task sequence actions reduces the risk of the copy/move content behavior leading to task sequence failures.

SMSTSNomad.exe

SMSTSNomad.exe supports the use of Configuration Manager's OSDDownloadContent.exe directly from a Run Command Line step in a Task Sequence, as well as the previously supported Download Package Content Native Configuration Manager Task Sequence Step. No additional configuration is required to make this work. NomadBranch.exe supports SMSTSNomad.exe.

Nomad leverages the Configuration Manager SMSTSDownloadProgram task sequence variable. When this variable is set to the path to an executable, the task sequence engine calls the executable whenever it has to download some content. For this to work effectively, Nomad uses SMSTSNomad.exe.

To avoid the overhead of having to manually set the SMSTSDownloadProgram variable to SMSTSNomad.exe in your task sequence, use the custom task sequence action Set Nomad as Download Program. The following are the content types that are supported by SMSTSNomad.exe:

  • Packages.

  • OS Images.

  • Boot Images.

  • Applications.

  • Driver packages.

  • Drivers (via Auto apply drivers TS action).

Preserving Nomad logs

Save Nomad Cache preserves the Nomad log files long with the contents of the Nomad cache. They are restored again after the OS has been deployed when Restore Nomad Cache runs. Save Nomad Cache also appends a time stamp to the name of the Nomad log files to prevent any possibility of name conflicts during the subsequent Restore Nomad Cache step.

For more detail about these Task Sequence steps, please refer to Save Nomad Cache and Restore Nomad Cache.

WinPE support

Nomad can be used in an OSD task sequence to find OSD packages required by WinPE that are located on pre-cached Nomad peers on the local subnet rather than downloading them from the nearest DP. Using Nomad in WinPE as part of an OSD bare metal task sequence has a number of distinct advantages:

  • Multiple connections are supported by Nomad caches maximizing the number of machines that can be built concurrently.

  • Multiple pre-cached locations can be supported (we recommended at least 2 per subnet to increase the number of simultaneous imaging jobs are supported).

  • Nomad in WinPE supports all the Nomad features, so elections, failover, and bandwidth efficiency are all on hand to maximize the resilience and performance of the imaging process.

These advantages become important when you plan a rapid OS refresh over a relatively short time. Nomad must be installed as part of a task sequence in order to support the use of pre-staged content from within WinPE and managed through custom task sequence actions. Refer to Install and Configure Nomad in WinPE.

Pre-caching content

Pre-caching packages used during OSD is important because:

  • Image packages, especially for Windows, tend to be several gigabytes in size and downloading these across the WAN as part of an OSD is undesirable and slow.

  • Bandwidth Protection is enforced if Nomad senses that the WAN link is getting congested with other network traffic, this ensures that any impact on the WAN during pre-caching is kept to a minimum.

  • Nomad in WinPE automatically locates local pre-cached content and uses these to avoid WAN traffic to ensurer that once the image package is on the branch there is no impact on the WAN and the time taken to retrieve the image is minimized because everything is local.

If there is no pre-cached content on the local branch and multicast is not enabled, we recommend you configure Nomad to use connectionless P2P using the P2PEnabled value. This is because WinPE does not have File and Print Sharing services, so Nomad machines cannot use their default P2P communications. Enabling connectionless P2P ensures that multiple WinPE Nomad machines only download their content once and then share it locally.

Nomad pre-caching is directly integrated with the Configuration Manager Console, is fully compliant and works with Role Based Access in Configuration Manager.

To start the pre-cache wizard, right-click any of the following types of content in the Configuration Manger console and from the context menu, choose Pre-cache content using Nomad.

  • Applications.

  • Packages.

  • Driver packages.

  • Operating system images.

  • Operating system upgrade packages.

  • Boot images.

  • Task sequences.

Refer to Nomad Pre-caching for more information about using the Nomad pre-cache wizard.

Performing this step will update the Nomad settings for the OS image properties as well. This will affect the use of Nomad in every location this image is referenced.

Adding binaries to an existing boot image

The NBCacheActions.exe, NomadPackageLocator.exe, TSEnv2.exe, NomadBranch.exe, SMSNomad.exe and SnoItfPS.dll files are placed in the Microsoft Configuration Manager installation folder by NomadBranchTools.msi, they copy the 32-bit tools to OSD\bin\i386 and the 64-bit tools to OSD\bin\x64 and then modify the osdinjection.xml file to include these in the WinPE boot images when DPs are updated.

On Configuration Manager, the NomadBranchTools.msi installer must be used.

Custom task sequence steps

Nomad has a number of custom task sequence steps that can be integrated with Configuration Manager Task Sequences. These custom task sequences are located in the Task Sequence editor.

When Nomad AdminUI Extensions are upgraded from an older version to a newer version, you must ensure that the Nomad task sequence actions have correct values set including modified as well as default values.

To add a Nomad custom task sequence step:

  1. Navigate to Software Library → Overview→ Operating Systems→ Task Sequences.

  2. You can create a new Task Sequence or edit an existing one, which opens the Task Sequence Editor.

  3. For an existing Task Sequence, click on an existing step, to create a group or step above it.

  4. In the Task Sequence editor menu, click Add.

  5. This opens a menu showing a range of different Task Sequence sets.

  6. Click on one of the sets and select a Nomad Task Sequence step - the names of sets and steps are shown in the image.

1E Nomad task sequence actions

  • Set Nomad as Download Program — Sets SMSTSNomad.exe as the download program during a task sequence. This is accomplished by setting the SMSTSDownloadProgram task sequence variable to SMSTSNomad.exe.

  • Create Nomad Application Policy — Creates a Nomad application policy and is used in a task sequence during the provisioning phase prior to any applications being installed. It uses the NomadPackageLocator.exe command-line switches tool to enable Nomad to be used as an Alternative Download Provider during provisioning. When the application policy is no longer required it can be removed using the Delete Nomad Application Policy action.

  • Delete Nomad Application Policy — Deletes a Nomad application policy previously created using the Create Nomad Application Policy action. It uses the NomadPackageLocator.exe command-line switches tool to remove the previously created Nomad application policy.

  • Install and Configure Nomad in WinPE — Installs and configures Nomad in WinPE. Typically, to support the use of pre-staged content.

  • Save Nomad Cache — Saves the Nomad cache either in WinPE or a full Microsoft Windows operating system. It copies, links or moves previously downloaded content to the protected task sequence runtime folder so that it is not deleted by the standard Apply Operating System task sequence action.

  • Restore Nomad Cache — Restores the Nomad cache in the new Operating System during provisioning after the 1E Client has been installed with the Nomad module enabled. This action only needs to be included in the task sequence if Save Nomad Cache is run prior to applying the new Operating System.

  • Get Migration Settings — Provides support for optional encryption in Nomad PBA, and Provides computer association details in 1E Application Migration. Used in computer Replace and Refresh (Wipe and Load destructive and non-destructive) scenarios, it is configured to run under either the capture phase or the restore phase, depending on the scenario.

  • Stage 1E Client Package — Downloads the 1E Client package ready for installation by the Install 1E Client Task Sequence step. It's typically executed in Windows PE and must be included before the Install 1E Client step in the task sequence.

  • Install 1E Client — Installs the 1E Client. The Stage 1E Client Package step must be to be included before this step in the Task Sequence. The 1E Client installer and any Transform or Patch that should be applied during installation must be included in the 1E Client Package referenced in the Stage 1E Client Package step.

1E Nomad PBA task sequence actions

1E OSD task sequence actions

  • 1E WSA Actions — The 1E WSA Actions action is an essential component of the WSA deployment task sequence. Its position and configuration within the task sequence is critical to ensuring the task sequence completes successfully. The action performs one or more of the following functions depending on the selection made when configuring the step:

Using Nomad for an OSD refresh

An operating system deployment (OSD) refresh typically uses two Configuration Manager site systems – a distribution point (DP) and a state migration point (SMP). A standard OSD refresh uses task sequences as follows:

  1. The user state is captured and either stored locally or on a SMP.

  2. The Configuration Manager client downloads the Windows Preinstallation Environment (WinPE) boot image to the local workstation while the Configuration Manager client is still running.

  3. If the task sequence is deployed as Download all content before starting, all content is downloaded into the Configuration Manager cache (not suitable for dynamic packages).

  4. The boot record is updated to enable the computer to reboot to WinPE.

  5. If the task sequence is deployed as Access content from DP as required or Download content as required, the content is obtained from the DP.

  6. The new OS is applied.

  7. The saved user state is reapplied to the new OS and the process completes.