Thursday, April 30, 2015

Dell SMTD 8.1 Released

The new Dell Systems Management Tool and Documentation ISO version 8.1 has been released.  In relation to Configuration Manager 2012 and the Dell Server Deployment Pack, the new SMTD 8.1 can be used to import drivers for all 12G and 13G servers only.

There are no 11G or older server driver packages in this release.  For 9G-11G, you must use the SMTD v7.4.

Wednesday, April 15, 2015

How to import server driver packages with Dell Server Deployment Pack 3.0 into ConfigMgr 2012 R2

The Dell Server Deployment Pack (DSDP) is a Microsoft System Center ConfigMgr plugin that helps create boot media with Dell server drivers injected and lets you select server models and Operating Systems that you want to import driver packs for.  The driver packages can then be used for various things including being attached to Task Sequences for Bare Metal Deployment.

Install the Dell Server Deployment Pack 3.0 using the Install Guide that comes in the download package.

The install log is located at C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\bin\Deployment\Dell\PowerEdge\Setup.  There you can find the DSDPInstaller.log and DSDPInstallDebug.log.

You will also need the Dell Toolkit.  There are several versions available.  Read the Fixes and Enhancements, Compatible Systems, and Supported Operating Systems to find the version you need.  As long as you are using a server that is 10G - 13G and the OS is 2008 R2 - Server 2012 R2, I suggest you use DTK 5.1.  I say that having not fully tested 5.1 yet, but based on that 5.1 should support the newer 13G servers with Server 2012 R2.

DTK 4.4.1 -
DTK 5.0.2 -
DTK 5.1 -

And you will need to make sure you have the latest version of the Windows Automated Deployment Kit (ADK), which is 8.100.26629 from 9/15/2014.  Here is the link:

To install the DTK, right click on the Packages container and follow through to Launch Deployment Toolkit Configuration Wizard.

On the first screen of the DTK wizard you will point to the EXE of the downloaded DTK.  In this picture I had the previous version (4.4) imported showing on the left and then on the right it shows what will be imported with the new 5.1 version.

Next screen lets you build a new boot image by combining the Dell drivers in the DTK with your choice of the boot image in the ADK, an existing image in ConfigMgr, or a custom image at another location.

The screen after this one lets you name and version the boot image.  This will take a couple minutes to build the boot image, which can then be seen in the Boot Images container in ConfigMgr.  Log files for this process are located at C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\bin\Deployment\Dell\PowerEdge.  Logs are called DellConfigWizard.log and Dell ConfigWizardDebug.log.

Next, it is time to import server and OS specific drivers.

You should be using the OpenManage System Management Tools and Documentation DVD or ISO.  This is sometimes just referred to as the SMTD.  Do not use the SUU or SBUU or any other downloads because they do not have the appropriate folder structure to work with the DSDP at this time.

Which version of the DSDP you download will determine which servers and operating systems you can get driver packages for.  Be sure to read the Fixes and Enhancements, Compatible Systems, and Supported Operating Systems sections on each one to find what you need.  Here are some links to the latest several versions.

SMTD 7.4 - Looks to support most 9G-12G servers.

SMTD 8.0.1 - Some 13G servers and other new hardware.

SMTD 8.0.2 - More 13G servers and hardware.

SMTD 8.1 was released shortly after this was published.  It supports all 12G-13G Dell servers.

Please keep in mind that the SMTD may not have the most recent versions if newer versions have come out since the last SMTD release date.  Download one or more of the ISOs above to fit your needs.  Do not extract the ISO.

On the first page of the wizard you can either use the top option to point to the drive the ISO is mounted as, or you can use the bottom option to point directly to the ISO.  I find the bottom option easier because you don't have to mount the ISO.

*****Do not try to use one ISO, press next to see what it has, and then click on Previous to change to a different ISO.  It may not refresh and when you go forward again you will see the same servers from the previous ISO.  If you need to change to a different ISO, hit Cancel to close the wizard, then open the wizard again, and select a different ISO to use.

Next, select the servers and OSes you want to import driver packs for and click on Finish.  This could take a little while depending on how many you mark to import.

When it finishes you will see a completion screen that tells what it imported and what may have been skipped.  There are logs for this as well.  Located at C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\bin\Deployment\Dell\PowerEdge.  Logs are called DellDriverImport.log and DellDriverImportDebug.log

Now you should have driver packages for each server and OS that you selected.  These will be broken up into the Dell PowerEdge Driver Packages OMversion containers under Driver Packages.

Before you can use the rest of the DSDP utilities, such as the Task Sequence Bare Metal Deployment Wizard, or be able to deploy the drivers in a Task Sequence or alone, there are a couple more things you need to do.

1. Boot Image.  Go to the Boot Images, right click on your new boot image and select Properties.  On the Customization tab, make sure Enable Command Support is checked.  On the Data Source tab, mark Deploy this boot image from the PXE-enabled distribution point.  On the Data Access tab, mark Copy the content in this package to a package share on distribution points.  Then click OK.

You will also have to distribute the Boot Image to the DP(s).  Do this by right-clicking on the new Boot Image and select Distribute Content.

Click Next, Add, Distribution Points (or group if you have one).

Mark your DP(s), next, next, and close.

After a couple minutes you can refresh to see if the Content Status at the bottom has turned green.  Once it has you can right click on your Task Sequences, go to Properties, and add that boot image as the one to use to start that Task Sequence.

2. Dell PowerEdge Deployment Packages. With DSDP 3.0, there are 3 packages to distribute.  PowerEdge Deployment Toolkit Integration, PowerEdge Custom Reboot Script, and PowerEdge Startup Network Setting.  Each one should be set to "Copy the content in this package to a package share on distribution points".  This is on the Data Access tab of the properties of each one just like in the screen shots above.  Make sure you check this box for each of the 3 Dell PowerEdge Deployment Packages.  Then right-click on each one and Distribute Content to the DP, just like you did with the boot image above.  Then you can fresh and make sure each one shows Success under Content Status.

3. Driver Packages.  Each one should be marked to "Copy the content in this package to a package share on the distribution point" just as you did above on the Data Access tab for the boot image and the Dell PowerEdge Deployment packages.  Then you have to distribute to your DP(s).  This is exactly the same as the last couple of steps in the Boot Image and Dell PowerEdge Deployment packages above.

EDIT 5/18/2015: ConfigMgr 2012 SP2/R2 SP1 does resolve the issue below, but only if importing drivers using the builtin driver import wizard.

EDIT 5/26/2015: We now have a fix for the issue with Dell Server Deployment pack v3.0.  Please see this new post,

*****Caveat*****  When you distribute the driver packages, I have seen where the driver package contents does not fully distribute the first time.  You can check this by looking at the PackageID and then going to the PackageID folder in the DP Share, which will be a SMSPKGdrive$ folder.  For example, if your package share is on your E: drive, the folder will be called SmspkgE$.  Find that PackageID folder.  This folder should match the source folder.  

This screenshot shows the Data Source tab which gives you the source folder location.  You can also see that folder open where there is a total of 30 GUID folders.

This screenshot shows the DP share after the first Distribute Content and you can see that the Content Status shows Success but only 1 GUID folder is shown.

For the time being, the work-around for this is to distribute the content again by selecting Update Distribution Points.

After you Update Distribution Points, you can look back at the DP share folder and you should see the same number of GUID folders as was in the source folder above (30).

That is it.  Now you can start to use these packages in your Task Sequences, or however else you want to use them.

Wednesday, April 1, 2015

Dell Warranty Tool in DCIS 4.0 Does Not Write to ConfigMgr DB

The latest version of the Dell Command Integration Suite 4.0 for System Center (link) includes the Warranty Tool similar to the previous versions.  But it does not write to the ConfigMgr DB.  This is due to a compatibility issue with the 2012 R2 DB and will hopefully be resolved in a near future version of the tool.

For now, here is a script that will help you import the results file from the Warranty Tool into your ConfigMgr 2012 DB.  This script was shared with me by a customer who has been using it.

DECLARE     @xml XML

set   @xml =
      select BulkColumn
      from  openrowset(BULK 'C:\ProgramData\Dell\CommandIntegrationSuite\WarrantyInformation_03_05.xml',SINGLE_CLOB) as x

            T.c.value('(ServiceTag/text())[1]','Varchar(30)') as ServiceTag
            ,T.c.value('(SystemID/text())[1]','Varchar(30)') as SystemID
            ,T.c.value('(Buid/text())[1]','Varchar(30)') as Buid
            ,T.c.value('(Region/text())[1]','Varchar(30)') as Region
            ,T.c.value('(LOB/text())[1]','Varchar(30)') as LOB
            ,T.c.value('(SystemModel/text())[1]','Varchar(30)') as SystemModel
            ,T.c.value('(SystemShipDate/text())[1]','datetime') as ShipDate
            ,U.v.value('(Provider/text())[1]','Varchar(30)') as Provider
            ,U.v.value('(ServiceLevelDescription/text())[1]','Varchar(50)') as Description
            ,U.v.value('(EntitlementType/text())[1]','Varchar(30)') as EntitlementType
            ,U.v.value('(StartDate/text())[1]','datetime') as WarrantyStartDate
            ,U.v.value('(EndDate/text())[1]','datetime') as WarrantyEndDate
            ,U.v.value('(DaysLeft/text())[1]','Int') as DaysLeft
from @xml.nodes('Warranty/Asset') T(c)
cross apply T.c.nodes('Entitlement') U(v)

order by ServiceTag, WarrantyEndDate