How to prevent a publishing refresh storm when configuring App-V client settings via GP and the MDOP Admin Templates
~ Ryan Cobb
Hi everyone, Ryan Cobb here with a tip for scheduling client setting updates when using the MDOP GP Admin Templates.
One of the options that the App-V 5 client has is the ability to configure some of the client settings through a Group Policy template, available here as part of the Microsoft Desktop Optimization Pack Group Policy Administrative Templates: https://go.microsoft.com/fwlink/p/?LinkId=393941.
One of the settings that can be configured is the Publishing Server policy. In the screenshot below I am setting User Publishing Refresh to occur every hours
And on the client, once the policy has been applied it will show the newly created scheduled task as displayed in the screenshot below:
It says “At 1:00pm on 6/22/2008 – After triggered, repeat every 04:00 indefinitely”. OK, sounds good, but if you look closely at ‘Next run time’ you will see it says 1:00:00PM. OK, that sounds good too, unless of course you apply this policy to maybe 10,000 client systems. Have a look at the scheduled task on a few of those. Uh oh, they’re all the same! That would be some sort of Publishing Refresh storm if they all tried syncing at the same time!
To help alleviate this, a scheduled task can have a randomization value added as shown below:
However, the AppV Group Policy template doesn’t give the administrator a method to check that box. Admins do have that option when configuring reporting servers in order to protect against a similar issue with reporting data, but for whatever reason that configuration never made it over to the sync side of things.
To get around this limitation, a custom Scheduled Task can be deployed using Group Policy Preference (see here for more info). The steps are below, and they essentially copy the internals of the template defined task with the modification to add the check for randomization. Note that these instructions create a Scheduled Task for user syncing. If you wanted to create a Scheduled Task for Global or Machine syncing you could target the Computer and allow it to use the System account
Creating Group Policy Preference for custom user syncing of Publishing servers
1. Open GPMC
2. Create a new GPO
3. Edit the GPO and navigate to User Configuration and then expand Control Panel Settings.
NOTE You can also target this as Computer Configuration, you will just need to replace the ‘When running this task, use the following user account:” with something like ‘domain\domain users’ or another group that contains the users that need to sync as Tasks targeted at the computer use the System account.
4. Right-click Scheduled Tasks and choose New ->Scheduled Task (Windows Vista and Later) – maybe Windows 7 and later depending on your DC.
In the New Task window select Create as the Action, add a name and optionally a description, then check the box for Hidden
Select the Triggers tab and ensure the highlighted properties of this tab match the screenshot below, then click OK.
Now select the Actions tab, click New, complete the highlighted items and click OK.
Program/script: SyncAppvPublishingServer.exe
Add arguments(optional): 1 –NetworkCostAware –HidePublishingRefreshUI
Start in(optional): C :\Program Files\Microsoft Application Virtualization\Client\
Now select the Conditions tab and select the highlighted boxes below.
Now select the Settings tab and check these highlighted boxes and click OK.
Once deployed, you should now have the ability to introduce a random delay and avoid a potential Publishing Refresh storm when clients sync their settings.
Ryan Cobb | Premier Field Engineer | Microsoft
Get the latest System Center news on Facebook and Twitter :
System Center All Up: https://blogs.technet.com/b/systemcenter/
System Center – Configuration Manager Support Team blog: https://blogs.technet.com/configurationmgr/
System Center – Data Protection Manager Team blog: https://blogs.technet.com/dpm/
System Center – Orchestrator Support Team blog: https://blogs.technet.com/b/orchestrator/
System Center – Operations Manager Team blog: https://blogs.technet.com/momteam/
System Center – Service Manager Team blog: https://blogs.technet.com/b/servicemanager
System Center – Virtual Machine Manager Team blog: https://blogs.technet.com/scvmm
Windows Intune: https://blogs.technet.com/b/windowsintune/
WSUS Support Team blog: https://blogs.technet.com/sus/
The AD RMS blog: https://blogs.technet.com/b/rmssupp/
App-V Team blog: https://blogs.technet.com/appv/
MED-V Team blog: https://blogs.technet.com/medv/
Server App-V Team blog: https://blogs.technet.com/b/serverappv
The Forefront Endpoint Protection blog : https://blogs.technet.com/b/clientsecurity/
The Forefront Identity Manager blog : https://blogs.msdn.com/b/ms-identity-support/
The Forefront TMG blog: https://blogs.technet.com/b/isablog/
The Forefront UAG blog: https://blogs.technet.com/b/edgeaccessblog/
Comments
- Anonymous
October 03, 2014
Or you could export the task, edit the file, add "PT1H" above "", save the file.
Then remove the old task manually or using:
schtasks /delete /TN "MicrosoftAppVPublishing1_global_periodic" /F
And import the modified XML file manually or using:
schtasks /create /xml 1_global_periodic.xml /TN "MicrosoftAppVPublishing1_global_periodic"
Then it's the same with the delay enabled.