Showing posts with label Imaging. Show all posts
Showing posts with label Imaging. Show all posts

Wednesday, 2 May 2012

Editing MDT 2012 Lite Touch Wizard Screens


At work we are still deploying Windows XP due to a need for our customers, we have automated the installation to a large extent however the biggest bugbear we have had is the need to select a task sequence and then to click next before giving the computer a name.

Here you can see where we are going from and to

Here is the original Task Sequence selection screen

Followed by the Name your computer screen


Followed by our modified screen which combines both Task Sequence and computer name into one pane.


We are aware that by prestaging machines we could avoid this issue however for our needs this would be overkill and an additional time overhead, what we wanted was the ability to unbox and name machines then walk away.

While poking around I found that the wizard you navigate around when using the Lite Touch Deployment is controlled using a collection of xml and vbs scripts, these are stored in the deploymentshare\scripts folder.

With a bit of copying and pasting between files I have been able to put the boxes for computer name and task sequence selection into a single pane, as we have used the deploymentshare rules settings to skip the other pages it means that we can pxe boot then simply enter a name and pick TS all in one page then walk away.
Apologies for this but this one is going to be a bit wordy Smile

The files you will be modifying are

Deploywiz_Definition_ENU.xml
Deploywiz_SelectTS.xml
Deploywiz_ComputerName.xml

The files are named fairly well by Microsoft, the Definition file is the master file which guides you through the wizard, it calls the required files in turn. We will be making minor changes to this file but as always we should make a backup before we touch anything, just in case. The SelectTS file is the one which lists the task sequences available and allows us to choose one, the ComputerName file is self explanatory, however it also contains possibilities for you to enter domain join values, in our usage scenario we do not use these as the values are provided in the rules for the deploymentshare.

Open the ComputerName file and copy everything between the <body></body> tags, switch to the SelectTS file and paste all of this in just below the <body> tag and before the existing code, return to the ComputerName file and copy the <Initialization> and <Validation> section, again return to the SelectTS file and paste this in along with the existing values. Move to the top of the file and add the following as one line

<CustomScript>DeployWiz_ComputerName.vbs</CustomScript>



into the <global> section.

Change the <Pane id> values to something more appropriate such as

<Pane id="Name_Computer_and_SelectTaskSequence" title="Enter Name and pick a Task Sequence">


Save this file with your initials at the beginning and a more appropriate name, mine is called MHDeployWiz_Name_Computer_SelectTS.xml this will allow the deploymentshare files to be replaced in the future if an upgrade requires it but your files should remain in place.
You have now done the hard work.
Open the Definition file and edit the section 
<Pane id="SelectTaskSequence" reference="DeployWiz_SelectTS.xml">  <Condition><![CDATA[UCASE(Property("SkipTaskSequence"))<>"YES" ]]></Condition> </Pane>


to contain our newly made xml file so it should read 
<Pane id="SelectTaskSequence" reference="MHDeployWiz_Name_Computer_SelectTS.xml">  <Condition><![CDATA[UCASE(Property("SkipTaskSequence"))<>"YES" ]]></Condition> </Pane>


You can then remove completely the following section
<Pane id="ComputerName" reference="DeployWiz_ComputerName.xml">  <Condition><![CDATA[UCase(Property("SkipDomainMembership"))<>"YES" or UCase(Property("SkipComputerName"))<>"YES"]]></Condition>  <Condition><![CDATA[Property("DeploymentType")<>"REPLACE" and Property("DeploymentType")<>"CUSTOM" and Property("DeploymentType") <> "StateRestore" ]]></Condition> </Pane>
If you do not remove this then you will have another screen (which we are trying to remove) asking for the computer name, however its value will have been taken from the previous screen.

Save your file and test your deployment.
I have attached my modified files at the end of this post so you can see some which I have working in my test environment, feel free to play with them for your own use.I have used these modified files to deploy XP, "7 and W8 Consumer Preview,  I am sure that much more can be done with the xml files in MDT so there may be more posts to follow, but for now that’s it.
Good Luck

Friday, 19 August 2011

Dell Optiplex 390 fails to apply GPO settings


At work we have been deploying Dell Optiplex 390’s with XP using an MDT task sequence, the build works perfectly however once the machine attempts to apply group policy we have failures, this causes the machine to fail to install allocated msi packages. Obviously not a great situation to be in.
Following some research I have found that the issue appears to occur mostly in situations where a client is using a Gig speed network card and where network connections are teamed. The issue appears to be caused by the network card switching between speeds and full/half duplex to find the mode it can operate at. By adding a registry key we can prevent this checking from happening which will provide a more stable connection during the all important startup process.
This solution has been tested to work in our environment, obviously your mileage may vary and if you choose to make this change you do so at your own risk, playing with the networking settings in Windows may break more than it fixes however in our testing this has been an easy and successful workaround.

The key details are as follows
Key Location : HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
Key Name : DisableDHCPMediaSense
Key Type : Reg_Dword
Key Value : 00000001

These settings can either be added using a reg entry or a command line as follows
reg add HKLM\System\CurrentControlSet\Services\Tcpip\Parameters /v DisableDHCPMediaSense /t REG_Dword /d 00000001

In our case we have added a command line near the end of our task sequence which we have filtered using WMI in a way similar to the one we used in a previous post. In this case the WMI filter we used is as follows


Select * from Win32_ComputerSystemProduct WHERE Name LIKE "%Optiplex 390%"

Again we are running this against the root\cimv2 namespace. This query could be repeated in the task sequence options filtering for additional hardware which exhibits this particular issue, thereby allowing you to keep a smaller number of task sequences in your deployment share.

Update : 29-06-2012

We have begun rolling out Samsung N200 laptops, these also exhibit the issue with needing DHCPMediaSense to be set, for ease of use here is the WMI code needed

Select * from Win32_ComputerSystemProduct WHERE Name LIKE "300V3A/300V4A/300V5A/200A4B/200A5B"

Reference:

Technet User Discussion

Serverfault Question

Dell Laptop freefall sensor driver kills MDT Win XP

 

We have been building a large number of Dell Latitude E5410 and E5420 laptops using an MDT task sequence to install Win XP. The task sequence does not use a wim file for xp but is effectively the same as running a RIS style setup process.

We downloaded the driver pack which Dell make available for the E5420, in theory this contains all drivers needed in a single cab file, however we encountered an issue in that during setup the installation WMI either got corrupted or failed to install. Since MDT needs to use WMI in order to run this left us with a partly installed XP machine which fails to complete the task sequence. This issue did not present itself when we ran a test build with Windows 7.

As part of our troubleshooting we manually downloaded the drivers individually and added them to MDT, we missed the ST Microelectronics Freefall sensor as it was wrapped up in an installshield exe file but the task sequence completed succesfully. Helpfully Dell included a readme with the exe file which explained that we could run the setup.exe with the /s switch and this would allow a silent install with no reboot when done.

Using this information we imported the setup file into the MDT Deploymentshare as an application then added it near the end of the task sequence. In order to not need an extra task sequence just for the laptops we edited the options for the application installation step and added the filtering options to only apply if true and used a WMI query to test for the model type. The WMI query used is as follows

WMI Namespace : root\cimv2

WQL Query : Select * from Win32_ComputerSystemProduct WHERE Name LIKE "%Latitude E54%"

 

WMI query
Query entry dialog box

WMI query2
Completed query entry in task sequence options.

 

Using these settings will allow the installation of Windows to complete leaving you with a fully working WMI installation and all of the drivers to give you a nice clean Device Manager.

Friday, 11 March 2011

Using GParted to repair NTFS partition size

While using P.I.N.G. to make a backup of a machine I chose to shrink the partition before taking an image, this was necessary as I did not have either the space or time to wait for a 320Gb image to be created over a network connection.

P.I.N.G. uses the linux utility ntfsresize to work out how small the partition can be, resizes the partition then takes an image of it. Unfortunately in this instance when finished it did not resize the partition back to full size (I am unsure if it should by default)

This left me with the situation that Windows XP thought it had a 320Gb hard drive with an 11Gb partition, being unable to save any further data to the disk meant that windows was an unhappy bunny.


In theory I could use ntfsresize from the command line to expand the partition to fill the hard drive again, however when I tried this I was getting various error messages about not being able to access the drive.

Step in GParted and the ever useful Ubuntu bootable USB Stick, simply boot into the Ubuntu system, right click the disk you need to work on and select "Resize/Move" simply reduce the size by 1 meg and click apply, then click the green tick to apply the settings, close out of GParted and rebooth the machine back into windows, you should find that the partition is correctly showing as the full size minus 1 meg.