Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: MGT321 Agenda General driver babble Why is this so hard? Product-specific ways to help Windows Update, Windows.

Download Report

Transcript Michael Niehaus Senior Software Development Engineer Microsoft Corporation Session Code: MGT321 Agenda General driver babble Why is this so hard? Product-specific ways to help Windows Update, Windows.

Michael Niehaus
Senior Software Development Engineer
Microsoft Corporation
Session Code: MGT321
Agenda
General driver babble
Why is this so hard?
Product-specific ways to help
Windows Update, Windows Server Update
Services, Windows Update Catalog
Windows Deployment Services in Windows Server
2008 R2
MDT 2008/2010 (Lite Touch)
ConfigMgr 2007 (Zero Touch)
Q&A
General Driver Challenges
In an ideal world, OEMs would make this easier. Challenges:
Multiple packaging methods
No simple extraction methods
Applications that may or may not be needed for full functionality
Applications that also (re)install drivers
New versions that drop support for old devices
Badly-formed drivers (INFs)
Two-phase drivers (bus drivers)
Unsigned versus signed drivers
But there is hope
All it takes is one vendor to show the way…
More Than Hypothetical
You launch the application, drill in and select what you want
… for example, Vista x64, then select the models you
want, select a name an location for the drivers to be
downloaded to, and then hit the ‘make package’ magic button
that will go to the Internet and pull down the RAW drivers for
everything you selected.
The drivers will probably come down in one cab file (a custom
cab file for the stuff you selected), … move that cab file to
wherever you want, and extract it … and then you’ll see obvious
subfolders (Audio, Network, Video, etc) if you care to look
inside.
You should be able to take that extracted cab and use it with
ConfigMgr or MDT…
General Driver Challenges
In an ideal world, there would be less drivers to worry about.
Challenges:
A constantly changing list of “supported” hardware
Weak or no controls over hardware procurement
Peripherals and portable devices, both at work and at home
Rapidly-changing PC hardware
“Configuration of the day” vendors
Chipsets
Intel vs. AMD
Preach the virtues of Infrastructure Optimization,
standardization
Maybe even less frequent purchases – not keeping machines longer, but
buying less frequently and in larger batches
What’s the real cost of a new PC? Consider cascading.
General Driver Challenges
Warning: Windows 7 may complicate matters somewhat
More “picky” about drivers being injected offline
Those with INFs that reference files that aren’t present in the driver folder will
fail to inject
Injection failures will cause SETUP failures:
DISM Driver Manager: PID=1804 Failed to stage driver package
'\Drivers\HIDClass\SYNHI_7.5.17.20\SYNTP.INF' (HRESULT = 0x80070002).
The same driver will install file online
Tools may be required to help sort “good from bad”
Prune now!
Unattend.xml answer files must always specify valid driver paths (Windows
Vista didn’t care)
MDT 2008 specified paths that weren’t valid (e.g. X:\Drivers and C:\Drivers)
SETUP will fail on invalid DriverPaths
General Driver Solutions
Windows Vista and above!
No more worrying about [SysprepMassStorage] and
all other mass storage driver challenges
Remember when the length of OEMPnpDriversPath
was an issue?
Thin images!
Including hundreds of MB of drivers in the image is
now a thing of the past
Maybe still best to include all mass storage drivers
in a Windows XP image (even though ConfigMgr
can inject them offline)
General Driver Solutions
What approach to take
“Chaos”
“Control freak”
Throw them all in, let the system
and/or Windows
figure it out
Simplifies administration,
repository management
Find a happy medium
Explicitly configure what
drivers should be used for
each machine
Addresses supportability
concerns, compatibility issues
Windows Deployment Services
Driver management features in Server 2008 R2
New “Drivers” node
Import drivers one at a time or recursively
Assign drivers to one or more groups
Groups are configured to either install all drivers or those just matching on PnP
IDs
Groups can also specify filter criteria – if the criteria isn’t met, nothing in the
group will be used
Drivers can be added to boot images
WDSUTIL can also be used for importing and assigning to groups
When deploying an OS image from WDS, drivers will automatically be
processed
Makes for an “easy” deployment scenario, especially when combined with
USMT 4
It may be possible to use outside of WDS too (TBD, depending on API
documentation)
Windows Deployment Services in Windows Server 2008 R2
Michael Niehaus
Senior Software Development Engineer
Microsoft Corporation
Windows Update, WSUS, etc.
How can they help?
Primarily designed for “online” driver installation
Not too useful for mass storage and network drivers
Windows Update Agent client downloads and installs new
drivers as needed, from either WU or WSUS
Windows Update Agent is scriptable, to automate the
process
WSUS provides ways to access its content via admin tools or
APIs
Windows Update Catalog useful for downloading
content from the WU backend
http://catalog.update.microsoft.com
WSUS and WU Catalog
Michael Niehaus
Senior Software Development Engineer
Microsoft Corporation
Microsoft Deployment Toolkit 2010
Driver management features
Deployment point holds driver repository
Import all needed drivers
Arrange drivers into groups
“Auto apply” using folders to filter
“Always apply” using folders to filter
Drag-and-drop coming soon
Offline injection “just in time”
Windows XP/2003 (except mass storage) and above
Automates boot image maintenance
Designed to be dynamic
Rules-based process to help filter
Microsoft Deployment Toolkit 2010
Driver management features
Integration with Windows Update or WSUS
Install driver updates once in the new OS
Potentially used with inventory tools to help
with assessment
Microsoft Assessment and Planning (MAP)
Application Compatibility Toolkit (ACT)
MDT 2010 Driver Management
Michael Niehaus
Senior Software Development Engineer
Microsoft Corporation
ConfigMgr 2007
Driver management features
Driver catalog
All available drivers, populated by the IT pro
Driver packages
Used for two purposes:
Driver distribution (replication)
“Forced” driver installation
Driver categories
Used as a filter when automatically detecting needed
drivers
Offline injection “just in time”
Boot image management
ConfigMgr 2007
Driver management features
Auto apply drivers
All available packages are considered
Drivers are matched by PnP ID
Drivers can be filtered by user-defined categories
Not supported with standalone media
Apply driver package
Only the specified package is used
All drivers are injected
Categories aren’t used
Only choice for XP/2003 mass storage drivers
Can be used with task sequence conditions
Limited scalability
ConfigMgr 2007
Driver management features
Inventory and reports
Can help with the assessment phase
Collect information on installed drivers, PnP
information
Integrates with online App Compat driver database
to determine compatibility, availability
ConfigMgr 2007
Advanced scenarios
Auto apply drivers
Dynamically override categories, identified by GUID
Moderately difficult
http://blogs.technet.com/deploymentguys/archive
/2008/04/18/configuration-manager-dynamicdriver-categories.aspx
Apply driver package
Dynamically override mass storage driver
Very difficult
ConfigMgr 2007
Other complications
ConfigMgr will not import duplicates
Modify the folder contents each time you want to
import (hack)
Create a customized import process using the SDK
Chipset drivers require extra handling
INFs “include” in-box INFs, making injection more
challenging
Include in image or add “include” files
ConfigMgr 2007 Driver Management
Michael Niehaus
Senior Software Development Engineer
Microsoft Corporation
Moving Forward
Potential areas for investment
Several driver repositories?
Need to integrate, synchronize, or merge
Assistance with managing large scale repositories?
Locating duplicates, old versions, bad drivers
Reporting, searching
Readiness?
Are all the drivers needed for the machine, either in the
image (in-box or otherwise) or in the driver repository?
Any other ideas?
Resources
www.microsoft.com/teched
www.microsoft.com/learning
Sessions On-Demand & Community
Microsoft Certification & Training Resources
http://microsoft.com/technet
http://microsoft.com/msdn
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training Resources
Related Content
Breakout Sessions
WCL309: Microsoft Deployment Toolkit 2010: the Next Generation
Hands-on Labs
WCL02-HOL: Getting Started with Microsoft Deployment Toolkit 2010
WCL04-HOL: Lite Touch Installation Using Microsoft Deployment Toolkit 2010
WCL09-HOL: Zero Touch Installation Using Microsoft Deployment Toolkit 2010 and
System Center Configuration Manager
WCL10-HOL: Windows 7: Using Microsoft Deployment Toolkit 2010 Beta to Create
Standard Images to Handoff to OEMs
Track Resources
Key Microsoft Sites
System Center on Microsoft.com: http://www.microsoft.com/systemcenter
System Center on TechNet: http://technet.microsoft.com/systemcenter/
Virtualization on Microsoft.com: http://www.microsoft.com/virtualization
Community Resources
System Center Team Blog: http://blogs.technet.com/systemcenter
System Center Central: http://www.systemcentercentral.com
System Center Community: http://www.myITforum.com
System Center on TechNet Edge: http://edge.technet.com/systemcenter
System Center on Twitter: http://twitter.com/system_center
Virtualization Feed: http://www.virtualizationfeed.com
System Center Influencers Program: Content, connections, and resources
for influencers in the System Center Community. For information, contact
[email protected]
Complete an
evaluation on
CommNet and
enter to win!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.