none
Как связать установленное ПО и файлы запуска этого самого ПО? RRS feed

  • Вопрос

  • Требуется вывести отчет в котором будет указано все установленное ПО в организации соответствующее конкретным ПК + исполняемые файлы этого ПО (имеется ввиду exe файл которым запускается программа) и пути где они живут. 

    Пробую создать query, Имя компьютера + установленное ПО + путь где живет ПО через атрибут install Software - с этим проблем нет, но как сюда привинтить исполняемые файлы этого ПО?




    1 июля 2014 г. 11:09

Ответы

  • Элементарно:

    SELECT  DISTINCT S.Netbios_Name0 as 'Computer'
    		,ARP.[ProductName0] as 'Product Name'
    		,ARP.[ProductVersion0] as 'Product Version'
    		,ARP.[Publisher0] as 'Product Publisher'
    		,ARP.[OsComponent0] as 'is OS Component'
    		,EXE.[ExecutableName0] as 'File Name'
    		,EXE.[Description0] as 'File Description'
    		,EXE.[FileVersion0] as 'File Version'
    		,EXE.[IsSystemFile0] as 'is System File'
    		,EXE.[Publisher0] as 'File Publisher'
    		--,ARP.[InstalledLocation0] as 'ARP Path'
    		--,EXE.[InstalledFilePath0] as 'EXE Path'
    FROM [dbo].[v_GS_INSTALLED_EXECUTABLE] EXE
    LEFT JOIN [dbo].[v_GS_INSTALLED_SOFTWARE] ARP
         ON EXE.[ResourceID] = ARP.[ResourceID] AND EXE.[InstalledFilePath0] like ARP.InstalledLocation0 + '%'
    LEFT JOIN dbo.v_R_System S 
    ON S.ResourceID = EXE.[ResourceID] WHERE EXE.[InstalledFilePath0] <> '' AND ARP.InstalledLocation0 <> '' ORDER BY S.Netbios_Name0, ARP.[ProductName0], EXE.[ExecutableName0]

    Разумеется, данное решение работает для программ, у которых инсталятор был нормальным и прописал в ARP путь установки...

    И должна быть включена инвентаризация классов Asset Inteligence: SMS_InstalledSoftware, SMS_InstalledExecutable.

    1 июля 2014 г. 14:22

Все ответы

  • Элементарно:

    SELECT  DISTINCT S.Netbios_Name0 as 'Computer'
    		,ARP.[ProductName0] as 'Product Name'
    		,ARP.[ProductVersion0] as 'Product Version'
    		,ARP.[Publisher0] as 'Product Publisher'
    		,ARP.[OsComponent0] as 'is OS Component'
    		,EXE.[ExecutableName0] as 'File Name'
    		,EXE.[Description0] as 'File Description'
    		,EXE.[FileVersion0] as 'File Version'
    		,EXE.[IsSystemFile0] as 'is System File'
    		,EXE.[Publisher0] as 'File Publisher'
    		--,ARP.[InstalledLocation0] as 'ARP Path'
    		--,EXE.[InstalledFilePath0] as 'EXE Path'
    FROM [dbo].[v_GS_INSTALLED_EXECUTABLE] EXE
    LEFT JOIN [dbo].[v_GS_INSTALLED_SOFTWARE] ARP
         ON EXE.[ResourceID] = ARP.[ResourceID] AND EXE.[InstalledFilePath0] like ARP.InstalledLocation0 + '%'
    LEFT JOIN dbo.v_R_System S 
    ON S.ResourceID = EXE.[ResourceID] WHERE EXE.[InstalledFilePath0] <> '' AND ARP.InstalledLocation0 <> '' ORDER BY S.Netbios_Name0, ARP.[ProductName0], EXE.[ExecutableName0]

    Разумеется, данное решение работает для программ, у которых инсталятор был нормальным и прописал в ARP путь установки...

    И должна быть включена инвентаризация классов Asset Inteligence: SMS_InstalledSoftware, SMS_InstalledExecutable.

    1 июля 2014 г. 14:22
  • Этот код я должен добавить при создании запроса через Query Language? Пишет: The query has a syntax error. SCCM 2012 забыл сказать.

    Инвентаризация классов Asset Inteligence: SMS_InstalledSoftware, SMS_InstalledExecutable. - включена.

    Прочитал что при копировании с сайта, апостроф не корректно переносится, скопировал в текстовый файл, переписал их, но все равно та же ошибка.

    Если создавать запрос по netbios имени, то у меня это выглядит так: select distinct SMS_R_System.NetbiosName, Возможно в 2012 немного другой формат запросов? 


    1 июля 2014 г. 17:16
  • добро пожаловать в мир structured query language. Это SQL.

    Выполните запрос к вашей базе данных sccm.

    1 июля 2014 г. 19:25
    Модератор
  • А чем я по вашему занимаюсь? Запрос который я создаю не связывает установленное ПО и исполняемые файлы этого ПО, поэтому и спрашиваю совета

    select distinct SMS_G_System_SoftwareProduct.ProductName, SMS_G_System_SoftwareProduct.ProductVersion, SMS_G_System_SoftwareFile.FileName, SMS_G_System_SoftwareFile.FileVersion, SMS_G_System_SoftwareFile.ResourceID, SoftwareProducts.ResourceID from  SMS_R_System inner join SMS_G_System_SoftwareProduct on SMS_G_System_SoftwareProduct.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_SoftwareProduct as SoftwareProducts on SoftwareProducts.ResourceID = SMS_G_System_SoftwareFile.ResourceID

    1 июля 2014 г. 19:36
  • все он прекрасно связывает, например:

    Модератор
  • Хотите сказать что ввели мой текст при создании нового запроса и показало так как на картинке?? Или имеете ввиду что SCCM это умеет? Не сомневаюсь что это так, но сам пока не могу решить, вот и спрашиваю как. У меня exe файлы абсолютно не соответствуют названиям программ, то есть просто список файлов.
  • Вы делаете запрос на WQL, а мой пример на SQL.

    Так как вам нужен отчет, то и сделайте отчет на основе SQL запроса.

    WQL query (которые в консоли SCCM) делаются не для этого, отчеты на их основе не делают.

    2 июля 2014 г. 11:30