As you’ve read before on this blog (http://brpo.spaces.live.com/blog/cns!25A2E9EE5C828DD6!158.entry), I am trying to automate as much as possible the SCCM management, including Installation and reinstallation of the OSs.
In case of a reinstall of OS, one issue is to find which applications the computer had installed and reinstall those as needed during the OSD task sequence (this is quicker than after installation). Some scripts allow you to check AD for membership of groups, etc, but there is actually an easier way: collection variables.
I choose to deploy applications in our environment based on AD group membership. If your computer is part of a specific AD group, this membership will also make you member of the linked Sccm collection. As specified in the post up here, you can also make use of users and the ManagedBy field to update membership of the same collections. What happen then is that once your computer is reinstalled, or a new computer is pre-staged, those group membership allow post-install automated installation via Sccm.
One better way to do this is to use the collection membership variables. If you right click a collection and select ‘Modify collection settings’ you get besides others, a tab named Collection Variables. Here you can set variables and values that each member of the collection will be able to use within Sccm and OSD.
Let’s say i have a collection named Acrobat8std based on Ad group sms_acrobat8std, I can define a variable – for simplicity i call it ACROBAT8STD and set it to TRUE
Now in my Task Sequence, I can use this variable to install an application. I just have to add a condition that runs the subtask only if the Variable ACROBAT8STD is TRUE. As collections based on Group membership are dynamic, the simple fact of adding a computer or user in an AD group make the sofware installation automatic during the Task Sequence. Since you can use different Variables at the same time you can also filter the applications you install based on Domain, etc.