ConfigMgr Distribution Point Priority

Using System Center – Configuration Manager 2012 R2 we recently had some issues with routing, iscsi interfaces and content distribution. We needed to speed up distribution to a specific distribution point for some corrupt packages in order to get software installed at an Office in the Middle East.

So we needed the content to ‘jump’ the queue. There are no options in the SCCM Console to change DP priority order (that I have found), but luckily Microsoft have provided a way of doing it.

Note : As noticed by flatfour67 in the comments this may not work for DP’s assigned to secondary sites.

The following PoSH (Powershell) will list your Distribution Points and the Priority Assigned to them.

$dpinfo = Get-WmiObject -Query "SELECT NALPath, Priority, SiteCode, TransferRate, Description FROM SMS_DistributionPointInfo" -Namespace "ROOT\SMS\site_SITECODE" -ComputerName "MP_ServerName" | select NALPath, Priority, SiteCode, TransferRate
$dpinfo | Out-GridView
## Yes it could be done on one line, but I like doing it this way. After i have closed the GridView window i am still able to access the data without having to query WMI on the server again...

Default priority is 200, anything lower has a higher priority (content will be sent here first) and vice versa. Available values are 1 -> 300.

So How Do I Change the Priority?

To change the priority we use WMI methods…

This is the script I use.

##    200 = Default Priority
##    300 = Lower than default priority
##    100 = Higher than default priority

$sdkserver="PRIMARYSITESERVER" 
$siteCode="SITECODE" 
$targetDp="\\\\FQDN.OF.DISTRIBUTION.POINT"

$priorityValue = 160

$dp = gwmi -computer $sdkserver -namespace "root\sms\site_$sitecode" -query "select * from SMS_SCI_SysResUse where RoleName = 'SMS Distribution Point' and NetworkOSPath = '$targetDp'" 

$props = $dp.Props 
$prop = $props | where {$_.PropertyName -eq "Priority" }

Write-Output "Current DistributionPoint Priority = " $prop.Value

$prop.Value = $priorityValue

Write-Output "Updating the DistributionPoint Priority to = " $priorityValue

$dp.Props = $props 
$dp.Put()

This blog entry was invaluable….
http://blogs.technet.com/b/configmgrteam/archive/2014/03/25/content-distribution-priorities.aspx

Advertisements

2 thoughts on “ConfigMgr Distribution Point Priority”

  1. Should this be possible with DPs under secondary sites?

    Script returns a property not found error, and looking through the props embedded properties via wbemtest I can’t see one called priority – it’s only present for the DPs assigned to a primary site.

    Like

    1. Hi flatfour67 – you may well be correct in saying this doesn’t work for secondary sites – its not something I have tested. I will add a note to the post saying it may not work for DP’s assigned to secondary sites.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s