Loading in 2 Seconds...
Loading in 2 Seconds...
Kim Oppalfens, Microsoft ConfigMgr MVPMaintaining your Application Deployment History when Re-deploying a Workstation 11 August 2011
Agenda • Welcome • Introduction • BDNA & myITforum • Kim Oppalfens: Maintaining your Application Deployment History when Re-deploying a Workstation • Q&A • Wrap Up
BDNA ~ Normalize & SCCM • Constantin Delivanis, CEO
myITforum • Rod Trent, myITforum • All things “System Center” • Since 1999 • Large and growing community (120,000 visitors a day) • Huge storehouse of System Center knowledge • Noobies to experts • Even Kim is hanging around at myITforum
Kim Oppalfens • Innovativ.Be Principal consultant • Author of SccmAutodoc & Instant Delivery • Nickname: “The quiet shy guy” according to my MVP buddies • Kim.email@example.com • Favorite quote: The M in WMI stands for Magic! • 7th year ConfigMgr MVP • Co-Founder System Center user group Belgium • MyitForummssms list member • Happily married and proud father of Lennart & Lauren • Hobbies: WMI Magician • Blog: http://www.scug.be/blogs/thewmiguy • Twitter: TheWMIGuy
Agenda • Why would you want to maintain your application deployment history? • How can you maintain your application deployment history? • Retaining the client’s resourceID • Retaining the client’s dynamic collection membership • Rebuilding the application deployment history using task sequence variables • Q&A
Why? • Machine in an as ready as possible state when delivered to the end user. • Why not? • Licensing cleanup • Application rationalisation
Retain the Client’s resourceID1 • Start re-imaging process from live OS • http://blogs.technet.com/b/configmgrteam/archive/2011/02/14/computers-upgraded-to-windows-7-using-osd-might-generate-a-new-sms-guid.aspx • Pro’s: Native functionality • Con’s: Some challenges to prevent end-user re-imaging themselves, Not always feasible or practical • Implement native mode • Client will retain identity if client cert has the same subject name. • Pro’s: Native functionality • Con’s: A bit of overhead on the implementations • “Manually resolve conflicting records” • Merging “obsolete” records: http://ccmexec.com/2011/03/merging-obsolete-records-in-configuration-manager-2007/ • Pro’s: Auto-handled solution • Con’s: Some security concerns
Retain the Client’s ResourceID2 • Run Tranguid.exe (Sms 2003 Toolkit2) to backup smscfg.ini identity • Tranguid.exe /G %computername%.ini • http://scug.be/blogs/sccm/archive/2008/10/27/sccm-in-place-upgrade-refresh-scenario-issues-solutions-with-tranguid-exe-part-1.aspx • Con’s: • Requires tranguid command line to run prior to ReImaging • Not confirmed to be working with Windows 7
Retaining dynamic collection membership • Retaining the resourceID will help till the next collection eval cycle. • Build dynamic collections based on computername using the list value criterion type • Pro’s: Real easy • Con’s: can become challenging to manage really fast. • Build dynamic collections based on Active Directory Groups • Pro’s: Uniform way of managing through Active Directory • Con’s: Introduces delay waiting for ConfigMgr System Group discovery and collection Evaluation Cycle • Delta discovery in ConfigMgr 2007 R3 + Dynamically add new resources to collection helps for OS Deployment • Delta discovery & Dynamically add new resources doesn’t do squat for adhoc software distributions
Rebuilding the application deployment history using task sequence variables • Explaining Tasksequence Basevariables • Define a base variablename (Eg:Applications) • Create variables (Collecion, Machine or TS) • (Eg: Applications001 & Applications002) • Condition1: Variable Name has to end with 3 digits • Condition2: The 3 digit sequence has to be un-interrupted (EG: 001,002,003) NOT (001,002,004) • Set variable values to PkgID:Programname • (Eg:P0100009:OSDInstall • Condition1: Program runs as admin, whether or not user is logged on, and without user Interaction • Condition2: Program is configured to Allow installation from tasksequence without being advertised.
Rebuilding the application deployment history using task sequence variables – Issue • The UI for base variables isn’t the best: • Need to know packageID’s & Program Names by heart (No Browse) • VariableNames cannot be altered (Requires deletion and re-creation • Annoying combined with the fact that your 3-digit code needs to be sequential • Collection & Machine variables are static
Rebuilding the application deployment history using task sequence variables – Fixes • ConfigMgr Console is easilly extended, as it is all WMI (and some XML) • Introducing the TaskSequence BaseVariable UI • Using the Taskseqence Variable COM Object to dynamically generate BaseVariables (Only 2 lines of code) dim osd: set env = CreateObject("Microsoft.SMS.TSEnvironment") env(“Applications001") = "Eg:P0100009:OSDInstall"
Application history by Vbscript – Potential sources for info • Active Directory groups • ConfigMgr Hardware Inventory/ Asset Intelligence • Caveat: Working based on Add/remove program display names can be challenging • BDNA Normalizes ConfigMgr data and uploads it as queryable WMI data • Client registry (Uninstall/windows installer) • CCM_Softwaredistribution in WMI • Caveat: Contains all received advertisements • ...
MDT 2010 Update1 Package Mapping • MDT uses its own mechanism using a Package Mapping table to dynamically create Task Sequence variables • Populates the UDI Wizard with pre-detected apps
Deploy to Users or Usergroups • Elegant solution • Pro’s: • applications are used by users, • user usually doesn’t change with a redeployment • Con’s • When user logs on to a different workstation -> Installation hell* • Application installs not ready when machine is delivered to end-user* • * Both issues are fixed in ConfigMgr 2012 using the App model’s Global conditions and User device affinity integration into OSD
Overall Pro’s & Cons 1 Yes, With ConfigMgr 2012 user centric deployment & User device affinity 2 Introduce waiting period in provisioning to allow normal Machine Policy based advertisements to run
Personal Preference • Active Directory Computer group deployments • Coupled with a TaskSequence script to enumerate computer group memberships • Keep package names and Active Directory groups identical • Create standardized OSDInstall program that meets the OSD program requirements
Call to Action For System Center Enthusiasts: http://technet.microsoft.com/nl-be/ff898387(nl-be)?ocid=aff-n-be-loc--UG-virtpart2 For deployment enthusiasts: http://technet.microsoft.com/nl-be/ff898349(nl-be)?ocid=aff-n-be-loc--UG-desktop For people that love to play with new stuff: BDNA Normalize as a service: http://itc.bdna.com/UserSignUp.aspx Microsoft Evaluations: http://technet.microsoft.com/nl-be/evalcenter For people interested in SccmAutodoc or SCCM Instant delivery: Contact me for quotes: firstname.lastname@example.org
Wrap Up Next SCCM GURU Webcast: • September 14, 2011 • John Nelson, SCCM MVP & President, Minnesota System Center User Group www.bdna.com/sccm-guru
Thanks for attending! To thank you for participating in our SCCM GURU webcast, we’d like to offer EVERYONE on the webcast a super cool SCCM GURU Webcast T-shirt. Please register here: www.bdna.com/kim
Questions, Contact Info BDNA Matt Lefer email@example.com +1 (650) 641-6017 myITforum Rod Trent firstname.lastname@example.org +1 (513) 217-7122 Inovativ.be Kim Oppalfens (email@example.com) Twitter: theWMIGuy