Transcript Slide 1
Kim Oppalfens, Microsoft ConfigMgr MVP Maintaining your Application Deployment History when Re-deploying a Workstation 11 August 2011 Moderated by: Sponsored by: 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 • [email protected] • Favorite quote: The M in WMI stands for Magic! • 7th year ConfigMgr MVP • Co-Founder System Center user group Belgium • MyitForum mssms list member • Happily married and proud father of Lennart & Lauren • Hobbies: WMI Magician • Blog: http://www.scug.be/blogs/the wmiguy • 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/computersupgraded-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-obsoleterecords-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-refreshscenario-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 1. Define a base variablename (Eg:Applications) 2. Create variables (Collecion, Machine or TS) 1. (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) 3. Set variable values to PkgID:Programname 1. (Eg:P0100009:OSDInstall 1. 2. 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: 1. Need to know packageID’s & Program Names by heart (No Browse) 2. VariableNames cannot be altered (Requires deletion and re-creation 1. 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 1. ConfigMgr Console is easilly extended, as it is all WMI (and some XML) – Introducing the TaskSequence BaseVariable UI 2. 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 Static Collections Dynamic Collections Scripted TS Variables Users or Usergroups No Scripting knowledge required Apps installed on Finished TS Apps installed before user logs on 1 2 2 Allows for Application upgrades 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: [email protected] 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 protected] +1 (650) 641-6017 myITforum Rod Trent [email protected] +1 (513) 217-7122 Inovativ.be Kim Oppalfens ([email protected]) Twitter: theWMIGuy