June, 2008

  • Michael Niehaus' Windows and Office deployment ramblings

    Windows Vista driver management

    • 4 Comments

    In the Microsoft Deployment Toolkit (Lite Touch and Zero Touch for SMS 2003), as well as in ConfigMgr 2007, drivers are added just-in-time to a Windows Vista image as it is being deployed (after it is placed on the disk, but before it boots for the first time).  This is done using the PKGMGR.EXE utility or the underlying APIs to add new drivers into the Windows Vista driver store, a special directory structure (located in C:\WINDOWS\system32\DriverStore) that Windows Vista uses to hold both in-box drivers and "trusted" third-party drivers.

    It's worth noting that after MDT injects the drivers into the driver store, it no longer needs the local copies in C:\Drivers; they will be cleaned up later in the process.

    It's also possible to add drivers later, after Windows Vista is up and running (online), using PNPUTIL.EXE, a new utility for interacting with the driver store.  (Want to get really fancy?  You can even self-sign unsigned drivers.  See http://technet2.microsoft.com/windowsserver2008/en/library/4bbbeaa0-f7d6-4816-8a3a-43242d71d5361033.mspx?mfr=true for the details.)

    Let's say you just want to see what additional drivers have been added to the driver store.  That's pretty easy to do using PNPUTIL.EXE.  Just issue this command:

    PNPUTIL.EXE -e

    This will show a brief listing of all third-party drivers present in the driver store.  You can also delete third-party drivers (one at a time) using PNPUTIL.EXE -d, add drivers into the driver store with PNPUTIL.EXE -a, etc. 

    There are some other driver management improvements in Windows Vista worth mentioning:

    • Windows Vista will recursively look through specified directory structures (e.g. those specified via OEMPnpDriversPath or the DevicePath registry setting), so it's no longer necessary to list each subdirectory containing drivers like you needed to do in Windows XP.
    • Windows Vista allows the specification of network UNC paths to locations containing drivers.  A few comments about that:
      • Assuming the machine is domain joined, Windows Vista will use the computer account to access that share, so make sure security is set appropriately.
      • Obviously this doesn't work for all types of drivers, e.g. network drivers needed to get to the UNC share.
      • Don't point to huge directory structures as device installation can then take a very long time as it searches through the entire directory structure (generating lots of network traffic as it processes each INF file it finds) looking for a matching driver.
      • Don't assume laptops will be on the corporate network - they may need the drivers when roaming, so plan accordingly (i.e. consider adding them to the driver store).
      • This is probably most useful for common peripheral drivers - devices that are not present when the OS is installed but could be inserted at any point in the future.
    • Windows Vista can automatically download drivers from the Windows Update website (at least once you have a network driver loaded).  This works well for many devices, as there are thousands of drivers available via this method.  (Want to search through them yourself?  Be sure to check out the http://catalog.update.microsoft.com website.)
  • Michael Niehaus' Windows and Office deployment ramblings

    Sorting MDT's lists of applications, task sequences, patches, etc.

    • 6 Comments

    It seems to be a common request:  You want the MDT Deployment Wizard to show items sorted alphabetically.  So here's a simple script to do that:

    ' First parameter:  XML file name
    ' Second parameter: name of the element to sort on, e.g. Name (case-sensitive)

    If WScript.Arguments.Count <> 2 then
        WScript.Echo "Usage: cscript.exe SortXML.vbs <filename> <node to sort on>"
        WScript.Echo "Sample: cscript.exe SortXML.vbs C:\Distribution\Control\Applications.xml Name"
        WScript.Quit
    End if

    ' First load the specified XML file
    Set oXML = CreateObject("MSXML2.DOMDocument")
    oXML.PreserveWhiteSpace = true
    oXML.Async = false
    If not oXML.Load(WScript.Arguments(0)) then
        WScript.Echo "Unable to load XML file " & WScript.Arguments(0) & ", aborting"
        WScript.Quit
    End if

    ' Populate the XSL transform

    Set oXSL = CreateObject("MSXML2.DOMDocument")

    oXSL.loadXML "<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" >" & _
        "    <xsl:template match=""@*|node()""><xsl:copy><xsl:apply-templates select=""@*|node()""><xsl:sort select=""" & WScript.Arguments(1) & """ /></xsl:apply-templates></xsl:copy></xsl:template>" & _
        "</xsl:stylesheet>"

    ' Transform the XML and save it back

    oXML.transformNodeToObject oXSL, oXML
    oXML.Save WScript.Arguments(0)

    Save this as "SortXML.vbs" and then you can do things like this (substituting appropriate paths for your environment):

    cscript.exe SortXML.vbs C:\Distribution\Control\Applications.xml FullName

    cscript.exe SortXML.vbs C:\Distribution\Control\TaskSequences.xml Name

    cscript.exe SortXML.vbs C:\Distribution\Control\Drivers.xml Name

    For safety, make sure you have a backup copy of the file before you do this.  And don't do this while the Deployment Workbench is running, as it could overwrite your sorted file.

  • Michael Niehaus' Windows and Office deployment ramblings

    Automatically installing Hyper-V RTM with MDT 2008

    • 2 Comments

    Unless you've been hiding under a rock, you probably noticed that the final RTM release of Hyper-V was made available today for Windows Server 2008.  If you haven't tried Hyper-V yet, you've got to check it out - it's pretty impressive.  Now that it is RTM, you no longer have an excuse :-)

    John Howard posted a blog entry explaining how to inject the final Hyper-V update into a Windows Server 2008 WIM; read more about that at http://blogs.technet.com/jhoward/archive/2008/06/26/deploying-windows-server-2008-with-slipstreamed-hyper-v-rtm-part-1.aspx.  For those of you who are familiar with Microsoft Deployment Toolkit, you probably know that there is an easier way for Lite Touch deployments.  Here are the steps:

    1. Download the Hyper-V update from http://www.microsoft.com/downloads/details.aspx?FamilyId=F3AB3D4B-63C8-4424-A738-BADED34D24ED.  (Note that this is for x64 only, since Hyper-V is a 64-bit only feature.)
    2. (Optional)  Download the Hyper-V management tool updates that you may need (note that these require Windows Vista SP1, and no separate package is needed for Server 2008 x64 since the management tools are included in the update downloaded in step #1):
      Windows Vista SP1 x64: http://www.microsoft.com/downloads/details.aspx?FamilyId=88208468-0AD6-47DE-8580-085CBA42C0C2
      Windows Vista SP1 x86: http://www.microsoft.com/downloads/details.aspx?FamilyId=BF909242-2125-4D06-A968-C8A3D75FF2AA
      Windows Server 2008 x86: http://www.microsoft.com/downloads/details.aspx?FamilyId=6F69D661-5B91-4E5E-A6C0-210E629E1C42
    3. Import all the downloaded updates into Deployment Workbench in the "OS Packages" node.  (MDT 2008 will automatically extract the needed CAB files from the MSU files that you downloaded.)
    4. Deploy an OS :-)

    That's all there is to it: MDT 2008 will automatically inject the appropriate updates into Windows Vista SP1 (x86 or x64) and Windows Server 2008 (x86 or x64) as part of the OS deployment process, so they will be there from the first boot of the OS.

    Now if you actually want to install the Hyper-V role, you can do this using the "Install Roles and Features" action.  Just add it into your Windows Server 2008 task sequence, check the "Hyper-V" role, and it will be installed.

    You'll have to wait for the Hyper-V updates to be available through Windows Update before you can do the same thing with ConfigMgr 2007, but fortunately you won't have to wait long: those updates will be published in the next couple of weeks.

  • Michael Niehaus' Windows and Office deployment ramblings

    It's official: Microsoft certifies that I can indeed configure Windows Vista

    • 4 Comments

    I recently participated in some discussions around Microsoft certifications, which reminded me of how long it has been since I've actually taken a certification exam.  So I decided I would get back into it again, and decided to start with something I should be able to handle with little difficulty, considering I've been working with Windows Vista for, well, since before it was even called Windows Vista:  exam 70-620, Configuring Windows Vista Client (http://www.microsoft.com/learning/en/us/exams/70-620.mspx).  So I scheduled the exam on Friday and walked in this morning, without any preparation except for "real world experience."

    There were plenty of questions on the exam that made me cringe, not because of what they were asking but because of how the questions began:

    You are an IT professional responsible for supporting PCs for your company.  A user in your organization is running Windows Vista Ultimate.

    Of course we all know that you would normally want to run Windows Vista Business or Windows Vista Enterprise in your organizations.  And they get better:

    You are an IT professional responsible for supported PCs for your company.  A user in your organization is running Windows Vista Home Basic and would like to upgrade to Windows Vista Ultimate.

    Yikes.  I don't think I want to work for that company.  Overall, though, it wasn't a bad exam and I passed easily, so now I am indeed qualified to configure Windows Vista clients.  Aren't you glad?  :-)  If you are looking to take the exam yourself, be sure to know Windows Defender, Windows Meeting Place, Windows Mail, Internet Explorer add-on configuration, Windows Sidebar, Windows Calendar, Windows Fax and Scan, and connecting to networked video projectors.  And then there's the topics that you know will be stressed, like User Account Control, Windows Firewall, network configuration and troubleshooting, Device Manager, etc.

    The funniest part: In the "Sectional Results" area of the exam results page, my weakest area was "Installing and Upgrading Windows Vista."  Sigh, back to work on the full-time job of installing and upgrading Windows Vista.

  • Michael Niehaus' Windows and Office deployment ramblings

    New chipsets due soon from Intel

    • 0 Comments

    It's a Windows XP or Server 2003 image builder's nightmare: a new chipset that needs to be supported by your images.  Why is it such a big deal?  Because new chipsets mean new drivers, or at least new versions of existing drivers.  And that includes new mass storage drivers.  And adding a new mass storage driver typically means rebuilding and recapturing your Windows XP and Server 2003 images.  (This isn't nearly as big of a deal for Windows Vista and Windows Server 2008 as you can inject these drivers without much fuss.)

    The first signs of Intel's newest desktop 4 Series chipsets, which include the X48, G43, G45, P43, and P45, are showing up on the Intel site.  First up is an updated Intel Matrix Storage Manager driver (iastor, one of our "favorites"), posted today and downloadable from http://downloadcenter.intel.com/filter_results.aspx?strTypes=all&ProductID=2973.  Machines that include these chipsets can't be too far behind.

Page 1 of 1 (5 items)