There is a small problem with the PXE filter and obsolete machines.
Today the PXE-Filter scans the SCCM-database for the machine and doesn’t bother if the machine is obsolete or not… and that might result in problems (The filter adds the obsolete machine to your collection).
Since the PXE-Filter is a VBScript… you can create a small hack…
Around row 150 you will find:
bFound = False
Set oClients = oSMS.ExecQuery(sQuery)
For each oClient in oClients
bFound = true
iResourceID = oClient.ResourceID
PXE.LogTrace "Found existing machine " & oClient.NetbiosName & " with ResourceID = " & iResourceID
sNetBiosName = oClient.NetbiosName
Exit For
Next
Change that piece of code to:
bFound = False
Set oClients = oSMS.ExecQuery(sQuery)
For each oClient in oClients
If oClient.Obsolete = 1 Then
PXE.LogTrace "Found obsolete machine " & oClient.NetbiosName & ", skipping"
Else
bFound = True
iResourceID = oClient.ResourceID
PXE.LogTrace "Found existing machine " & oClient.NetbiosName & " with ResourceID = " & iResourceID
sNetBiosName = oClient.NetbiosName
Exit For
End If
Next
That will result In a WDSServer.log (If you turn on tracing)
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] Request from 10.26.64.240:67 Len:548
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] About to run script
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] Processing request from MAC address = 00:1E:0B:34:0F:E7, IP address = 0.0.0.0, UUID = E11832C1-58C0-DC11-BBDA-0B340FE7001E
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] Found obsolete machine RIRO003, skipping
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] Found existing machine RIRO003 with ResourceID = 112
[4332] 09:49:22: [WDSPXE] [Microsoft.BDD.PXEFilter] Added new membership rule to collection B0100012