"Use Toolkit Package" and "Gather" - When do you have to run them?


  • Greetings,

      I have inherited a huge task sequence (MDT 2012 integrated with SCCM 2012) that calls "Use Toolkit Package" and "Gather" many many times even though there are only a few reboots.

      Is it true that the "Use Toolkit package" step (followed immediately by Gather) only need to be run right at the beginning of the TS and only after every reboot?

      Is it also true that the "Gather" step on it's own only needs to be run when you have run another step which may alter/create a variable which is used in the rules? (i.e. customsettings.ini).


    David Z

    Tuesday, October 08, 2013 4:32 AM

All replies

    • "Use Toolkit package" takes the contents of the MDT toolkit package (scripts, tools, etc.) and makes a copy of them on the local hard disk (so you need to use this task if the MDT toolkit package doesn't exist yet on the local disk)
    • "Gather" This task sequence step gathers data and processing rules for the target computer (this task is required to use the MDT variables/scripts/... that have been downloaded using "Use Toolkit Package")

    Check this link

    and check Toolkit Reference document as this explains all the MDT tasks/variables/... (it exists under Optional - MDT 2012 Print-Ready")

    • Edited by Ayman Yassine Tuesday, October 08, 2013 5:38 AM
    • Proposed as answer by PRASHANT9 Tuesday, October 08, 2013 6:47 AM
    • Unproposed as answer by David Zemdegs Tuesday, October 08, 2013 9:16 PM
    Tuesday, October 08, 2013 5:37 AM
  • Thanks.

    My question was when exactly do you need to run the steps. I suspect that many people have task sequences with loads of "use toolkit package" and "gather" in places when they are NOT needed.

    First let's look at the step "Use Toolkit Package". There is no reference to that task sequence step in the MDT documentation. Im aware that this simply copies the "deployment share" so all the scripts etc that are necessary for future task sequence steps are available (In MDT only environments this was not necessary as the UNC path to the deployment share was always available - so this is an SCCM only step). Your reference states that it copies it to the local hard drive. This is not entirely true. I understand that when Winpe is loaded, it is loaded into a ramdrive and therefore my "Use Toolkit package" step which is the first in the task sequence is loaded somewhere into the "RAM" drive (probably under "X" drive somewhere?).

    So my assumption is that "Use toolkit package" must be run as the first task sequence step, then any time immediately after the winpe system is restarted. If, during winpe and before the OS is loaded onto the hard drive, you format the hard drive (which is often the case), you do not need to run "Use Toolkit.." as it still exists in the RAM drive. When you apply the OS and restart, and then run "Use toolkit.." again, it must magically work out that it is to then load to the hard drive and not the RAM drive. However, once the "deployment share" has been loaded to hard drive, Im assuming that you never need to run the "Use toolkit.." again even if the system restarts as once it is loaded to the hard drive, it remains there (assuming you dont format disks again which is unlikely after the OS has loaded).

    The answer to "when must you run Gather" is alot trickier. The first assumption is that Gather has to be run immediately after "Use toolkit..." as the system has initialised or restarted and none of the variables created by "gather" exist.

    Im guessing that "gather" may need to be run when you suspect that something in the rules file has changed. For example, you may have run a task sequence step that sets variable "A" for the first time. Your rules file may generate another variable, "B", based on variable "A" so "gather" must be run to evaluate "B".

    However, once the OS has loaded and "gather" has been run, the variables.dat file is created and remains permanently on disk so that if the machine is restarted again, you dont have to run "gather" as all the variables persist in variables.dat.

    All of the above is an educated guess as I have searched the web extensively and have not found a definitive explanation. I would be grateful if anything above could be confirmed/denied so this could remain as a definitive guide  that may not help just me, but others :-).


    David Z

    Tuesday, October 08, 2013 9:13 PM
  • Correct, I meant to be available locally (for WinPE or FullOS)
    In short, as I mentioned above:
    "use toolkit package" is required if the MDT toolkit content is not available locally (e.g. first time, after formatting, restart from WinPE)
    "Gather" gathers data and processing rules, so if there's any changes to the data then this task is required to re-run to gather the new changes (obviously, the Toolkit Package must be available)
    Tuesday, October 08, 2013 10:19 PM