Shaun Cassells at MyITForum.com

Systems Management Server (SMS) 2003, System Center Configuration Manager (SCCM or ConfigMan) 2007, PowerShell, scripting and security (including patching), Finance, Fitness and Fun

SMS 2003: How to get the fastest execute of a dependent package chain on a client

SMS 2003 and SCCM 2007 / ConfigMgr 2007 allow the execution of packages in a specific order.  This post will not cover the server / package / program settings; rather, this will cover how a client evaluates a series of offers some of which are dependent programs. 

 

So what happens when a client receives multiple advertised offers that includes packages with dependencies?

 

Okay this tells me, it goes into a loop, evaluating each iteration until eventual completion. 

 

How does the client decide which Advertisement to evaluate first?

If multiple advertisements are received at the same time, the SMS 2003 client will evaluate those advertisements in order from lowest AdvertID to highest.

 

Note: The phrase “at the same time” could be:

·        During a regular policy polling interval

·        Or if a package takes an extended period to execute it is possible another policy refresh can occur

·        Or an zealous SMS admin can force a client policy refresh

 

Is it better to advertise the top of a chain or to advertise each individual app in the chain?

  • If you advertise only the top of the chain, the loop will iterate from top to bottom and run the lowest program in that chain.  Once the execution finishes, it will start again at the top and work its way down.  N+(N-1)+…
  • If you create an advertisement to each step of the program dependency.  You would avoid the iterations, as each step would be the lowest level of the chain.  Best Case 1+1+…
  • However, there is the possibility that when you created the AdvertIDs you did not do it in order.  Remember, the client evaluates multiple AdvertIDs (when all received at the same time) from lowest number to highest.   That this execution could take MUCH longer.  You would get a lot of “Waiting Dependent Program” status messages.  (N+(N-1)+…) + (N+(N-1)+…) + …
 

Summary: The fastest way for a client to execute a dependency chain of programs is to create advertisements to each program in the chain in order from lowest to highest.

Comments

No Comments