Showing posts with label MDT 2008. Show all posts
Showing posts with label MDT 2008. Show all posts

Tuesday, July 7, 2009

Add HD Audio bus driver using txtsetup.sif

This shows how to add the HD Audio bus driver without PNP support in WinPE 2005. This is the recommended method for BDD 2007 since it doesn't require recompiling the WinPE image, and is a lot faster than using WinPE 2005 PNP support. But this also works for MDT 2008.

This example assumes that you have created an OSD deployment point and created the WinPE 2005 Generic Image by updating the Deployment Point. In the example my OSD Deployment point is on F:\OSD-XP

1. Request, download and extract the 888111 hotfix to c:\tmp
2. Copy the hdaudbus.sys file from c:\tmp\common files to F:\OSD-XP\Boot\Source\i386\system32\drivers
3. Modify the F:\OSD-XP\Boot\Source\i386\txtsetup.sif file using following info
a. In the [SCSI.LOAD] section add
hdaudbus = hdaudbus.sys,4
b. In the [HardwareIdsDatabase] section, add
PCI\CC_0403 = "hdaudbus" ( NOTE: Make sure that the " are correct )
4. Update OSD with the new WinPE structure (F:\OSD-XP\Boot\Source)
5. Create a new Zero Touch Installation CD

Source: For John - Don't mess with my audio drivers

No more driver issues for new Dell systems

When deploying systems ever found yourself in need for a good driver set which contains all drivers, and no duplicates.
I was.
For our customer we had to create a deployment solution to deploy several Dell systems. We had some problems with the Latitudes E4300, E6400 and E6500 and the Precision M6400. The problem was that not all drivers were easily found on the internet. For instance we had problems with the Broadcom USH driver.

We were glad to find that Dell created a website with on there cabfiles with all drivers for a system.
Also they created a page with a lot of instructions and howtos, and a complete instruction how to inject the winpe driver set into winpe. Really awesome.

Single partition when refreshing a computer?

In my search for a script to copy the $OEM$ files I also found a script on the Project84 website which makes it possible to have only one partition when deploying a computer in a refresh scenario. A refresh scenario is the scenario in which you reinstall the computer and use USMT to save and restore the userstate. Normaly when this is done it is not possible to format the harddrive since you might remove all the needed files.
This script simply removes all additional partitions on the disk and then resize the System Partition.

For our customer this is used to come to a standard client and remove all legacy states with multiple partitions.. Really great script.

$OEM$ Files when using SCCM and MDT

When deploying images with MDT in combination with SMS or just MDT you can place the $oem$ files in the MDT Distribution share. With SCCM this is not possible (or at least not working)
To find a solution for this I started searching the internet (just following my motto not to create anything I someone else has already shared this.
This search brought me to the site of Project84 mirror where they placed a script which did exactly what I wanted. The script simply copies the files which are placed in the MDT Settings Package $OEM$ folder (you have to create this folder)
This are the steps to perform to get this working (taken from the Project84 mirror website)
  1. Added my $OEM$ Files to my MDT Settings Package. (The one with unattend.txt, sysprep.inf and customsettings.ini)
  2. Add Z-CONFIG-CopyOEM.wsf to your MDT Source Files package. I've provided it below. (Remember to update DP)
  3. In your Task Sequence right before "Setup Windows and ConfigMgr" add a new "Run Command Line" task.
  4. Set the Name to "Copy OEM Files".
  5. Set the Command Line to "cscript.exe "%deployroot%\scripts\Z-CONFIG-CopyOEM.wsf".
  6. Click the "Package" checkbox and select your MDT Settings Package.
  7. All Done!

SMS / SCCM Client healthscript

For a customer we needed a solution for the SMS agents which were failing.
I stumbled upon the script from Brian Mason: SMS Client Health Script Since the use of this script the failures of clients have minimized. But then the customer decided to upgrade their SMS environment to SCCM 2007. Since I didn't know if the script was SCCM complient I started searching on the internet. There I found the blog of Shaun Cassels with an updated version of the script.
We tried that script and found a little problem during deployment. When a client is being deployed the client is reassigned to another SCCM Site server. The deployment server is a seperate server. Bummer.

Did some hobbying arround and came up with the following

Made changes are:

If WKS_ASSIGNSITECODE is not equal to AUTO have the sitecode set in the client to the requested

If the installation is still ongoing in a different site ( PXEInstallationSite ) the reassignment will not occur and the script will exit.

' =============================================================================
' Method:       CHK_ASSIGNMENT
' Description:  Checks Client Site Assignment
' =============================================================================
Dim PXEInstallationSite = "S01"
Sub CHK_ASSIGNMENT
On ERROR Resume Next
Err.clear
COLLECTMSG "CHK_ASSIGNMENT",">",NULL
Dim oSMSClient
Set oSMSClient = CreateObject ("Microsoft.SMS.Client")
If err.Number<>0 Then
COLLECTMSG "CHK_ASSIGNMENT","ERROR", Err.description
COLLECTMSG "CHK_ASSIGNMENT","Could not create SMS Client Object - Quitting", Null
Else
' BSt modification start
Dim mySMSSite
mySMSSite = oSMSClient.GetAssignedSite
if mySMSSite = PXEInstallationSite and objFSO.FolderExists("c:\_SMSTaskSequence") then
wscript.quit
End if
' BSt modification end
If Len(mySMSSite) = 0 Then
CLIENTSTATE = CLIENTSTATE + 1
RegCounter "CHK_ASSIGNMENT",1
If WKS_ASSIGNSITECODE = "AUTO" Then
'have the client determine from AD or SLP appropraite site code
oSMSClient.ReAssignSite
COLLECTMSG "CHK_ASSIGNMENT", _
"Error - Client not installed correctly - Setting AUTO", _
Null StrERRType=StrERRType & "ASSIGNMENT_"
Else
oSMSClient.SetAssignedSite(WKS_ASSIGNSITECODE)
COLLECTMSG "CHK_ASSIGNMENT", _
"Error - Client not installed correctly - Setting " &_
WKS_ASSIGNSITECODE, Null StrERRType=StrERRType & "ASSIGNMENT_"
End If
Else
COLLECTMSG "CHK_ASSIGNMENT",">", "Assigned Site = " & _
oSMSClient.GetAssignedSite
End If
End If
Set oSMSClient=Nothing
End Sub