Microsoft Deployment Toolkit PXE Filter with SCCM 2007



    We are testing the Microsoft Deployment Toolkit PXE Filter with SCCM 2007.  There is very little documentation how this works.  From what we understand this will allow you to bypass the Computer provision.

    We have edited our PXEFilter.VBS file with the appropriate information, Servername, SiteCode, Collection, and have restarted the WDS service.  We are watching the SMSPXE log file and are attempting to deploy an OS without provisoning it.  It continues to show in the SMSPXE log that it is not found in the device database and never loads PE.  Are we doing something wrong here or is there any additional information on how this functionality works?  Thanks
    Monday, November 05, 2007 3:44 PM

All replies




    I have the same problem!! !!

    Monday, November 12, 2007 3:19 PM
  • Stupid Question time.


    Once you've configured PXEFilter.vbs, where do you put it?

    I'm presuming somewhere on teh WDS server, but where? 



    Wednesday, November 14, 2007 3:34 AM
  • What you want to do is install MIcrosoft Deployment on your WDS server (ConfigMgr PXE provider server), and then run the wizard to configure it.  Since your WDS server is on a seperate box, you will need to provide the servername, username, and password as well as the site code to connect back to your ConfigMgr database.  The user account used will need to have rights designated to it inside of ConfigMgr.  Look in the Preparing for SCCM Imaging guide for the security rights needed.




    Wednesday, November 28, 2007 12:39 AM
  • I get my machine record added to the collection but it can take up to 60 minutes before the PXE server realises there is an advertisement for the record.



    Code Block

    ProcessDatabaseReply: No Advertisement found in Db for device smspxe 29/11/2007 4:39:19 PM 2568 (0x0A08)



    Is there a way for new machines get a PXE image on first boot?
    Thursday, November 29, 2007 6:13 AM
  • I believe that you run into a design flaw of the PXEFilter script I described some time ago on MyITForum:



    Somebody also posted a script with a workaround there ;-)


    It still not perfect but I think MS needs to make some changes to the BDD.PXEFIlter provider itself to handle multiple request at the same time from the same client.


    About the 60 minutes delay:


    You can run into this problem when you delete and recreate a computer resource with the same MAC address or SMBIOD GUID that has been previosly booted over pxe or tried to boot over pxe.


    The reason: smspxe provider caches the association between MAC and ResourceID for 60 minutes.

    If you boot a client over PXE the smspxe provider first looks up the RessourceID for this MAC and then the advertisements for this ResourceID. When you delete this resource in SCCM and import it again using the same MAC you will still get a new ResourceID. When you try to boot the client now, smspxe has still the old ResourceID for this MAC address cached and will of course never find any advertisements for a non existing resource until the cache expires or the wdsserver service is restared ;-)

    Tuesday, January 01, 2008 12:55 PM
  • I'm having a similar problem with unknown computers and pxefilter.vbs.  The odd thing is the computer does actually import itself into the collection and the WDSServer.log shows it finds the Advertisement as well; however, the PC never boots to the server to run the advertisement.  If I manually import the computers information into SCCM, the same exact Advertisement/Task Sequence runs fine.  Though, I've found that I need to remove the pxefilter using the wizard to ensure that it works.


    I'm using the modified pxefilter.vbs file someone posted at myitforum that looked to be an improvement over the original.  I've restarted the test SCCM server I'm running and not had any luck.  Maybe if I wait a few days like someone else said happened to them, it will start magically working.


    Below is the section of the WDSServer.log showing the PC finding the advertisement:


    [3156] 12:12:56: [WDSPXE][UDP][Ep:] Recv From: Len:548
    [3156] 12:12:56: [WDSPXE] -> CBannedGuids::IsBanned
    [3156] 12:12:56: [WDSPXE] <- CBannedGuids::IsBanned=0
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Request from Len:548
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] About to run script
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Processing request from MAC address = 00:1A:4D:11Big SmileD:6C, IP address =, UUID = 32F24549-9E38-3D83-BC91-959AC6F31EF5
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Found existing machine DET1SCCMMDTTEST
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Resource ID = 52
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Found existing machine DET1SCCMMDTTEST
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Resource ID = 53
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Advertisement lookup loop 1 of 15
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Found advertisement TST20007
    [3156] 12:12:56: [WDSPXE] [Microsoft.BDD.PXEFilter] Allowing for advertisement lag (5 seconds)
    [3140] 12:13:00: [WDSPXE][UDP][Ep:] Recv From: Len:548
    [3140] 12:13:00: [WDSPXE] -> CBannedGuids::IsBanned
    [3140] 12:13:00: [WDSPXE] <- CBannedGuids::IsBanned=0
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Request from Len:548
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] About to run script
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Processing request from MAC address = 00:1A:4D:11Big SmileD:6C, IP address =, UUID = 32F24549-9E38-3D83-BC91-959AC6F31EF5
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Found existing machine DET1SCCMMDTTEST
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Resource ID = 52
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Found existing machine DET1SCCMMDTTEST
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Resource ID = 53
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Advertisement lookup loop 1 of 15
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Found advertisement TST20007
    [3140] 12:13:00: [WDSPXE] [Microsoft.BDD.PXEFilter] Allowing for advertisement lag (5 seconds)
    [3156] 12:13:02: [WDSPXE] [Microsoft.BDD.PXEFilter] Script executed.  Rejecting request to allow next provider to process.
    [3156] 12:13:02: [WDSPXE] [Microsoft.BDD.PXEFilter] Processed, Action=4
    [3156] 12:13:02: [WDSPXE] [SMSPXE] Request from Len:548
    [3156] 12:13:02: [WDSPXE][UDP][Ep:] Sent To: Len:1024
    [4872] 12:13:02: [WDSPXE] [SMSPXE] Reply Sent - Request: Dst: Len:1024
    [4872] 12:13:02: [WDSPXE] [SMSPXE] Async Processed, Action=1
    [3140] 12:13:06: [WDSPXE] [Microsoft.BDD.PXEFilter] Script executed.  Rejecting request to allow next provider to process.
    [3140] 12:13:06: [WDSPXE] [Microsoft.BDD.PXEFilter] Processed, Action=4
    [3140] 12:13:06: [WDSPXE] [SMSPXE] Request from Len:548
    [3140] 12:13:06: [WDSPXE] [SMSPXE] Processed, Action=4

    Monday, March 31, 2008 4:28 PM
  • I've done more testing on this and have still run into the same issues.  The testing I've done shows the following:


    1.  If the PC is imported into the SCCM database manually, network boot works if the pxefilter.vbs isn't installed.

    2.  As soon as I enable the pxefilter.vbs, the same computer that worked is not able to boot to PXE using the network.

    3.  When the pxefilter.vbs is enabled, an unknown PC does import itself to the collection but the mandatory advertisement never kicks off and never boots to PXE.

    4.  When I boot with a CD with the media hook enabled for unknown computers, I get a message that states, "the computer is not registered with the configuration manager site."  If I then add the PC to the collection specified in the pxefilter.vbs and boot with CD, I am then able to select a Task Sequence to run.


    Any thoughts or ideas on getting network boot to work for unknown computers?  Thanks.



    Wednesday, April 09, 2008 4:28 PM
  • Can anyone share the pxefilter.vbs which has been modified to add unknown computer (MAC address) in SCCM database.
    Monday, May 09, 2011 11:17 AM