Поиск неподдерживаемых моделей компьютеров

Работаю над проектом по миграции с Windows 7 на Windows 10. Заказчик для оформления закупок новых ноутбуков попросил найти компьютеры старых неподдерживаемых моделей и контакты пользователей, которые «связаны» через User Device Affinity.

SELECT        TOP (100) PERCENT v_GS_COMPUTER_SYSTEM.Name0 AS [Computer name], dbo.v_R_User.Full_User_Name0 AS [User name], v_UserMachineRelationship.UniqueUserName AS [User account], 
                         dbo.v_GS_COMPUTER_SYSTEM.Model0 AS Model, dbo.v_UserMachineIntelligence.ConsoleMinutes AS [Console usage, minutes], dbo.v_R_User.Mail0 AS [Email account], 
                         dbo.v_UserMachineIntelligence.LastLoginTime AS [Last login time]
FROM            dbo.v_GS_COMPUTER_SYSTEM INNER JOIN
                         dbo.v_UserMachineRelationship ON v_GS_COMPUTER_SYSTEM.ResourceID = v_UserMachineRelationship.MachineResourceID INNER JOIN
                         dbo.v_UserMachineIntelligence ON v_UserMachineRelationship.MachineResourceID = v_UserMachineIntelligence.MachineResourceID INNER JOIN
                         dbo.v_R_User ON dbo.v_UserMachineRelationship.UniqueUserName = dbo.v_R_User.Unique_User_Name0
WHERE        (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6330%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6320%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6230%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6420%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E65250%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6430U%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Precision M3800%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%OptiPlex 960%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%OptiPlex 790%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%OptiPlex 780%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Latitude E6220%') OR
                         (dbo.v_GS_COMPUTER_SYSTEM.Model0 LIKE N'%Precision T3600%')
ORDER BY [Computer name], [Console usage, minutes] DESC

2 комментария

  1. Pavel Yurenev:

    Работать будет, но запрос аццки неоптимален в части моделей (Like ‘%XX%’) — в большой инфраструктуре будет медленно работать. Имеет смысл или указывать одинарные %, либо вообще по списку идти (положив его в табличку в кастомной БД).

    • admin:

      Тестировалось на базе данных с 15К машин.
      Но, признаюсь, свёрстано было на коленке, потому что срочно.

Leave a Reply