Community FAQ
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Cobra7
Champion Sweeper

First off some appologies. My SQL skills were moderate and it's been so long since I used them that I don't remember the tricks. Also if I am posting in the wrong place I appologize.

Pretty much my company is using AD groups to validate which user is licensed for Box. Now they want to use LS to find which PC's a user has logged into that does not have one or more of the 3 Box apps installed.

I created a report that can show which PC's don't have Box installed, and I can build a report with all PC's a user in the AD has logged into, but I cannot combine them. This is the closest I have. Any help would be much appreciated.

Select Top 1000000 tblADusers.Username,
tblADusers.Displayname,
tblADusers.email,
tblADGroups.Name As ADGroupName,
tblAssets.AssetUnique,
tblAssets.AssetID,
tblSoftwareUni.softwareName
From tblADusers
Left Join tblADMembership On tblADMembership.ChildAdObjectID =
tblADusers.ADObjectID
Left Join tblADGroups On tblADMembership.ParentAdObjectID =
tblADGroups.ADObjectID
Inner Join tblAssets On tblADusers.Username = tblAssets.Username
Inner Join tblSoftware On tblAssets.AssetID = tblSoftware.AssetID
Inner Join tblSoftwareUni On tblSoftwareUni.SoftID = tblSoftware.softID
Where tblADGroups.Name = 'BoxGen' And tblAssets.AssetID Not In
(Select Top 1000000 tblSoftware.AssetID
From tblSoftware Inner Join tblSoftwareUni On tblSoftwareUni.SoftID =
tblSoftware.softID Where tblSoftwareUni.softwareName Like '%Box%')
Order By tblADusers.Username,
ADGroupName

1 ACCEPTED SOLUTION
Mister_Nobody
Honored Sweeper II

I think you have correct query but you used extra data

Try this

Select Top 1000000 tblADusers.Username,
tblADusers.Displayname,
tblADusers.email,
tblADGroups.Name As ADGroupName,
tblAssets.AssetUnique,
tblAssets.AssetID
From tblADusers
Left Join tblADMembership On tblADMembership.ChildAdObjectID =
tblADusers.ADObjectID
Left Join tblADGroups On tblADMembership.ParentAdObjectID =
tblADGroups.ADObjectID
Inner Join tblAssets On tblADusers.Username = tblAssets.Username
Where tblADGroups.Name = 'BoxGen' And tblAssets.AssetID Not In
(Select Top 1000000 tblSoftware.AssetID
From tblSoftware Inner Join tblSoftwareUni On tblSoftwareUni.SoftID =
tblSoftware.softID Where tblSoftwareUni.softwareName Like '%Box%')
Order By tblADusers.Username,
ADGroupName

 

View solution in original post

2 REPLIES 2
Mister_Nobody
Honored Sweeper II

I think you have correct query but you used extra data

Try this

Select Top 1000000 tblADusers.Username,
tblADusers.Displayname,
tblADusers.email,
tblADGroups.Name As ADGroupName,
tblAssets.AssetUnique,
tblAssets.AssetID
From tblADusers
Left Join tblADMembership On tblADMembership.ChildAdObjectID =
tblADusers.ADObjectID
Left Join tblADGroups On tblADMembership.ParentAdObjectID =
tblADGroups.ADObjectID
Inner Join tblAssets On tblADusers.Username = tblAssets.Username
Where tblADGroups.Name = 'BoxGen' And tblAssets.AssetID Not In
(Select Top 1000000 tblSoftware.AssetID
From tblSoftware Inner Join tblSoftwareUni On tblSoftwareUni.SoftID =
tblSoftware.softID Where tblSoftwareUni.softwareName Like '%Box%')
Order By tblADusers.Username,
ADGroupName

 

This worked great! Thank you very much for the help.

For anyone following, I made one more small change to filter out servers, otherwise it's the exact same:

Select Top 1000000 tblADusers.Username,
tblADusers.Displayname,
tblADusers.email,
tblADGroups.Name As ADGroupName,
tblAssets.AssetUnique,
tblAssets.AssetID
From tblADusers
Left Join tblADMembership On tblADMembership.ChildAdObjectID =
tblADusers.ADObjectID
Left Join tblADGroups On tblADMembership.ParentAdObjectID =
tblADGroups.ADObjectID
Inner Join tblAssets On tblADusers.Username = tblAssets.Username
Inner Join tblComputersystem On tblAssets.AssetID = tblComputersystem.AssetID
Where tblADGroups.Name = 'BoxGen' And tblAssets.AssetID Not In
(Select Top 1000000 tblSoftware.AssetID
From tblSoftware Inner Join tblSoftwareUni On tblSoftwareUni.SoftID =
tblSoftware.softID
Where tblSoftwareUni.softwareName Like '%Box%') And
tblComputersystem.Domainrole = 1
Order By tblADusers.Username,
ADGroupName

Reports & Analytics

Ask about reports you're interested in and share reports you've created. Subscribe to receive daily updates of reports shared in the Community.

New to Lansweeper?

Try Lansweeper For Free

Experience Lansweeper with your own data.
Sign up now for a 14-day free trial.

Try Now