Configuration Manager

Published on March 18th, 2015 | by Christian Fosund

0

Upgrade to 1E Nomad 5.5

This Step by step guide will guide you trough each step necessary to complete a Nomad upgrade from version 5.2 to 5.5, if you are upgrading from an earlier version, please look at the online documentation for a different approach.

1. Install Nomad Tools (OSD Tools)
2. Install NomadBranch Admin UI 5.5
3. Create 1E NomadBranch 5.5 Applications and Packages
4. Deploy the 1E Nomad 5.5 to Site Servers and Distribution Points
5. Deploy the 1E Nomad 5.5 to Servers and Clients

What is new in Nomad v5.5
This new release provides the following features:

Nomad Integration with WakeUp – Nomad is now able to integrate with the WakeUp component of NightWatchman Enterprise. This enables Nomad machines that contain useful content to be woken up automatically when a peer requires the content.

Improved Content Integrity Check (CIC) behavior – Nomad clients prevent the download and re-distribution of content where the hash does not match the client’s expected hash for the content.

Support for App-V 5.0 SP2

Effective memory usage for large file P2P transfer – Nomad can now handle the transfer of large files that exceed system memory size without impacting machine performance.

 

1. Install Nomad Tools (OSD Tools)

First Install the Nomad Tools (NomadBranchTools.msi) on your Primary Site Server.

Run through the wizard GUI or run the command:

msiexec /i .\NomadBranchTools.msi /norestart /qn /l*v C:\Windows\Temp\NomadBranchTools55.log

 

The Nomad Tools adds new version of the NomadBranch.exe and other needed tools for the boot images.

So remember to update the boot image and re-distribute it after the installation.
I have seen the task sequence will fail on the Install and Configure Nomad in Windows PE step if the boot image is not updated after the Nomad OSD Tools is installed.
The reason seems to be that when the new option “Max. Machines from ActiveEfficiency” is configured, the old version of the Boot Image tools does not understand the new parameter.

D:\Program Files\Microsoft System Center 2012 R2\Configuration Manager\OSD\bin\x64

image

 

2. Install NomadBranch Admin UI 5.5

 

2.1 Install the NomadBranch Admin UI on your primary site server if you have the console installed.

Run through the wizard GUI or run the command:
msiexec /i NomadBranchAdminUIExt2012.msi /norestart /qn /l*v C:\Windows\Temp\NomadBranchAdminUIExt55.log”

 

2.2 Create Application NomadBranch Admin UI 5.5

You should also create a deployment of the NomadBranch Admin UI 5.5 to distribute it to all existing installation of ConfigMgr Console in your environment.

I have created a PowerShell script that will do this automatically.

The script will:

-create and copy the content to the the source directory
-Create the Application
-Create a Device Collection with a query that looks for installed consoles
-Distribute the content to a distribution point group
-Create a mandatory deployment to the collection

Have a look at it and see if it can save you some time.

#==============================================================
#Create 1E NomadBranch Admin UI Application, Collection and Deployment
#==============================================================
#==============================================================
# Fill out all variables and make sure that you have the content
# in the same folder as the script.
# Christian Fosund
#==============================================================

$DPGroup="DPG All Distribution Points"
$SiteServer="primarysiteserver.domain.com"
$SiteCode="PR1"
$ApplicaitonlocalSourcePath="E:\Sources$\Applications"
$ApplicaitonUNCSourcePath="\\primarysiteserver\Sources$\Applications"
$ClientlogFolder="C:\Windows\Temp"

#Application Variables
$Applicationvendor="1E"
$Applicationname="1E NomadBranch Admin UI 5.5 x64"
$ApplicationDescription="Installer for the main NomadBranch Admin UI 5.5"
$Applicationversion="5.5.0.462"
$ApplicationLanguage="English"
$ApplicationMSIName="NomadBranchAdminUIExt2012.msi"

#region Copy Source Content

$ApplicationlocalPath=$ApplicaitonlocalSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
New-Item $ApplicationlocalPath -type directory
Copy-Item .\NomadBranchAdminUIExt2012.msi -Destination $ApplicationlocalPath

#endregion 

#region Import configuration manager module
Import-module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1'
$Sitecodemodule=$SiteCode + ':'
cd $Sitecodemodule
#endregion

#region Create 1E NomadBranch Admin UI Extension Application

$ApplicaitonMSIUNCSourcePath=$ApplicaitonUNCSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\' + $ApplicationMSIName
$ApplicationCollectionname="SWD"+" "+$Applicationname
$ApplicationDeploymentName="Install" + ' ' + $Applicationname
$ApplicationDeploymentInstallProgram= 'msiexec /i' + ' ' + $ApplicationMSIName + ' ' + '/norestart' + ' ' + '/qn' + ' ' + '/l*v' + ' ' + $ClientLogFolder +'\' + $Applicationname + '.log'

#create a new Application
New-CMApplication -Name $Applicationname -Description $ApplicationDescription -SoftwareVersion $Applicationversion -Publisher $Applicationvendor -AutoInstall $true

#Set new properties on the Application Object Created.
Set-CMApplication -Name $Applicationname -LocalizedApplicationName $Applicationname -LocalizedApplicationDescription $ApplicationDescription -SendToProtectedDistributionPoint $true -Verbose

#Add the Deployment type automatically from the MSI
Add-CMDeploymentType -ApplicationName $Applicationname -DeploymentTypeName $ApplicationDeploymentName -InstallationFileLocation $ApplicaitonMSIUNCSourcePath -Language $ApplicationLanguage -MsiInstaller -AutoIdentifyFromInstallationFile -ForceForUnknownPublisher $true -InstallationBehaviorType InstallForSystem -InstallationProgram $ApplicationDeploymentInstallProgram -AdministratorComment $ApplicationDescription -OnSlowNetworkMode Download -AllowClientsToUseFallbackSourceLocationForContent $True

#Distribute the Content to the DP Group
Start-CMContentDistribution -ApplicationName $Applicationname -DistributionPointGroupName $DPGroup -Verbose

#create the Device Collection
$QueryExpression='select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "System Center 2012 R2 Configuration Manager Console" and SMS_G_System_ADD_REMOVE_PROGRAMS.Version >= "5.00.7958.1000"'
New-CMDeviceCollection -Name $ApplicationCollectionname -LimitingCollectionName "All Systems" -RefreshType Periodic -RefreshSchedule (New-CMSchedule -Start (get-date) -RecurInterval Days -RecurCount 1) -Verbose
Add-CMDeviceCollectionQueryMembershipRule -CollectionName $ApplicationCollectionname -RuleName $ApplicationCollectionname -QueryExpression $QueryExpression
#start the Deployment
Start-CMApplicationDeployment -CollectionName $ApplicationCollectionname -Name $Applicationname -DeployAction Install -DeployPurpose Required -UserNotification HideAll -AvaliableDate (get-date) -AvaliableTime (get-date) -TimeBaseOn LocalTime -Verbose
#endregion

3. Create 1E NomadBranch 5.5 Applications and Packages

 

The Nomad Upgrade will fail If you try to upgarde Nomad while using Nomad as the download provider.
The reason is that it locks the WMI provider for ConfigMgr and will force restart the ccmexec service.

For Application Deployment the service will not start up again, and will not report back the correct status. For packages it will report back with unexpected restart.

 

Their are two ways to handle this:

1. Create a script that will download the package to a temp folder and then execute the msi from the temp path.

1E Nomad Branch 5.5 x64

xcopy NomadBranch-x64.msi %TEMP% %TEMP%\msiexec /i NomadBranch-x64.msi PIDKEY=KEY SPECIALNETSHARE=8272 SSDENABLED=3 CONTENTREGISTRATION=1 P2PENABLED=9 MULTICASTSUPPORT=0 STATUSMSGEVENTS=0x1000002024 PLATFORMURL=http://SERVER/ActiveEfficiency LOGPATH=C:\Windows\CCM\Logs /norestart /qn /l*v “C:\Windows\Temp\1E NomadBranch 5.5 x64.log” DEL %TEMP%\NomadBranch-x64.msi /Q

1E Nomad Branch 5.5 x86

xcopy NomadBranch.msi %TEMP%
%TEMP%\NomadBranch.msi PIDKEY=KEY SPECIALNETSHARE=8272 SSDENABLED=3 CONTENTREGISTRATION=1 P2PENABLED=9 MULTICASTSUPPORT=0 STATUSMSGEVENTS=0x1000002024 PLATFORMURL=http://SERVER/ActiveEfficiency 
LOGPATH=C:\Windows\CCM\Logs /norestart /qn /l*v “C:\Windows\Temp\1E NomadBranch 5.5 x64.log”
DEL %TEMP%\NomadBranch.msi /Q

 

2. If using packages for upgrades, use BITS instead of Nomad by disabling Nomad on the specific package

Remember to enable this option again after you are finished the upgrade. So that OSD will invoke Nomad to download the nomad package.

image

 

Here is the PowerShell script I use for creating the applications and packages in Configuration Manager:

#==============================================================
#Create 1E NomadBranch x86 Application, Collection and Deployment
#==============================================================
#==============================================================
# Fill out all variables and make sure that you have the content
# in the same folder as the script.
# Christian Fosund
#==============================================================

#Please provide all the variables before proceeding.
$DPGroup="DPG All Distribution Points"
$SiteServer="primarysiteserver.domain.com"
$SiteCode="PR1"
$ApplicaitonlocalSourcePath="E:\Sources$\Applications"
$ApplicaitonUNCSourcePath="\\primarysiteserver\Sources$\Applications"
$ClientlogFolder="C:\Windows\Temp"

#Application Variables
$Applicationvendor="1E"
$Applicationname="1E NomadBranch 5.5 x86"
$ApplicationDescription="Installer for the main NomadBranch 5.5"
$Applicationversion="5.5.0.462"
$ApplicationLanguage="English"
$ApplicationMSIName="NomadBranch.msi"

#Nomad Specific MSI variables
$NomadPIDKey="NOMAD-KEY"
$NomadSPECIALNETSHARE="8272"
$NomadSSDEnabled="3"
$NomadContentRegistration="1"
$NomadP2PEnabled="9"
$NomadMulticastSupport="0"
$NomadStatusMsgEvents="0x1000002024"
$NomadPlatformURL="http://AESERVER.DOMAIN.com/ActiveEfficiency"
$NomadLogPath="C:\Windows\CCM\Logs"

#region Copy Source Content

$ApplicationlocalPath=$ApplicaitonlocalSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
New-Item $ApplicationlocalPath -type directory
$ApplicationMSINamepath= '.\'+ $ApplicationMSIName
Copy-Item $ApplicationMSINamepath -Destination $ApplicationlocalPath

#endregion 

#region Import configuration manager module
Import-module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1'
$Sitecodemodule=$SiteCode + ':'
cd $Sitecodemodule
#endregion

#region Create 1E NomadBranch Application

$ApplicaitonMSIUNCSourcePath=$ApplicaitonUNCSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\' + $ApplicationMSIName
$ApplicationCollectionname="SWD"+" "+$Applicationname
$ApplicationDeploymentName="Install" + ' ' + $Applicationname
$ApplicationDeploymentInstallProgram= 'msiexec /i' + ' ' + $ApplicationMSIName + ' ' + "PIDKEY=$NomadPIDKey" + ' ' + "SPECIALNETSHARE=$NomadSPECIALNETSHARE" + ' ' + "SSDENABLED=$NomadSSDEnabled" + ' ' + "CONTENTREGISTRATION=$NomadContentRegistration" + ' ' + "P2PENABLED=$NomadP2PEnabled" + ' ' + "MULTICASTSUPPORT=$NomadMulticastSupport" + ' ' + "STATUSMSGEVENTS=$NomadStatusMsgEvents" + ' ' + "PLATFORMURL=$NomadPlatformURL" + ' ' + "LOGPATH=$NomadLogPath" + ' ' + '/norestart' + ' ' + '/qn' + ' ' + '/l*v' + ' ' + '"' + $ClientLogFolder +'\' + $Applicationname + '.log' + '"'

#create a new Application
New-CMApplication -Name $Applicationname -Description $ApplicationDescription -SoftwareVersion $Applicationversion -Publisher $Applicationvendor -AutoInstall $true

#Set new properties on the Application Object Created.
Set-CMApplication -Name $Applicationname -LocalizedApplicationName $Applicationname -LocalizedApplicationDescription $ApplicationDescription -SendToProtectedDistributionPoint $true -Verbose 

#Add the Deployment type automatically from the MSI
Add-CMDeploymentType -ApplicationName $Applicationname -DeploymentTypeName $ApplicationDeploymentName -InstallationFileLocation $ApplicaitonMSIUNCSourcePath -Language $ApplicationLanguage -MsiInstaller -AutoIdentifyFromInstallationFile -ForceForUnknownPublisher $true -InstallationBehaviorType InstallForSystem -InstallationProgram $ApplicationDeploymentInstallProgram -AdministratorComment $ApplicationDescription -OnSlowNetworkMode Download -AllowClientsToUseFallbackSourceLocationForContent $True

#endregion

#region Distribute the Content to the DP Group
Start-CMContentDistribution -ApplicationName $Applicationname -DistributionPointGroupName $DPGroup -Verbose
#endregion

#region create the Device Collection
New-CMDeviceCollection -Name $ApplicationCollectionname -LimitingCollectionName "All Systems" -RefreshType Periodic -RefreshSchedule (New-CMSchedule -Start (get-date) -RecurInterval Days -RecurCount 1) -Verbose
#endregion

#region start the Deployment
Start-CMApplicationDeployment -CollectionName $ApplicationCollectionname -Name $Applicationname -DeployAction Install -DeployPurpose Required -UserNotification HideAll -AvaliableDate (get-date) -AvaliableTime (get-date) -TimeBaseOn LocalTime -Verbose
#endregion

 

#==============================================================
#Create 1E NomadBranch x64 Application, Collection and Deployment
#==============================================================
#==============================================================
# Fill out all variables and make sure that you have the content
# in the same folder as the script.
#==============================================================

#Please provide all the variables before proceeding.
$DPGroup="DPG All Distribution Points"
$SiteServer="primarysiteserver.domain.com"
$SiteCode="PR1"
$ApplicaitonlocalSourcePath="E:\Sources$\Applications"
$ApplicaitonUNCSourcePath="\\primarysiteserver\Sources$\Applications"
$ClientlogFolder="C:\Windows\Temp"

#Application Variables
$Applicationvendor="1E"
$Applicationname="1E NomadBranch 5.5 x64"
$ApplicationDescription="Installer for the main NomadBranch 5.5"
$Applicationversion="5.5.0.462"
$ApplicationLanguage="English"
$ApplicationMSIName="NomadBranch-x64.msi"

#Nomad Specific MSI variables
$NomadPIDKey="NOMAD-KEY"
$NomadSPECIALNETSHARE="8272"
$NomadSSDEnabled="3"
$NomadContentRegistration="1"
$NomadP2PEnabled="9"
$NomadMulticastSupport="0"
$NomadStatusMsgEvents="0x1000002024"
$NomadPlatformURL="http://AESERVER.DOMAIN.com/ActiveEfficiency"
$NomadLogPath="C:\Windows\CCM\Logs"

#region Copy Source Content

$ApplicationlocalPath=$ApplicaitonlocalSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
New-Item $ApplicationlocalPath -type directory
$ApplicationMSINamepath= '.\'+ $ApplicationMSIName
Copy-Item $ApplicationMSINamepath -Destination $ApplicationlocalPath

#endregion 

#region Import configuration manager module
Import-module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1'
$Sitecodemodule=$SiteCode + ':'
cd $Sitecodemodule
#endregion

#region Create 1E NomadBranch Application

$ApplicaitonMSIUNCSourcePath=$ApplicaitonUNCSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\' + $ApplicationMSIName
$ApplicationCollectionname="SWD"+" "+$Applicationname
$ApplicationDeploymentName="Install" + ' ' + $Applicationname
$ApplicationDeploymentInstallProgram= 'msiexec /i' + ' ' + $ApplicationMSIName + ' ' + "PIDKEY=$NomadPIDKey" + ' ' + "SPECIALNETSHARE=$NomadSPECIALNETSHARE" + ' ' + "SSDENABLED=$NomadSSDEnabled" + ' ' + "CONTENTREGISTRATION=$NomadContentRegistration" + ' ' + "P2PENABLED=$NomadP2PEnabled" + ' ' + "MULTICASTSUPPORT=$NomadMulticastSupport" + ' ' + "STATUSMSGEVENTS=$NomadStatusMsgEvents" + ' ' + "PLATFORMURL=$NomadPlatformURL" + ' ' + "LOGPATH=$NomadLogPath" + ' ' + '/norestart' + ' ' + '/qn' + ' ' + '/l*v' + ' ' + '"' + $ClientLogFolder +'\' + $Applicationname + '.log' + '"'

#create a new Application
New-CMApplication -Name $Applicationname -Description $ApplicationDescription -SoftwareVersion $Applicationversion -Publisher $Applicationvendor -AutoInstall $true

#Set new properties on the Application Object Created.
Set-CMApplication -Name $Applicationname -LocalizedApplicationName $Applicationname -LocalizedApplicationDescription $ApplicationDescription -SendToProtectedDistributionPoint $true -Verbose 

#Add the Deployment type automatically from the MSI
Add-CMDeploymentType -ApplicationName $Applicationname -DeploymentTypeName $ApplicationDeploymentName -InstallationFileLocation $ApplicaitonMSIUNCSourcePath -Language $ApplicationLanguage -MsiInstaller -AutoIdentifyFromInstallationFile -ForceForUnknownPublisher $true -InstallationBehaviorType InstallForSystem -InstallationProgram $ApplicationDeploymentInstallProgram -AdministratorComment $ApplicationDescription -OnSlowNetworkMode Download -AllowClientsToUseFallbackSourceLocationForContent $True

#endregion

#region Distribute the Content to the DP Group
Start-CMContentDistribution -ApplicationName $Applicationname -DistributionPointGroupName $DPGroup -Verbose
#endregion

#region create the Device Collection
New-CMDeviceCollection -Name $ApplicationCollectionname -LimitingCollectionName "All Systems" -RefreshType Periodic -RefreshSchedule (New-CMSchedule -Start (get-date) -RecurInterval Days -RecurCount 1) -Verbose
#endregion

#region start the Deployment
Start-CMApplicationDeployment -CollectionName $ApplicationCollectionname -Name $Applicationname -DeployAction Install -DeployPurpose Required -UserNotification HideAll -AvaliableDate (get-date) -AvaliableTime (get-date) -TimeBaseOn LocalTime -Verbose
#endregion
#==============================================================
#Create 1E NomadBranch x64 Package used for OSD Deployment
#==============================================================
#==============================================================
# Fill out all variables and make sure that you have the content
# in the same folder as the script.
# Christian Fosund
#==============================================================

#Please provide all the variables before proceeding.
$DPGroup="DPG All Distribution Points"
$SiteServer="primarysiteserver.domain.com"
$SiteCode="PR1"
$ApplicaitonlocalSourcePath="E:\Sources$\Applications"
$ApplicaitonUNCSourcePath="\\primarysiteserver\Sources$\Applications"
$ClientlogFolder="C:\Windows\Temp"

#Application Variables
$Applicationvendor="1E"
$Applicationname="1E NomadBranch 5.5 x64"
$ApplicationDescription="NomadBranch x64 OSD Package used for Task Sequence"
$Applicationversion="5.5.0.462"
$ApplicationLanguage="English"
$ApplicationMSIName="NomadBranch-x64.msi"

#Nomad Specific MSI variables
$NomadPIDKey="NOMAD-KEY"
$NomadSPECIALNETSHARE="8272"
$NomadSSDEnabled="3"
$NomadContentRegistration="1"
$NomadP2PEnabled="9"
$NomadMulticastSupport="0"
$NomadStatusMsgEvents="0x1000002024"
$NomadPlatformURL="http://AESERVER.DOMAIN.com/ActiveEfficiency"
$NomadLogPath="C:\Windows\CCM\Logs"

#region Copy Source Content

$ApplicationlocalPath=$ApplicaitonlocalSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
New-Item $ApplicationlocalPath -type directory
$ApplicationMSINamepath= '.\'+ $ApplicationMSIName
Copy-Item $ApplicationMSINamepath -Destination $ApplicationlocalPath

#endregion 

#region Import configuration manager module
Import-module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1'
$Sitecodemodule=$SiteCode + ':'
cd $Sitecodemodule
#endregion

#region Create 1E NomadBranch Package

$ApplicationonUNCPKGSourcePath=$ApplicaitonUNCSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
$ApplicationCollectionname="SWD"+" "+$Applicationname
$ApplicationDeploymentName="Install" + ' ' + $Applicationname
$ApplicationDeploymentInstallProgram= 'msiexec /i' + ' ' + $ApplicationMSIName + ' ' + "PIDKEY=$NomadPIDKey" + ' ' + "SPECIALNETSHARE=$NomadSPECIALNETSHARE" + ' ' + "SSDENABLED=$NomadSSDEnabled" + ' ' + "CONTENTREGISTRATION=$NomadContentRegistration" + ' ' + "P2PENABLED=$NomadP2PEnabled" + ' ' + "MULTICASTSUPPORT=$NomadMulticastSupport" + ' ' + "STATUSMSGEVENTS=$NomadStatusMsgEvents" + ' ' + "PLATFORMURL=$NomadPlatformURL" + ' ' + "LOGPATH=$NomadLogPath" + ' ' + '/norestart' + ' ' + '/qn' + ' ' + '/l*v' + ' ' + '"' + $ClientLogFolder +'\' + $Applicationname + '.log' + '"'

New-CMPackage -Name $Applicationname -Description $ApplicationDescription -Version $Applicationversion -Manufacturer $Applicationvendor -Language $ApplicationLanguage -Path $ApplicationonUNCPKGSourcePath
#endregion

#region create Package Deployment
New-CMProgram -PackageName $Applicationname -StandardProgramName $ApplicationDeploymentName -RunMode RunWithAdministrativeRights -ProgramRunType WhetherOrNotUserIsLoggedOn -RunType Hidden -CommandLine $ApplicationDeploymentInstallProgram -UserInteraction $false
#endregion

#region Distribute the Content to the DP Group
Start-CMContentDistribution -PackageName $Applicationname -DistributionPointGroupName $DPGroup -Verbose
#endregion
 
#==============================================================
#Create 1E NomadBranch x86 Package used for OSD Deployment
#==============================================================
#==============================================================
# Fill out all variables and make sure that you have the content
# in the same folder as the script.
# Christian Fosund
#==============================================================

#Please provide all the variables before proceeding.
$DPGroup="DPG All Distribution Points"
$SiteServer="primarysiteserver.domain.com"
$SiteCode="PR1"
$ApplicaitonlocalSourcePath="E:\Sources$\Applications"
$ApplicaitonUNCSourcePath="\\primarysiteserver\Sources$\Applications"
$ClientlogFolder="C:\Windows\Temp"

#Application Variables
$Applicationvendor="1E"
$Applicationname="1E NomadBranch 5.5 x86"
$ApplicationDescription="NomadBranch x86 OSD Package used for Task Sequence"
$Applicationversion="5.5.0.462"
$ApplicationLanguage="English"
$ApplicationMSIName="NomadBranch.msi"

#Nomad Specific MSI variables
$NomadPIDKey="NOMAD-KEY"
$NomadSPECIALNETSHARE="8272"
$NomadSSDEnabled="3"
$NomadContentRegistration="1"
$NomadP2PEnabled="9"
$NomadMulticastSupport="0"
$NomadStatusMsgEvents="0x1000002024"
$NomadPlatformURL="http://AESERVER.DOMAIN.com/ActiveEfficiency"
$NomadLogPath="C:\Windows\CCM\Logs"

#region Copy Source Content

$ApplicationlocalPath=$ApplicaitonlocalSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
New-Item $ApplicationlocalPath -type directory
$ApplicationMSINamepath= '.\'+ $ApplicationMSIName
Copy-Item $ApplicationMSINamepath -Destination $ApplicationlocalPath

#endregion 

#region Import configuration manager module
Import-module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1'
$Sitecodemodule=$SiteCode + ':'
cd $Sitecodemodule
#endregion

#region Create 1E NomadBranch Package

$ApplicationonUNCPKGSourcePath=$ApplicaitonUNCSourcePath + '\' + $Applicationvendor + '\' + $Applicationname + '\' + $Applicationversion + ' ' + $ApplicationLanguage + '\'
$ApplicationCollectionname="SWD"+" "+$Applicationname
$ApplicationDeploymentName="Install" + ' ' + $Applicationname
$ApplicationDeploymentInstallProgram= 'msiexec /i' + ' ' + $ApplicationMSIName + ' ' + "PIDKEY=$NomadPIDKey" + ' ' + "SPECIALNETSHARE=$NomadSPECIALNETSHARE" + ' ' + "SSDENABLED=$NomadSSDEnabled" + ' ' + "CONTENTREGISTRATION=$NomadContentRegistration" + ' ' + "P2PENABLED=$NomadP2PEnabled" + ' ' + "MULTICASTSUPPORT=$NomadMulticastSupport" + ' ' + "STATUSMSGEVENTS=$NomadStatusMsgEvents" + ' ' + "PLATFORMURL=$NomadPlatformURL" + ' ' + "LOGPATH=$NomadLogPath" + ' ' + '/norestart' + ' ' + '/qn' + ' ' + '/l*v' + ' ' + '"' + $ClientLogFolder +'\' + $Applicationname + '.log' + '"'

New-CMPackage -Name $Applicationname -Description $ApplicationDescription -Version $Applicationversion -Manufacturer $Applicationvendor -Language $ApplicationLanguage -Path $ApplicationonUNCPKGSourcePath
#endregion

#region create Package Deployment
New-CMProgram -PackageName $Applicationname -StandardProgramName $ApplicationDeploymentName -RunMode RunWithAdministrativeRights -ProgramRunType WhetherOrNotUserIsLoggedOn -RunType Hidden -CommandLine $ApplicationDeploymentInstallProgram -UserInteraction $false
#endregion

#region Distribute the Content to the DP Group
Start-CMContentDistribution -PackageName $Applicationname -DistributionPointGroupName $DPGroup -Verbose
#endregion

 

4. Deploy the 1E Nomad 5.5 to Site Servers and Distribution Points

Deploy the 1E Nomad 5.5 Application first to your site server, then you your distribution points.

Add your Distribution Points to the correct Collection and let the Application Deployment handle the installation:

image

Remember to verify the SPECIALNETSHARE key is correct on your distribution point after the upgrade.

For example if you had enable the option 0x4000 (WEB LSZ Generation) you will have a different key then the clients and other servers.

HKLM\SOFTWARE\1E\NomadBranch

image

Best practice is to  use Configure Configuration Items in Configuration Manager to make sure that your clients and servers always are compliant with the correct registry keys.

image

5. Deploy the 1E Nomad 5.5 to Servers and Clients

After the upgrade of all of your site servers, proceeded by upgrading all your clients and servers.

Its recommended to do one subnet at the time so its easier to detect any issues during the upgrade.

Remember to notify all parties, especially if you have monitoring software like SCOM to monitor your servers services.
The NomadBranch service will restart during the upgrade.

Tags: , , ,


About the Author

Christian is a senior consultant and MCT, specialized in the products System Center Configuration Manager and Microsoft Deployment Toolkit, and has been responsible for design and implementation of complex environments, spread geographically throughout the world. He’s also experienced in third party solutions like 1E Nomad that can make implementations more valuable and profitable in an efficient manner.



Leave a Reply

Back to Top ↑