Chris Nackers Blog

ConfigMgr and MDT Deployment Solutions

Useful Blogs

User Groups

August 2011 - Posts

Querying MDT/ConfigMgr Logs in MDT Scripts

Michael Murgolo has a nice post over on The Deployment Guys Blog.

Read the full post here.

The Lite Touch Deployment Process end in a Summary Wizard pane that displays any warning or errors that were logged in the MDT master log (BDD.log).

clip_image001

This is a great feature but customers have pointed out that this summary is not preserved after the Summary Wizard is closed.  If you accidentally Finish before reading everything, you now have to open the log and start trawling through it.

So what I was initially going to do to preserve this information was to change Summary_scripts.vbs (the part of the Summary Wizard code that does the work) to write the same information to a text file.  However, as I pondered this I realized that there was no general purpose function for querying logs in SMS format.  So instead of just changing Summary_scripts.vbs I decided to create such query functionality and then use that.

…..

USMT 4.0 and Migrating Examples

Deployment Master Michael Niehaus has a few new posts from his adventures at TechEd New Zealand.  He even used Angry Birds for an example, very cool!

Migrating application settings with USMT 4.0: Sample #1

Out of the box, USMT 4.0 migrates settings for Windows, Office, and various other applications (typically current versions as of 2009), mostly consumer-focused.  (See http://technet.microsoft.com/en-us/library/dd560792(WS.10).aspx for the full list.)  So what if you want to migrate settings from additional applications?  Well, then you need to author your own migration XML file.

Migrating offline files (CSC) using USMT 4.0

One of the questions that came up after my TechEd New Zealand session on USMT 4.0 was whether USMT migrated the contents of the client-side cache (CSC) used for offline files.  Well, it sounds like it “sort of” does – but by default, it only moves the “dirty” files (those not yet sync’d to the network location).  That’s a decent default I suppose, as the remaining files can be pulled back from the network after the state is restored, and the modified files won’t be overwritten.  So there’s no data loss (always a good thing), but there will be extra network traffic to pull the content down to the cache again.

Posted: Aug 24 2011, 11:56 AM by cnackers | with no comments
Filed under: ,
ConfigMgr-Update Driver Source Paths SQL Query

CAUTION: Editing the Database directly is unsupported.  Proceed at your own risk. 

In addition to my previous post, in which I used a script to update the driver paths, you can also do this via SQL. 

The following command will let you preview the changes you are about to make:

image

image

The following command will execute the changes.

image

image

The SQL query is attached to this post.

ConfigMgr–Building A Reference Image-Installing Hotfixes/Updates Offline

If you build your reference image using Microsoft Deployment Toolkit Lite-Touch, it’s fairly easy to incorporate OS level hotfixes and updates offline, some good examples are the following:

A "Set Network Location" dialog box appears when you first log on to a domain-joined Windows 7-based client computer

An update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks is available

These types of updates aren’t available typically from Microsoft Update, so your normal Software Update steps in ConfigMgr don’t do the trick.  When we use Lite-Touch, we have a “Packages” node where we can import these types of hotfixes, updates or Language packs and they will be installed automatically for us by the ZTIPatches script. 

image

image

What I’ve seen most people do in ConfigMgr is they will create an individual package for each hotfix and then install them like an Application in the Task Sequence using a wusa.exe command line. 

image

This works just fine, however, you are installing the hotfixes while in the full OS and you need multiple steps for each update.  I’m sure you could come up with a fancy way to use a single step to install multiple updates via a script, but, MDT already can do that for you, so why reinvent the wheel!

Installing Multiple Hotfixes/Updates Offline Using a MDT Task Sequence

Using a MDT integrated Task Sequence, we can install multiple hotfixes/updates in a single step for multiple architectures using a single package.

First we need to get the CAB files for the hotfixes/updates we want to work with.  You can use your favorite extractor to get the files out of the MSU’s. 7-Zip did the trick for me and allowed me to do multiple files at once.

image

Once extracted, you only need the CAB, so I removed the other files from the folder.

image

Next I created a package source folder called “Windows 7 Hotfixes” and placed the extracted files in that folder. This folder contains both x86 and x64 hotfixes.

image

Create a Package that references those source files and distribute it to your Distribution Points.

image

Next, open up your Build and Capture Task Sequence. We want to add a new action to our Post Install phase, “Install Language Packs Offline”.  This step actually calls ZTIPatches.wsf, so it’ll do what we want, just like in MDT Lite-Touch.

image

Select the Package you created earlier called “Windows 7 Hotfixes”.

image

Name the Task Sequence step appropriately.

image

Make sure your Task Sequence step is BEFORE the Configure step in the Post Install section.

image

Now when you run your Build and Capture Task Sequence, we will install the hotfixes offline and we’ll scan through the package and grab any applicable hotfixes/updates. If we find a x64 update and we are building an x86 OS, we’ll just skip it and only grab the x86 hotfixes that match.

Here we can see them installed on a system I deployed my captured image to.

image

Deploying Office 2010 with Configuration Manager 2012 Beta 2

Michael Niehaus has a great post over on his blog covering Office 2010 with ConfigMgr 2012 Beta 2. 

Read the full post here.

The new application model in Configuration Manager 2012 will require administrators to study up on how best to deploy software – this isn’t anything like traditional software distribution like you would find in ConfigMgr 2007.

I recently set up Office 2010 as an application in ConfigMgr 2012 Beta 2.  Here are the steps I used – not necessarily the only way to do it, but it worked for me.

Known Issue and Workaround: Duplicate Records When You Use Unknown Computer Support with Active Directory Delta-Discovery

Really great post over on the System Center Configuration Manager Team Blog.

Read the full post here.

This post describes how and when you might see duplicate records when you use unknown computer support with Active Directory Delta-Discovery in Configuration Manager 2007 R3, what problems you might see, and some suggested workarounds.

Unknown computer support is an operating system deployment feature that was introduced in Configuration Manager 2007 R2.  It allows you to find unmanaged computers so that you can install an operating system on them, and optionally, install the Configuration Manager client:

http://technet.microsoft.com/en-us/library/cc431374.aspx. Active Directory Delta Discovery is a new feature in Configuration Manager 2007 R3 that enhances the discovery capabilities of the product by discovering only new or changed resources in Active Directory Domain Services instead of performing a full discovery cycle: http://technet.microsoft.com/en-us/library/ff977086.aspx.

If you use these two features at the same time, you might see duplicate records for the unknown computer in Configuration Manager database.  In this scenario, you will see two records in the Configuration Manager console that have the same name of the computer that installed an operating system by using unknown computer support: One record shows that it is a client and assigned; the other record shows that it is not a client and not assigned.

E-books for Microsoft Office 2010

Read the original post here.

E-reader devices Use these free, downloadable e-book versions of Microsoft Office help articles as a training book that won’t close while your fingers are on the keyboard. They’re easy to carry along so you can brush up on your skills for a few minutes while you’re waiting in line.

This small collection is a trial to see if you like the e-book format. Use the voting buttons at the bottom of this article to let us know if you think they’re useful. And, let us know what else you’d like to see made available in this format.

EPUB format

These e-books are in .EPUB format, which is a standard e-book format that can be read by many devices and applications.

Best Practices for Outlook 2010

Creating everyday documents that stand out from the crowd

Basic Tasks in Word 2010

Basic Tasks in Excel 2010

Basic Tasks in PowerPoint 2010

Basic Tasks in Outlook 2010

Basic Tasks in OneNote 2010

Basic Tasks in Visio 2010

MOBI format

These e-books are in .MOBI format, which can be read by apps and devices including the Amazon Kindle.

Best Practices for Outlook 2010

Creating everyday documents that stand out from the crowd

Basic Tasks in Word 2010

Basic Tasks in Excel 2010

Basic Tasks in PowerPoint 2010

Basic Tasks in Outlook 2010

Basic Tasks in OneNote 2010

Basic Tasks in Visio 2010

How do I get the e-book on my device?

There are too many devices and applications to cover here, so be sure to check the documentation for your e-reader. Here are instructions for some popular e-readers.

Amazon Kindle (Latest Generation)
To download using the Kindle Web Browser
  1. On your Kindle, open the Web Browser.
  2. Navigate to this web page.
  3. Use the 5-way controller to move the cursor to the link for the MOBI-format e-book you want.
  4. Press the center button in the 5-way controller.
  5. Follow the download prompts.
To download to your computer and transfer the files to your Kindle
  1. Download the MOBI-format version of the e-books to your computer.
  2. Connect your Kindle to the computer using a USB cable.

The Kindle shows up as a USB drive on your computer.

  1. On your computer, open the Kindle drive and then open the Documents folder in the Kindle.
  2. Drag the e-book files you downloaded into the Documents folder.
  3. Eject your Kindle and disconnect it from the computer.
iPhone
  1. Check whether your e-reader app reads EPUB or MOBI format e-books.
  2. Download the e-books in the appropriate format to your computer.
  3. Connect your iPhone to your computer.
  4. Start iTunes.
  5. Under Devices, select your iPhone.
  6. At the top of the window, click the Apps tab.
  7. Scroll down to File Sharing, and drag the e-books into the window for your e-reader app.
  8. Click Sync.
Posted: Aug 17 2011, 04:44 PM by cnackers | with no comments
Filed under: ,
ConfigMgr–Automating The PreLoadPkgOnSite Tool Script

Credit to Greg Ramsey for writing the script.

In addition to this post, be sure to read John Marcum’s blog post:

Packages Will Not Uncompress After Using Preloadpkgonsite.exe

After upgrading a few servers at a client site, we had to reinstall the Secondary Sites. Surprisingly we didn’t want to resend 400+ packages across the WAN to the remote sites.  The PCK files were still sitting on the server from the previous installation. 

After reading John’s post and chatting with Greg Ramsey, I decided to use his script.  I had a few issues initially and Greg being the awesome guy he is helped me sort them out. 

One VERY important thing to note is that you have to send at LEAST one package to the remote site before you can preload content, not sure why that is the case, but John saw the same thing.  After sending one package, the preload tool works great. 

Once you have the script, you’ll need to make sure the paths are correct for your environment and it’s pointing to the correct server.

Make sure the connection string is pointing to the right server and site code.

image

Make sure the SMSPKG folder paths are correct.

image

Make sure the output path is correct as well.

image

Next we want to run the createpreloadbat.ps1 script in powershell.

image

You will end up with a preloadpck.bat in the output path and you will see the script spit out all the PCK’s it found.

image

image

Next if you run the preloadpck.bat, you will see it update the database. You will see it make the connection to the database and it will let you know if there are any issues.  (in this example screenshot the packages are already distributed)

Again, remember you have to send at least one package ahead of time (pick a small one), otherwise you’ll see a rights error.

image

Finally you can add your DP to the package using the copy packages wizard or CloneDp or whatever you want to use. When the DP receives the request for the package it will use the local PCK instead of requesting a new one.

Enjoy!

Script is attached to this post.

ConfigMgr–Update Driver Source Paths Script

I was recently at a client and we were condensing down their hierarchy and retiring a few servers. After we had replicated all the packages between the sites, we needed to update the application source paths to reflect the new location. I already had a script to that and create a log that would identify all the changes.  We also needed to update all the drivers in the database with the new source paths as well.  I modified my package script to do the same for drivers and log the changes in a nice friendly log. 

This script uses the MDT wsf format so that we can output a nice readable log. 

Here is a sample output of what the log looks like.

clip_image002

Script is attached to this post. 

Useful ConfigMgr Resources (Updated)

Great post with a nice list of ConfigMgr resources. Thanks to Rob York and Saud Al-Mishari.

Read the original post here.

========================================================

ConfigMgr Resources/Information:

ConfigMgr Design Resources

OS Deployment

Out of Band Management

Setting Environment Variables in a Task Sequence

Michael Murgolo has a nice post over on The Deployment Guys blog.

Read the full and download the example script here.

Some tools require setting an environment variable when they are used.  For example, the User State Migration Tool has several that can be used for troubleshooting.  One is discussed in the Ask the Directory Services Team blog post here.  Unfortunately, the built-in MDT or ConfigMgr Task Sequence steps for capturing and restoring the user state don’t allow you to set environment variables.

Trying to set the environment variable using a script in a preceding step will not work.  If you set an environment variable in the script (e.g. using the SET command in a command shell script) it will only be set for that script.  The task sequencer parent process will not inherit the environment variable, so neither will subsequent steps.  Setting a System (or master) environment variable will have the same issue.  The task sequencer will not inherit the new master environment.   However, if you restart the computer after setting the System environment variable then task sequencer will inherit the updated System environment variables.

So the process for using an environment variable with something like USMT is to have steps before the steps that run the tool (the user state capture and restore steps in this case) that set the variable in the System environment and then restart the computer.  This is shown in the steps prefixed with Custom: in the sample MDT Lite Touch Task Sequence below.

…..

Updated version of the Configuration Manager shutdown utility

CoreTech has updated their nifty shutdown utility.

Read the original post here.

Based on feedback we have updated our Shutdown utility described in this post to include a company logo. To display the logo, create a jpg, png or bmp files in the same folder as the utility and name it shutdowntool.jpg/png/bmp – simple Smiley

image

Download the new version here: ShutdownTool-0.6.0.zip

Once again, credit goes to Claus Codam for being the main developer