Have seen couple of times on SCCM Configmgr forums asking for ‘How to get applications /deployment types that has allow clients to use fallback source location for content ’ is checked or not.
Allow fallback source location for content: This feature is designed to allow client to gain access (fallback) to content that is not available on a Distribution Point (DP) that is located in their Boundary Group.
If this feature is not implemented correctly, it can lead to unexpected results and high network utilization over remote WAN links.
For more information about fallback source location and distribution point, please read TechNet article https://technet.microsoft.com/en-us/library/gg712321.aspx?f=255&MSPPError=-2147217396#BKMK_PreferredDistributionPoint .
When this question was asked ,I thought ,I would look at it when I get time and later it went to my To-Do item list due to time constraints and never looked at it in the recent days.
Recently ,I had similar requirement to identify the list of applications with its deployment type properties to find out how many of them are not checked this option ‘allow clients to use fallback source location for content ‘ and download options (slow or unreliable network boundary)
If you want to know the list of applications that has this option checked or not ,there is no default report and no easy way to check in console as well.
Either you have to create custom report or PowerShell (PoSH) script.
when you create an application using application wizard ,there are couple of options that doesn’t show you in GUI (unless you use scripting to create apps) and these are like allow clients to use a fallback and deployment options etc.
If you have few number of applications in SCCM ,it is easy to do manual check by right click on deployment type and look for this option ,but what if you have large number of applications with multiple deployment types and you want them to be displayed in report ?
Before we try to create report for this ,we need to identify ,what table/view this information is stored in and after we identify the right view,we can write SQL query.
Application and its deployment type property information in SCCM 2012 and above, is not stored directly in database view instead, it is stored in xml file in function fn_ListDeploymentTypeCIs(1033) with column name SDMPackageDigest.
Once we know where the application deployment property information is stored, we need to know how to extract the required information from this xml file.
This xml file contains lot of information out of which ,we now only look at couple of important fields like application name,deployment name,type,UserInteractionMode,ExecutionContext ,RequiresLogOn,FallbackToUnprotectedDP,OnSlowNetwork. If you want retrieve other information from the xml ,do customize the report yourself.
To know more information about the xml file and how to extract the information from xml file using SQL query ,read here .
The information that is stored in xml file for allow clients to use fallback source location for content is in column FallbackToUnprotectedDP with values true or NULL
If you have selected option called Deployment options as shown in the diagram ,either with do not download content or download content from distribution point and run locally ,is in column ‘OnSlowNetwork’ with values Download or DoNothing or NULL
I have created SSRS Report for you .So all you need is ,download the report from Technet, upload to your SSRS reports, change the data source and run the report.
Note:If you have large number of applications and you are looking for deployment type names that has not checked ‘allow clients to use fallback source location for content ’ option ONLY ,then may have to edit the report and do custom changes to list only those applications with filtering instead listing all in your SCCM.
How does the report look like ?
If you want to remove the fallback source content option,you can try the powershell script mentioned in the blog post
http://www.configmgr.no/2014/04/24/script-set-allow-fallback-for-deployment-types/
#************************************************************************
# Script name: Set-CMDeploymentTypeAllowFallback.ps1
# Created by: Lars Halvorsen
# Date: 2014-04-24
#
# Description:
# Loops through ALL applications and ALL their deployment
# types and tries to set them to "Allow Fallback"
# Ignores deployment types that are not of the type .MSI
# or SCRIPT (this is configurable)
#************************************************************************
$AllApplications = Get-cmapplication | select LocalizedDisplayName
Foreach ($application in $AllApplications)
{
Write-Host -ForegroundColor Yellow ("*** Verifying application " + $application.LocalizedDisplayName + " ***")
$AllDeploymentTypes = Get-CMDeploymentType -ApplicationName $application.LocalizedDisplayName | select LocalizedDisplayName
Foreach ($DeploymentType in $AllDeploymentTypes)
{
Write-Host -ForegroundColor White ("*** Evaluating deployment type " + $DeploymentType.LocalizedDisplayName + " ***")
Set-CMDeploymentType -ApplicationName $application.LocalizedDisplayName -DeploymentTypeName $DeploymentType.LocalizedDisplayName `
-MsiOrScriptInstaller -AllowClientsToUseFallbackSourceLocationForContent $true -Verbose
}
}
Hope you enjoyed reading this article.
See you in the next post!
15 Comments
Hi Eswar,
Awesome report, i was actually looking for a similar report which can be used for legacy packages??
Hi Eswar
I have a need to also set the "on slow network" field to "Download" and on checking I find that the 2 blog links no longer exist
Hi Adrian,
are you referring to this http://www.configmgr.no/2014/04/24/script-set-allow-fallback-for-deployment-types/ ?
Thanks,
Eswar
Add -OnSlowNetworkMode Download per this article:
https://docs.microsoft.com/en-us/powershell/module/configurationmanager/set-cmdeploymenttype?view=sccm-ps
thanks,
Hi John,
Thank you for the information.
Regards,
Eswar
Hi Eswar - is it possible to have a similiar report to list details of software update deployments? If so, how are they identified?
can you elaborate more on this ,i will try to get a report on this.What settings are you referring for software update deployment ? is that download settings
Regards,
Eswar
Hi Eswar - I was referring to the deployment options settings on the 'Download Settings' tab of a Software Update Group deployment. These are very similar to the 'allow fallback location' settings for an application deployment.
Thank you paul. I will look into it and get back to you on this.
Regards,
Eswar
Great report. Now that we know what Applications/Packages have the Default Site Boundary group selected, do you know if there is there a cmdlet or script that can be used to clear the use of the Default Site Boundary group? We no longer desire this configuration and have over 500 Applications/Packages with this setting. Thanks in advance.
Hi Leonard,
Is this something you are looking for ? Script: set “Allow Fallback” for deployment types
http://www.configmgr.no/2014/04/24/script-set-allow-fallback-for-deployment-types/
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#************************************************************************
# Script name: Set-CMDeploymentTypeAllowFallback.ps1
# Created by: Lars Halvorsen
# Date: 2014-04-24
#
# Description:
# Loops through ALL applications and ALL their deployment
# types and tries to set them to "Allow Fallback"
# Ignores deployment types that are not of the type .MSI
# or SCRIPT (this is configurable)
#************************************************************************
$AllApplications = Get-cmapplication | select LocalizedDisplayName
Foreach ($application in $AllApplications)
{
Write-Host -ForegroundColor Yellow ("*** Verifying application " + $application.LocalizedDisplayName + " ***")
$AllDeploymentTypes = Get-CMDeploymentType -ApplicationName $application.LocalizedDisplayName | select LocalizedDisplayName
Foreach ($DeploymentType in $AllDeploymentTypes)
{
Write-Host -ForegroundColor White ("*** Evaluating deployment type " + $DeploymentType.LocalizedDisplayName + " ***")
Set-CMDeploymentType -ApplicationName $application.LocalizedDisplayName -DeploymentTypeName $DeploymentType.LocalizedDisplayName `
-MsiOrScriptInstaller -AllowClientsToUseFallbackSourceLocationForContent $true -Verbose
}
}
Regards,
Eswar
Awesome report, used it to find out how many Deployment types would fallback to another DP. Customer wanted to set up a DP associated with a VPN and a only a few Applications distributed to it to control content going out via VPN. Was able to use the results of this to show that this would not work in the way that they expected. Now looking at boundary group fallback relationships in 1610! Thank you.
thank you so much for you post.. very very helpful
Great post! This will be very useful! Just curious how you determined the setting was in fn_ListDeploymentTypeCIs(1033) with column name SDMPackageDigest? Would like to know for other settings.
Thanks Jason. one is this link https://blogs.technet.microsoft.com/hhoy/2012/07/19/how-to-query-configuration-manager-2012-xml-data-with-sql-xquery/ and other is SCCM SQL views documentation https://gallery.technet.microsoft.com/SCCM-Configmgr-2012-R2-SQL-5fefdd3b