Tuesday, November 11, 2014

SCCM 2012 R2 with Dell Server Deployment Pack 3.0.x - COMPLETE HOW-TO GUIDE


PRE-REQUISITES:

 


 


 

CONFIGURE SCCM with DSDP

 

Importing a DTK Package

  • SCCM --> Software Library --> Overview --> Application Management --> Packages
  • Right click --> Dell PowerEdge Server Deployment --> Launch Deployment Toolkit Configuration Wizard
  • Select the downloaded DTK 4.4 self-extracting zip
  • Use Boot Image from WAIK/ADK tools
  • Complete wizard

 

Creating a Boot Image for Deploying Dell PowerEdge Servers

 

  • SCCM --> Software Library --> Overview --> Operating Systems --> Boot Images
  • Right click --> Dell PowerEdge Server Deployment --> Create Dell Server Boot Image
  • Use Boot Image from WAIK/ADK tools
  • Complete wizard
  • On created image, enter properties and on the Distribution Settings Tab, check the box to distribute content
  • On the Customization Tab, make sure the "Enable command support" box is checked

 

Importing Dell Server Driver Packages

 

  • Mount/insert OMSA (Dell Systems Management Tools and Documentation DVD ISO, v.7.4)
  • SCCM --> Software Library --> Overview --> Operating Systems --> Driver Packages
  • Right-click --> Dell Server Driver Package --> Import
  • Select Model and OS version

 

Distributing Content and Updating Distribution Points

 

  • On all configured Library items:
    • Dell Packages
    • Boot Image(s)
    • Software Library Overview Application Management Packages Dell PowerEdge Deployment --> Poweredge Deployment Toolkit Integration
  • Right-click Distribute content
  • Right-click Update Distribution Point

 

 

CREATE TASK SEQUENCE:

 

BEFORE:

 

  • In Assets and Compliance create a new folder called "Deployment"
  • In the Deployment folder create a Device Collection called "Bare Metal Deployment Collection"
  • Under "Devices" click on "Import Computer Information"
  • Enter a name and the MAC address of the PXE-enabled adapter
  • Add the computer to the previously created collection

 

CREATE THE TASK SEQUENCE

 

  • Software Library Operating Systems Task Sequences Right click Dell Bare Metal Deployment Create Dell PowerEdge Server Deployment Template
    • Enter Name
    • Use Boot Image created in previous steps
    • In server hardware select RAID config.
    • Add Network Access Account
    • Use WIM Image
    • No Sysprep
  • In order for RebootStep variable to be set and incremented, task sequence needs to be run DIRECTLY from a Distribution Point
    • To enable this option in Task Sequence Deployment, ensure for all packages: under package properties Data Access "Copy the content in this package to a package share on distribution points" must be selected, AND content must be distributed to relevant Distribution point AND DP updated
    • DEFAULT CONFIGURATION MANAGER CLIENT PACKAGE has this option grayed out.
    • To create a custom package, Go to Software Library Application Management right-click on Packages Create new Package
    • In the wizard type a new package name
    • Click "this package contains source files"
    • Select source folder, location MUST be a network path: \\sccm_server\SMS_SiteID\client
    • Program type = do not create program
    • After package is created go to its properties, and select "Copy the content in this package to a package share on distribution points" under package properties Data Access
  • Edit created task sequence
    • Consider removing "Set Boot Order" from STEP 1
    • In set RAID config set to wizard and create e.g. a RAID1 array AND save as variable
    • In STEP 2
      • BEFORE Format and Partition Disk, add new task GENERAL Run Command Line
        • Name: Release C and D Drive Letters
        • Command Line: Release_Drive_Letters.bat
        • Package: Dell PowerEdge Custom Reboot Script
      • On Format and Partition Disk, create 2 volumes:
        • Volume 1: Primary, no name, specific size 350 MB, make boot, do not assign drive letter, NTFS, quick format
        • Volume 2: Primary, no name, size 100%, NTFS, quick format, Variable: OSDisk
    • IMMEDIATELY BEFORE the Apply Operating System Image (last task in step 2) add a new task from General Set Task Sequence Variable
      • Name: Set OSDPreserveDriveLetter
      • Task Sequence Variable: OSDPreserveDriveLetter
      • Value: FALSE
    • On Apply Operating System Image choose the captured image package
      • Image should be 2 - 2, if the captured image contains a system reserved partition
      • In DESTINATION choose: Logical drive letter stored in a variable
      • Variable Name: OSDisk
    • In Apply Windows Settings and Network Settings, set properties
    • In Apply Driver Package, select the appropriate package (created in previous steps)
    • Leave Apply Device Drivers as is
    • In Setup Windows and ConfigMgr, select previously created custom SCCM client package
    • Add task to install Software upadtes

 

 

 

AFTER

 

  • Copy "Release_Drive_Letters.bat" to C:\Program Files\Microsoft Configuration Manager\OSD\Lib\Packages\Deployment\Dell\PowerEdge\CustomReboot
  • Go to Software Library Application Management Packages Dell PowerEdge Deployment PowerEdge Custom Reboot Script
  • Right-click Update Distribution Points

 

 

 

DEPLOY TASK SEQUENCE TO DEPLOYMENT COLLECTION

 

When going through the Deploy Software Wizard, under Distribution points select: Access content directly from a distribution point when needed by the running task sequence



EDIT: The importance of "Release_Drive_Letters.bat"

Most modern servers, certainly Dell 11th and 12th gen, now usually have a vFlash SD card on the iDRAC controller. For whatever reason, and regardless on any boot sequence config you do on the BIOS settings, this always show up as C drive whenever you boot the server with an SCCM boot image.

This behavior totally messes up the SCCM image boot sequence and OS install fails. Therefore it is very important to release all drive letters prior to the OS installation for it to run smoothly.

To do this you need to create the following batch file. Copy the script below to "Release_Drive_Letters.bat" :


#@echo off
cls
title "Changing device drive letters..."
set ChangeNeeded=
echo Changing device drive letters...
:: Create a script file to be used by diskpart and then dump all volumes to a temp file
 echo list volume > %systemdrive%\ListDrives.tmp
 diskpart /s %systemdrive%\ListDrives.tmp > %systemdrive%\CurrentDrives.tmp
:: Parse the output from 'Diskpart> list volume' for available volumes
 :: To change the following so that it works on different drive letters change the "C ____" and the set DriveC= to match the drive letter you want to move
 :: See the following samples for examples of how to change the drive you want to move
 echo   Checking drive C: for devices that need to be moved...
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "C Removable" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveC=%%a
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "C CD-ROM" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveC=%%a
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "C DVD-ROM" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveC=%%a

 echo   Checking drive G: for devices that need to be moved...
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "D Removable" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveD=%%a
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "D CD-ROM" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveD=%%a
 FOR /F "tokens=2-4" %%a IN (%systemdrive%\CurrentDrives.tmp) DO @IF /I "%%b %%c" == "D DVD-ROM" @echo   Drive %%b was found to have a %%c and will be moved... & @set DriveD=%%a
 :: In the following change the Drive_ and the letter=_: to match the drive you want to move from and to
 IF DEFINED DriveC set ChangeNeeded=1
 IF DEFINED DriveC echo select volume %DriveC% >> %systemdrive%\ChangeDrive.tmp
 IF DEFINED DriveC echo assign letter=Z: >> %systemdrive%\ChangeDrive.tmp
 IF DEFINED DriveC set DriveC=

 IF DEFINED DriveD set ChangeNeeded=1
 IF DEFINED DriveD echo select volume %DriveD% >> %systemdrive%\ChangeDrive.tmp
 IF DEFINED DriveD echo assign letter=Y: >> %systemdrive%\ChangeDrive.tmp
 IF DEFINED DriveD set DriveD=
:: Run diskpart using the new script file, wait 15 seconds before running per a note on http://msdn.microsoft.com/en-US/library/ff794606.aspx
 if "%ChangeNeeded%" == "1" (
  echo   Changing devices to new drive letters...
  ping -n 15 localhost 1>nul 2>nul
  diskpart /s %systemdrive%\ChangeDrive.tmp 1>nul 2>nul
 ) else (
  echo   No devices need to be changed...
 )
:: Delete the script files
 del /q /f %systemdrive%\ListDrives.tmp 1>nul 2>nul
 del /q /f %systemdrive%\CurrentDrives.tmp 1>nul 2>nul
 del /q /f %systemdrive%\ChangeDrive.tmp 1>nul 2>nul
 echo Done...
exit /b 0
 
Applying this batch file at the beginning of Step 2 of the task sequence (before formatting and partitioning disks ensures a smooth and successful workflow.





Enjoy!


_theITGuy

 

3 comments:

  1. You say copy Release_Drive_Letters.bat, where is it, or could you tell me the content of the file?

    ReplyDelete
  2. Sorry for the delay, I've been swamped with work. I have updated this guide to show the contents of the batch file. Thanks for pointing this out to me!

    ReplyDelete
  3. I was very interested in the article, it's quite inspiring I should admit. healthraport.gr

    ReplyDelete

Total Pageviews

Labels

Search This Blog

Popular Posts