Pages

Showing posts with label PXE. Show all posts
Showing posts with label PXE. Show all posts

Wednesday, 23 January 2013

Lenovo X1 Carbon PXE Boot Issues

I  was recently given the nice new shiny Lenovo X1 Carbon to play with and deploy our corporate Windows 7 image to it.  To maintain its slim physique it hasn't got a built in Ethernet adaptor and is supplied with a Lenovo USB 2.0 to Ethernet Adapter.  Obviously we now had to track down the driver to inject to our Boot Image.

Initially we used the Lenovo USB 2.0 Ethernet Adapter Driver 5.4.3.0 which PXE booted but then seemed to fail and hang once WinPE loaded up.

I then downloaded the Lenovo X1 Carbon SCCM Driver Pack which came with v5.12.4.0 which also seemed to give me problems.

Eventually I found that it was the manufacturers Vista driver that worked for me.

From the AXIS website you can download the AXIS AX88772B Vista Driver which worked a treat.  With the SSD this was a dream to image and was quite quick in comparison to others.

Hope this helps.

Chris.


Wednesday, 12 September 2012

PXE & OSD Builds Failing - conflicting records

If you have ever had issues with your PXE boot failing when you try to rebuild a machine that already exists within SCCM then this may help you out.

I'd been spilling over this one on and off for a while when I discovered that these machines were appearing in "Conflicting Records". 

Conflicting Records within SCCM console




You have a few options here.  We can get SCCM to manage conflicting records by chaging the setting site wide:

  1. Navigate to System Center Configuration Manager / Site Database / Site Management / <site code> - <site name>
  2.  Right-click <site code> - <site name> and then click Properties
  3. Under the "Advanced" tab, you can choose Manually resolve conflicting records or Automatically create new client records for duplicate hardware IDs.
  4. OK
Another option is to manually resolve conflicting records:

From conflicting records as above select the conflicting record and look in the actions pain and you will see  few options:
  1.  Merge - combines the new record with the existing one merging together
  2. New - creates a brand new record for the conflict
  3. Block - creates a new record but blocks it
Then there is another really cool way of doing it!!

  •  Save this into a file called "Merge.vbs" to somewhere of your choice - we will be using it in  a few steps time - don't forget to check your formatting if you copy and paste - the "quotes" can sometimes 'mess up' etc
Dim swbemLocator
Dim swbemServices

Main()

Sub Main()
Dim oProviderLocation
Dim oLocation
Dim oReg
Dim oPendingRegs
    Set swbemLocator = CreateObject("WbemScripting.SWbemLocator")
    swbemLocator.Security_.AuthenticationLevel = 6 'Packet Privacy.
    Set swbemServices = swbemLocator.ConnectServer(".", "root\SMS")
    Set oProviderLocation = swbemServices.InstancesOf("SMS_ProviderLocation")
    For Each oLocation In oProviderLocation
        If oLocation.ProviderForLocalSite = True Then
            Set swbemServices = swbemLocator.ConnectServer(oLocation.Machine, "root\sms\site_" + oLocation.SiteCode)
        End If       
    Next

    Set oPendingRegs = swbemServices.ExecQuery("SELECT * FROM SMS_PendingRegistrationRecord")
    For Each oReg In oPendingRegs
        Resolve 1, oReg.SMSID
    Next

End Sub

Sub Resolve(action, SMSID)
Dim InParams
    Set InParams = swbemServices.Get("SMS_PendingRegistrationRecord").Methods_("ResolvePendingRegistrationRecord").InParameters.SpawnInstance_
    InParams.Action = action
    InParams.SMSID = SMSID

    swbemServices.ExecMethod "SMS_PendingRegistrationRecord","ResolvePendingRegistrationRecord", InParams
End Sub

  • Ensure that conflicting records on the advanced tab of site properties is still set to "Manually Resolve Conflicting Records"
  • Create a new status filter rule with the following properties: 
Component : SMS_DISCOVERY_DATA_MANAGER
Message ID: 2642

  • On the actions tab select "run a program" and specify the above script we created.  If on a x64 server you may need to specify the full path to "cscript.exe" i.e. C:\Windows\SysWOW64\cscript.exe C:\SCCMTools\Merge.vbs”
Relying on the status filter rule will mean that the script will only run when it detects the 2642 event however you can run the script manually if you want to tidy up what is already there.

I have to thank a great SCCM consultant; Dean Lockwood at BDS services for this - although he will tell you it was my inspiration that prompted the outcome ;)





Wednesday, 12 October 2011

PXE Boot pulling the wrong Windows PE wim

 If like me you are working with multiple architectures of Microsoft OS there will be occasions where you would like to push out a 64bit OS - more so in recent years due to the increasing popularity of 64bit platforms.

SCCM is my weapon of choice but I have found that sometimes even if a machine is placed in the 64bit deployment collection with the 64bit deployment task sequnce advertsied; it will still throw out the 32bit PE.

This is if a collection has multiple advertisments it will churn out the latest image to be advertised.  To get around this I found a great article on "Network Steve" that I have included below:

I had the exact same problem;
I wanted to be able to boot x86 or x64 Unknown Computers and image them. I have figured a very simple and erffective work around to this problem of the last advertised task winning...
I edited the query in the Unknown Computers collection to add: and Name LIKE "%x86%"
here's the complete query for the "Unknown Computers" collection
select SMS_R_UNKNOWNSYSTEM.ResourceID,SMS_R_UNKNOWNSYSTEM.ResourceType,SMS_R_UNKNOWNSYSTEM.Name,SMS_R_UNKNOWNSYSTEM.Name,SMS_R_UNKNOWNSYSTEM.Name from SMS_R_UnknownSystem where Decommissioned = "0" and Name LIKE "%x86%"
Then I created a new collection called "Unknown Computers x64" and used the following query:
select SMS_R_UNKNOWNSYSTEM.ResourceID,SMS_R_UNKNOWNSYSTEM.ResourceType,SMS_R_UNKNOWNSYSTEM.Name,SMS_R_UNKNOWNSYSTEM.Name,SMS_R_UNKNOWNSYSTEM.Name from SMS_R_UnknownSystem where Decommissioned = "0" and Name LIKE "%x64%"
Next, Advertise your x86 Task Sequences to the Unknown Computers query and your x64 Task Sequences to the Unknown Computers x64 query.
Now, as long as the computer is not in the SCCM database, when you PXE boot it will get the correct image.
Good LuckDoug

http://www.networksteve.com/enterprise/topic.php/Boot_Image_pulling_wrong_Windows_PE_interface/?TopicId=25850&Posts=4