Archive for category dell
Recently we started buying DELL OptiPlex 7060 desktops and I ran into a situation where WinPE wouldn’t work properly as there was no IP address assignment and no C drive showing in the environment.
Fixing the missing NIC hardware was easy enough; however, the environment was still lacking a hard drive. These 7060 models come with SATA SSD drives and an Intel Rapid Storage Technology F6 controller.
Installing Intel drivers or DELL drivers didn’t work.
After many hours of trying different things, here’s the solution I found. In the BIOS, change the storage settings from RAID ON (DELL’s default setting) to AHCI…just that simple.
There are many interesting documents comparing AHCI and Raid On, I suggest you read them, but AHCI is newer technology and we decided to stick with this setting on our desktop devices.
While attemtping to upgrade from ESXi 6.0 to 6.5, I received the following message from Upgrade Manager:
The upgrade contains the following set of conflicting VIBs: VMware_bootbank_ehci-ehci-hcd_1.0-4vmw.600.3.69.5572656 Remove the conflicting VIBs or use Image Builder to create a custom upgrade ISO image that contains the newer versions of the conflicting VIBs, and try to upgrade again.
After researching this message and not finding an answer that could fix it, I called Vmware support and this is what they suggested.
My server hardware: DELL PowerEdge R330
- Support asked me to download 6.5 upgrade, the zip file though. ESXi 6.5 zip file for DELL PowerEdge R330 can be found here. Click on the Vmware ESXi 6.5 U2 section and then click on the ‘Other formats’ link do download the .zip file.
- Next, upload this file to the host you’re trying to upgrade.
- Log on to the host as root and type the following command
- esxcli software vib install -d “/vmfs/volumes/Datastore/DirectoryName/PatchName.zip”
- Reboot your host
The actual Vmware KB can be found here.
While running the latest version of SCCM 2012 and latest up-to-date Boot Image, network drivers for DELL OptiPlex 7050 need to be injected in order for WinPE environment to work.
Luckily, storage and network drivers for the OptiPlex 7050 model can be found on DELL’s support site.
The following screenshot will show you the file you need to download.
Once you’ve downloaded it the CAB file, then go ahead and update your Boot Image file(s).
So I ran into an interesting bug with our DELL Latitude E6500 models and Microsoft’s SCCM 2012.
First off, in our environment we use the BIOS service tag information on all our DELL devices as the computer name in Windows 7. I’m able to get this information during the Task Sequence (TS) by means of using a VB script.
The script I mention above works on all our DELL computer and laptop models, with the exception of the DELL Latitude E6500 laptop models.
On a DELL Latitude E6500, with the BIOS updated to the latest version, it looks like the BIOS asset tag information is somewhat misleading. If you view the information, you’ll see the asset tag information, but what you don’t see are the trailing spaces after the asset tag information. For instance, if the BIOS asset tag information on a laptop reads X1234, there are 5 trailing spaces after it, and these white spaces do not show!
Note: We use a tool called asset.exe, from DELL, to modify the asset information and the owner information in the BIOS. This tool works well on many of DELL computers and laptops.
SCCM 2012 and The Bug
During a SCCM Task Sequence (TS) job, we collect the asset information and we use this information as the Windows 7 computer account. The TS works perfectly until the last step: Setup is applying system settings – at this point, the TS fails with the message: Windows could not parse or process the unattend answer file for pass [specialize]…
The TS fails completely and you’re left with a computer whose OS isn’t working.
SCCM logs give a hint on what went wrong. In case you don’t know, those logs can be retrieved from the broken machine and the logs (setupact.log and setuperr.log) are located at: C:\Windows\Panther\UnattendGC
In our case, both files showed the following error message:
2013-02-27 15:35:17, Error [Shell Unattend] ComputerName: failed to set the computer name [hr=0x80070057][gle=0x00000057]
2013-02-27 15:42:30, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2013-02-27 15:42:30, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005
2013-02-27 15:43:42, Error [windeploy.exe] Setup.exe failed, returning exit code [0x1f]
2013-02-27 15:43:42, Error [windeploy.exe] Failure occured during online installation. Online installation cannot complete at this time.; hr = 0x80004005
The Workaround (not a fix)
Basically, I used asset.exe and deleted the current asset tag and re-typed it, but this time I added 5 letters to the end. In other words, my command line looked like this:
X1234 is the asset tag information (a.k.a my Windows 7 computer name); however, ABCDE is the workaround to make sure those blank spaces don’t break the TS.
After the TS finished, then I logged on as a local administrator and renamed the computer name to X1234 – life is good again!
Note: During this entire troubleshooting process we updated the laptop BIOS, and this didn’t seem to fix the issue.
I hope this helps someone out there.
We wanted to get Wake-on-Lan (WoL) to work on our DELL Optiplex 990 desktops with Windows 7.
- Under Power Management
- Enable – Wake on Lan ( LAN Only )
- This one is needed for Windows 7 and to allow the machine to be woken up from a sleep state
- Disable – Deep Sleep Control
- This one is needed to allow to boot up the machine when the machine has been shutdown
- Go to Window’s Device Manager
- Go to the properties for your primary network card
- Go to the Power Management tab
- Click to enable Allow this device to wake the computer
- If you’re working on a large network, then make sure your network team adds ip directed-broadcast on the router/switch interface where you’ll be sending WoL packets.
Note: For DELL devices, you need to download DELL’s asset utility to assign an asset number/name to your devices. Sometimes this is automatically done by DELL when companies request it.
I’m going to over some of the more important details about this script.
‘ Win32_SystemEnclosure is the class that contains the SMBIOSAssetTag property
‘ SMBIOSAssetTag property holds the Asset Tag information for the system
Set colSMBIOS = objWMIService.ExecQuery(“Select * from Win32_SystemEnclosure”,,48)
This is the WMI class (Win32_SystemEnclosure) that actually has the information that I’m looking for – the asset information.
Tip: Open a Command Prompt and type wmic then type SystemEnclosure. Now scroll to the right and you’ll see SMBIOSAssetTag column, and below it you should see the asset information assigned to this device. Again, although this labeled as SMBIOSAssetTag, it doesn’t make reference to DELL’s asset tag information, rather to the asset information that you assign using DELL’s utility.
‘ Retrieve Asset Tag value from SMBIOSAssetTag
For Each ObjSMBIOS in colSMBIOS
sBiosAssetTag = ObjSMBIOS.SMBIOSAssetTag
The information retrieved is a data collection, so we’re going to use a For..Next loop to retrieve only the data we need, in this case – SMBIOSAssetTag. This information is assigned to our variable sBIOSAssetTag
If sBiosAssetTag = “” then
MsgBox “Asset tag has not been set!” & vbCr & “Go back and run DELL’s asset utility.” & vbCR & “Reboot to restart process…”, 0, “Missing Information”
‘ Clean up code to make sure that we log the error message
bExitCode = False
I want to make sure that I, in fact, have assigned an asset information to this device. In the event that I’ve forgotten to run DELL’s asset utility, this section will notify me of such event.
‘ We’re converting the name to all uppercase and assign it to OSDComputerName variable
oTaskSequence(“OSDComputerName”) = UCase(sBiosAssetTag)
In my case, I’m converting the value of of sBIOSAssetTag variable (which is a string) to all uppercase, then, this is assigned to our Configuration Manager/TS WMIC variable OSDComputerName.
That’s pretty much it.