none
SCCM запрос на коллекцию. RRS feed

  • Вопрос

  • День добрый.

    подскажите пожалуйста, нужно создать коллекцию  пк там где установлено п.о."Microsoft Dynamics AX 2009"

    делаю через запрос :

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_GH_System_ADD_REMOVE_PROGRAMS_64 on SMS_GH_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId where UPPER(SMS_GH_System_ADD_REMOVE_PROGRAMS_64.DisplayName) in ("Microsoft Dynamics AX 2009 Components (64 bit)")

    но находит только одну машину. а я 100 % уверен этих машин сотни.

    Подскажите что могу делать не правильно?

    как понять какое имя правильно прописать. что бы он искал это ПО написать также как написано в панели управлении\установка и удаление программ ? я вроде также написал..

    



    • Изменено Dedman2k3 30 марта 2018 г. 9:55
    30 марта 2018 г. 9:54

Ответы

  • ну самое верное это сходите в базу и селектните через like, чтобы знать точно:

    select *
    from v_gs_installed_software
    where ProductName0 like 'Microsoft Dynamics%'

    после того как точно узнаете, что именно это имя есть в базе, то сделайте коллекцию с этим wql запросом

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ProductName = "НАЗВАНИЕ ВАШЕГО ПО"

    всё просто

    а ваша ошибка в том, что вы дёргаете из только 64 битных приложений, в базе 2 представления для х86 и х64



    SCCM Blog: masyan.ru SCCM User Group Russia: https://www.facebook.com/groups/sccm.russia/ Telegram: https://t.me/configmgr и https://t.me/MicrosoftRus


    30 марта 2018 г. 13:07
    Модератор
  • День добрый

    а так?

    select 
        SMS_R_SYSTEM.ResourceID
        ,SMS_R_SYSTEM.ResourceType
        ,SMS_R_SYSTEM.Name
        ,SMS_R_SYSTEM.SMSUniqueIdentifier
        ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
        inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Dynamics AX 2009 Components (64 bit)"


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа Dedman2k3 30 марта 2018 г. 14:48
    30 марта 2018 г. 13:08
    Модератор

  • У меня вопрос еще не большой, а как к вашему запросу написать еще и критерии с версией? 

    что бы искал по имени и по версии этого по.

    Свою делал вот так ( только по версии): 

    select 
       ,SMS_R_SYSTEM.ResourceID
       ,SMS_R_SYSTEM.ResourceType
       ,SMS_R_SYSTEM.Name
       ,SMS_R_SYSTEM.SMSUniqueIdentifier
       ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
    INNER JOIN SMS_G_System_INSTALLED_SOFTWARE ON SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId 
    WHERE    SMS_G_System_INSTALLED_SOFTWARE.ProductName LIKE "%10.0.777.0%"

    искала норм. а вот как правильно вписать и по версии и по имени?

    например так:

    select 
        SMS_R_System.ResourceId
        , SMS_R_System.ResourceType
        , SMS_R_System.Name
        , SMS_R_System.SMSUniqueIdentifier
        , SMS_R_System.ResourceDomainORWorkgroup
        , SMS_R_System.Client 
    from  SMS_R_System 
            inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Dynamics AX 2009 Components (64 bit)" 
            and SMS_G_System_ADD_REMOVE_PROGRAMS_64.Version = "10.0.777.0"

    Попробуйте формировать запрос через мастер (Query Designer), он много подсказок делает и по параметрам и по их значениям:

    Query Designer


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram


    3 апреля 2018 г. 19:05
    Модератор

Все ответы

  • ну самое верное это сходите в базу и селектните через like, чтобы знать точно:

    select *
    from v_gs_installed_software
    where ProductName0 like 'Microsoft Dynamics%'

    после того как точно узнаете, что именно это имя есть в базе, то сделайте коллекцию с этим wql запросом

    select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ProductName = "НАЗВАНИЕ ВАШЕГО ПО"

    всё просто

    а ваша ошибка в том, что вы дёргаете из только 64 битных приложений, в базе 2 представления для х86 и х64



    SCCM Blog: masyan.ru SCCM User Group Russia: https://www.facebook.com/groups/sccm.russia/ Telegram: https://t.me/configmgr и https://t.me/MicrosoftRus


    30 марта 2018 г. 13:07
    Модератор
  • День добрый

    а так?

    select 
        SMS_R_SYSTEM.ResourceID
        ,SMS_R_SYSTEM.ResourceType
        ,SMS_R_SYSTEM.Name
        ,SMS_R_SYSTEM.SMSUniqueIdentifier
        ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
        inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Dynamics AX 2009 Components (64 bit)"


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    • Помечено в качестве ответа Dedman2k3 30 марта 2018 г. 14:48
    30 марта 2018 г. 13:08
    Модератор
  • День добрый

    а так?

    select 
        SMS_R_SYSTEM.ResourceID
        ,SMS_R_SYSTEM.ResourceType
        ,SMS_R_SYSTEM.Name
        ,SMS_R_SYSTEM.SMSUniqueIdentifier
        ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
        inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Dynamics AX 2009 Components (64 bit)"


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram

    Спасибо за помощь. и тем и тем вариантом.

    У меня вопрос еще не большой, а как к вашему запросу написать еще и критерии с версией? 

    что бы искал по имени и по версии этого по.

    Свою делал вот так ( только по версии): 

    select 
       ,SMS_R_SYSTEM.ResourceID
       ,SMS_R_SYSTEM.ResourceType
       ,SMS_R_SYSTEM.Name
       ,SMS_R_SYSTEM.SMSUniqueIdentifier
       ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
    INNER JOIN SMS_G_System_INSTALLED_SOFTWARE ON SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId 
    WHERE    SMS_G_System_INSTALLED_SOFTWARE.ProductName LIKE "%10.0.777.0%"

    искала норм. а вот как правильно вписать и по версии и по имени?




    • Изменено Dedman2k3 3 апреля 2018 г. 17:45
    3 апреля 2018 г. 17:07

  • У меня вопрос еще не большой, а как к вашему запросу написать еще и критерии с версией? 

    что бы искал по имени и по версии этого по.

    Свою делал вот так ( только по версии): 

    select 
       ,SMS_R_SYSTEM.ResourceID
       ,SMS_R_SYSTEM.ResourceType
       ,SMS_R_SYSTEM.Name
       ,SMS_R_SYSTEM.SMSUniqueIdentifier
       ,SMS_R_SYSTEM.ResourceDomainORWorkgroup
        ,SMS_R_SYSTEM.Client 
    from SMS_R_System 
    INNER JOIN SMS_G_System_INSTALLED_SOFTWARE ON SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId 
    WHERE    SMS_G_System_INSTALLED_SOFTWARE.ProductName LIKE "%10.0.777.0%"

    искала норм. а вот как правильно вписать и по версии и по имени?

    например так:

    select 
        SMS_R_System.ResourceId
        , SMS_R_System.ResourceType
        , SMS_R_System.Name
        , SMS_R_System.SMSUniqueIdentifier
        , SMS_R_System.ResourceDomainORWorkgroup
        , SMS_R_System.Client 
    from  SMS_R_System 
            inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId 
    where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Dynamics AX 2009 Components (64 bit)" 
            and SMS_G_System_ADD_REMOVE_PROGRAMS_64.Version = "10.0.777.0"

    Попробуйте формировать запрос через мастер (Query Designer), он много подсказок делает и по параметрам и по их значениям:

    Query Designer


    Грамотная постановка вопроса - уже 50% решения.
    SCCM User Group Russia на FaceBook и в Telegram


    3 апреля 2018 г. 19:05
    Модератор