Hi, here’s Martin again.
Well, as written in a recent Blog Post (http://blog.hosebei.ch/2013/11/21/sccm-2012-install-windows-7-on-ssd-fails-with-error-0x87d00267/), I was thinking of, that the Problem should be resolved, but we had still the same issues.
Cause of we had nailed down the Problem to the Network, someone came up with the idea to set the Network Speed of the NIC instead of using auto configuration.
When searching for the method to set the Network Card to 100Mbit Full Duplex this by command line we ended up on this excellent blog on TechNet:
http://blogs.technet.com/b/networking/archive/2009/01/08/configuring-advanced-network-card-settings-in-windows-server-2008-server-core.aspx
So we wanted to set this Key (“*SpeedDuplex”) while on OSD to 4, as it means that the Network Card will set up the Network Connection with 100Mbit/s FullDuplex. The Import of Registry Keys might not be a good Option, because the IDs can Change, as far as I know. So I wrote a small powershell script to Change the value, you can download it here:
[office src=”https://skydrive.live.com/embed?cid=65440BAA507106AD&resid=65440BAA507106AD%21732&authkey=AFTgTDaIgttuqf0″ width=”98″ height=”120″]
and you will find the code also here:
# Description: This script set the NIC speed from automatic to 100 Full Duplex
# Usage: powershell.exe -executionpolicy bypass -file "Set_NIC_Speed.ps1 -NicSpeed Auto/100MB"
# Author: Martin Wüthrich, itnetx gmbh
#
#Exit Codes:
#1: No startup parameters defined
#2: Wrong startup parameter. Only Auto and 100MB allowed
#-----------------------------
#Check Input Param
#-----------------------------
Param($NicSpeed)
If($NicSpeed) {}
Else {
Write-Host "You have to define the new NIC-Speed with a startup parameter Auto or 100MB."
exit 1
}
#Set NIC Speed Value
If($NicSpeed -eq "100MB") {
$NICSpeedValue = 4
$NICSpeedValueOld = 0
}
ElseIf($NicSpeed -eq "Auto") {
$NICSpeedValue = 0
$NICSpeedValueOld = 4
}
Else {
Write-Host "Wrong parameter omitted! Auto or 100MB are available values."
Exit 2
}
$GetNICKey = Get-Item -Path HKLM:SYSTEMCurrentControlSetControlClass"{4d36e972-e325-11ce-bfc1-08002be10318}"
ForEach($SubKey in $GetNICKey.GetSubKeyNames()){
If($SubKey -eq "Properties"){
#Do nothing, because no access to this key
}
Else {
$Nic = Get-Item -Path ($GetNICKey.PSPath + "" + $SubKey)
If ($Nic.GetValue("*SpeedDuplex") -eq $NICSpeedValueOld) {
#Write-Host $Nic.Name
Set-ItemProperty -Path $Nic.PSPath -Name "*SpeedDuplex" -Value $NICSpeedValue
}
}
}
We are still seeking for the issue of this Problem, and we use this script as a Workaround. But as so far, we can stage now our Computers with SSD again.
If you ask yourself, why I didn’t use a VBScript, just because VBS will be more and more unusable for Scripting. Change now to powershell, or learn “Would you like to get fries to that” 😉
Hope this helps.
Leave a Reply