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