In part 1 of this blog series I discussed the options available when using Nomad in a Build Depot. Option 1 would be to use Nomad and have a local Distribution Point (DP) or use Nomad without a local DP.
If the Build Depot doesn't have a DP then you will need to change the SpecialNetShare value of the 'Install and Configure Nomad in Windows PE' step to include Fanout. A colleague has written a great blog on this process – Leveraging Nomad FanOut to accelerate Windows OSD.
In the remainder of this blog I will describe the tasks required for OSD builds to get content from the Build Depot DP. The key here is as machines are built in the Depot they will have the OSD content in the Nomad cache but will be rebooted, powered off and box to be shipped thus making them bad Nomad peers.
Prerequisites
The process use PowerShell commands in WinPE, PowerShell is not a component of WinPE by default and will need to be added to the boot image.
Configuration Steps
The following changes need to be made to the OSD task sequence. I would recommend taking a copy of your task sequence before making changes.

  1. Identify if the task sequence is running in a Build Depot.
    We can use the Build Depot's IP subnet to ensure that Nomad only gets content from a DP when the task sequence runs in the Build Depot.
  1. Create a task sequence variable of the default gateway.
    This is done by the MDT Gather step but we don't want to run the Use Toolkit package step before installing Nomad in WinPE.
    The following PowerShell will set the default gateway as a task sequence variable DefaultGateway

powershell (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('DefaultGateway') = ("Get-wmiObject Win32_networkAdapterConfiguration | ?{$_.IPEnabled}").DefaultIPGateway

  1. Add a second 'Install and Configure Nomad in Windows PE' step.
    Change the P2PEnabled setting to 0 (this will force Nomad to get the content from the DP)Nomad in a Depot
    Add a condition on the options tab to run this step if the task sequence variable DefaultGateway equals that of the build depot

Nomad in a Depot 02

  1. Locate the original 'Install and Configure Nomad in Windows PE' step.Nomad in a Depot 03
    Add a condition to run the step if the task sequence variable DefaultGateway not equals that of the Build Depot

Nomad in a Depot 04

  1. In the Full operating system we need force Nomad not to download content from a Nomad peer.
    This is best achieved by setting the NomadInhibitedSubnets registry value to the Default Gateway of the Build Depot. The NomadInhibitedSubnets settings lets you define subnets where machines will download from the DP and not participate in Nomad elections for content.

powershell "Set-ItemProperty -Path HKLM:\Software\1E\NomadBranch -Name NomadInhibitedSubnets -Value 193.169.8.0/24"
Nomad in a Depot 05
Nomad will now use the local Build Depot DP for content and not a Nomad peer. When OSD is performed in outside of the Build Depot Nomad will get content from a Nomad peer where possible.
Read more about Nomad at https://www.1e.com/nomad/, or follow our LinkedIn Showcase page.