DS7.1 Computers are being treated as unknown computers by PXE servers

Article:TECH133468  |  Created: 2010-07-14  |  Updated: 2013-10-03  |  Article URL http://www.symantec.com/docs/TECH133468
Article Type
Technical Solution


Issue



When the 'Respond to unknown computers' box is checked, then known computers outside the subnet of the PXE server are treated as unknown computers)


Environment



Deployment Solution 7.1

Single PXE server servicing multiple subnets


Cause



When the SBS (PXE) services are started on the server, a stored procedure (query) is run against the database to determine 'known' computers to that server.  Presently, the query limits the computers the returned computers to those sharing the same subnet as the server to which results are returned.

To verify that this is the case, find the "XXXXXXXXX-client.sbs" file in the "\\Deployment\Task Handler\SBS\SBSStore" on the PXE server.  Opening it up will show a list of computers' MAC addresses and UUIDs for known computers.


Solution



CAUTION: These queries are designed to modify the default behavior of the product, specifically by changing the Stored Proceedure "spGetPXEClientInfo".  This should be backed up prior to execution.

_______________________________________________________________________
Increase Returns to include all by Site (as defined by subnets):

This query returns computers in the database that are assigned to the same site as the task server.  It looks at the task server / PXE server, determines which site it's in, and then returns all clients in that site, where a site is determined by the site/subnet definitions in Manage Sites and Services.  That means that multiple task server client-lists will show up on a single PXE server's list, if they're in the same logical / configured site.

NOTE: This specific query is new and has not been widely vetted for use where the other queries have been widely tested and used.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spGetPXEClientInfo]
@TSResourceGuid uniqueidentifier
AS

with TaskServerSiteSubnets as
(
   select vs.Guid, vs.Subnet, vs.[Subnet Mask]
   from vSiteSubnetMap sm
   join vSubnet vs on sm.SubnetGuid = vs.Guid
   where exists
      (
      select sm._ResourceGuid
      from vSubnet sn
      join vSiteSubnetMap sm
      on sn.Guid = sm.SubnetGuid
      where
         (
         dbo.fnIsIPInSubnet((select [IP Address] from vComputer
         where Guid = @TSResourceGuid), sn.Subnet, sn.[Subnet Mask])
         ) = 1
      and sm.SubnetGuid = sm.SubnetGuid
      )
)

select vc.Guid, vc.Name, vc.[IP Address], vc.[MAC Address], id.[Hardware Serial Number], id.[Unique ID]
from Inv_Client_Task_Resources tr
join vComputer vc on tr._ResourceGuid = vc.Guid
join Inv_AeX_AC_Identification id on vc.Guid = id._ResourceGuid
join Inv_Client_Task_Servers cts on tr.ClientTaskServerGuid = cts._ResourceGuid
join vComputer vc2 on cts._ResourceGuid = vc2.Guid
join TaskServerSiteSubnets sn on dbo.fnIsIPInSubnet(vc2.[IP Address], sn.Subnet, sn.[Subnet Mask]) = 1
 

_______________________________________________________________________
Increase Returns to include all on Task Server:
This query returns computers in the database that are assigned to this specific PXE server as their Task Server.  If the client's task server is not a PXE server, those clients will not be sent to any PXE server and will always be understood as unknown.  Remember that in our documentation we expect all Task Servers to also have the DS Task Handlers / PXE installed in DS 7.1.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spGetPXEClientInfo]
@TSResourceGuid uniqueidentifier
AS
SELECT Distinct acid.[Unique ID] as uuid, tcpip.[MAC Address] as mac, acid.[Hardware Serial Number] as serial
FROM Inv_Client_Task_Resources ictr INNER JOIN
    Inv_Client_Task_Servers icts ON ictr.[ClientTaskServerGuid] = icts.[ClientTaskServerGuid]
       AND icts.[_ResourceGuid] = @TSResourceGuid LEFT OUTER JOIN
   Inv_AeX_AC_Identification acid ON acid.[_ResourceGuid] = ictr.[_ResourceGuid] LEFT OUTER JOIN
   Inv_AeX_AC_TCPIP tcpip ON ictr.[_ResourceGuid] = tcpip.[_ResourceGuid]
Where acid.[Unique ID] IS NOT Null
   and tcpip.[MAC Address] IS NOT Null
   and acid.[Hardware Serial Number] IS NOT Null

______________________________________________________________________

Increase Returns to include all from the Full Environment:
This query will return every computer in the database to the PXE server as a known computer

WARNING: This will most likely generate a larger file/list and is not advised for very large (e.g. 12,000 - 20,000 clients per a single SMP) environments.  The risk is slowing down the PXE Server Service response to clients as it tries to scan through the list.

 

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[spGetPXEClientInfo]
@TSResourceGuid uniqueidentifier
AS
select tcpip.[MAC Address] as mac, acid.[Unique ID] as uuid, acid.[Hardware Serial Number] as serial
from Inv_AeX_AC_TCPIP tcpip INNER JOIN Inv_AeX_AC_Identification acid on tcpip.[_ResourceGuid] = acid.[_ResourceGuid]
 

 

 

_______________________________________________________________________
Return to Default:
Remember that prior to modifying the SP, we really should have created a backup, but if not, this will return the query to default:

 

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[spGetPXEClientInfo]
@TSResourceGuid uniqueidentifier
AS
select Inv_AeX_AC_TCPIP.[MAC Address] as mac, Inv_AeX_AC_Identification.[Unique ID] as uuid, Inv_AeX_AC_Identification.[Hardware Serial Number] as serial
  from Inv_AeX_AC_TCPIP INNER JOIN Inv_AeX_AC_Identification on Inv_AeX_AC_TCPIP.[_ResourceGuid] = Inv_AeX_AC_Identification.[_ResourceGuid]
  where Inv_AeX_AC_TCPIP.[Subnet] = (select TOP 1 Subnet from Inv_AeX_AC_TCPIP where _ResourceGuid = (select _ResourceGuid from Inv_Client_Task_Servers Where ClientTaskServerGuid = @TSResourceGuid))
 

 

 



Legacy ID



53778


Article URL http://www.symantec.com/docs/TECH133468


Terms of use for this information are found in Legal Notices