none
Помогите с задачкой RRS feed

  • Вопрос

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

    Нужно создать коллекцию с именем.dll и ее версии. Такой запрос не помогает 

    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_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SoftwareFile.FileName = "Имя.dll" and SMS_G_System_SoftwareFile.FileVersion like "версия.%"

    за ранее спасибо!


    • Изменено Svido 16 сентября 2019 г. 6:39
    16 сентября 2019 г. 6:31

Ответы

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

    1. если вы хотите коллекцию используя Software Inventory, убедитесь, что в политике клиента вы собираете информацию о *.dll. Сразу хочется предупредить о том, что собирать все файлы dll со всех дисков - это прямая дорога к "распуханию" sql-базы, скорее всего и инвентаризация не будет с клиентов приходить, т.к. будет превышение квоты. Указывайте конкретную dll в конкретном месте. Что-то вроде такого: https://c2n.me/43Bpghm

    2. возможно вам лучше подойдёт вариант с ci/cb, например, если версия ДЛЛ, до которой вы хотите обновить все системы какая то определённая, или выше версии xx.yy.zz. А уже по "комплаенсу" вы можете строить коллекции. Там и расписанием проверок управлять можно гибче.


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


    • Изменено Sergey Korotkov 16 сентября 2019 г. 8:28
    • Помечено в качестве ответа Svido 17 сентября 2019 г. 5:15
    16 сентября 2019 г. 8:17
  • п2.

    в SCCM есть возможность создавать правила соответствия. https://docs.microsoft.com/en-us/sccm/compliance/deploy-use/create-custom-configuration-items-for-windows-desktop-and-server-computers-managed-with-the-client#bkmk_file

    Создаете правила, например:

    файл path\to\file.dll

    версия >= 10.11.12

    Распространяете на коллекцию устройств

    далее получаете статус где заданные условия соответствуют а где нет.

    Далее в деплойменте этих правл есть возможность сразу сделать коллекцию: https://c2n.me/43Bs8Zv


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

    • Помечено в качестве ответа Svido 17 сентября 2019 г. 5:15
    16 сентября 2019 г. 8:50

Все ответы

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

    1. если вы хотите коллекцию используя Software Inventory, убедитесь, что в политике клиента вы собираете информацию о *.dll. Сразу хочется предупредить о том, что собирать все файлы dll со всех дисков - это прямая дорога к "распуханию" sql-базы, скорее всего и инвентаризация не будет с клиентов приходить, т.к. будет превышение квоты. Указывайте конкретную dll в конкретном месте. Что-то вроде такого: https://c2n.me/43Bpghm

    2. возможно вам лучше подойдёт вариант с ci/cb, например, если версия ДЛЛ, до которой вы хотите обновить все системы какая то определённая, или выше версии xx.yy.zz. А уже по "комплаенсу" вы можете строить коллекции. Там и расписанием проверок управлять можно гибче.


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


    • Изменено Sergey Korotkov 16 сентября 2019 г. 8:28
    • Помечено в качестве ответа Svido 17 сентября 2019 г. 5:15
    16 сентября 2019 г. 8:17
  • по пункту 1 , да для сбора информации ,я указал конкретную библиотеку и путь. А вот по второму не совсем  понял , извините пользоваться sccm только начал недавно) 
    16 сентября 2019 г. 8:28
  • п2.

    в SCCM есть возможность создавать правила соответствия. https://docs.microsoft.com/en-us/sccm/compliance/deploy-use/create-custom-configuration-items-for-windows-desktop-and-server-computers-managed-with-the-client#bkmk_file

    Создаете правила, например:

    файл path\to\file.dll

    версия >= 10.11.12

    Распространяете на коллекцию устройств

    далее получаете статус где заданные условия соответствуют а где нет.

    Далее в деплойменте этих правл есть возможность сразу сделать коллекцию: https://c2n.me/43Bs8Zv


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

    • Помечено в качестве ответа Svido 17 сентября 2019 г. 5:15
    16 сентября 2019 г. 8:50
  • п1.
    Сам запрос у вас правильный
    значит данных в базе нет.
    Вероятно, данные инвентаризации еще не добрались до базы. На всякий случай сам порядок такой
    - в политике клиента добавляете путь/файл который надо инвентаризировать
    - обновляете политику на клиентах
    - запускаете цикл инвентаризации по


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

    16 сентября 2019 г. 8:58
  • Выполнил и первый вариант и второй , но пока увы не могу добиться результата. Решил проверить собирается ли коллекция просто по имени dll-ки, как ни странно по запросу 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_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SoftwareFile.FileName = "файл.dll"  все работает. А если с версией то коллекция пустая. 

    По второму пункту создал правило далее создал коллекцию на соответствие, но пока тоже пусто)   

    Вроде заработало) Спасибо Сергей!
    • Изменено Svido 16 сентября 2019 г. 11:17
    16 сентября 2019 г. 10:22
  • Можно проверить что сейчас лежит в базе.

    В повершеле:

    $SCCMServer = 'lab-sccm-r2.lab.local'
    $SMSCod = 'LAB'
    
    $Query = @"
    select distinct *
    from 
        SMS_R_System 
        inner join SMS_G_System_SoftwareFile 
            on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId 
    where 
        SMS_G_System_SoftwareFile.FileName = 'dllname.dll'
    "@
    
    $res = gwmi -ComputerName $SCCMServer -Namespace "ROOT\SMS\site_$($SMSCod)" -Query $Query
    
    $res | select @{e = { $_.SMS_R_System.Name }}, @{e = { $_.SMS_G_System_SoftwareFile.FileName }}, @{e = { $_.SMS_G_System_SoftwareFile.FileVersion }}


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


    16 сентября 2019 г. 11:27