none
Создание запроса на отображение компьютеров, в которых в Add or Remove Programs нет определенного ПО RRS feed

Ответы

  • Ещё раз отредактировал запрос на коллекцию и отчёт. Теперь они выводят одинаковые списки.

    Запрос на коллекцию:
    -----
    select * from sms_r_system as T1
    join sms_g_system_add_remove_programs as T2
    on T1.resourceid = T2.resourceid
    where T2.resourceid not in
    (
    select resourceid from sms_g_system_add_remove_programs
    where displayname like "Windows Internet Explorer 7"
    )
    -----

    Запрос на отчёт:
    -----
    select distinct
    T2.username0 as "User Name",
    T2.name0 as "Computer Name"
    from v_add_remove_programs as T1
    join v_gs_computer_system as T2
    on T1.resourceid = T2.resourceid
    where T1.resourceid not in
    (
    select resourceid from v_add_remove_programs
    where displayname0 like "Windows Internet Explorer 7"
    )
    order by T2.name0
    -----
    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    • Помечено в качестве ответа Ivan Osipov 26 августа 2009 г. 14:55
    26 августа 2009 г. 14:35

Все ответы

  • К сожалению, в указанной ссылке нет правильного ответа. В запросе, который указан по ссылке, отображаются все компьютеры, а не только те, на которых не установлено определенное ПО.
    25 августа 2009 г. 5:15
  • select distinct
    T2.username0 as "User Name",
    T2.name0 as "Computer Name"
    from v_add_remove_programs as T1
    join v_gs_computer_system as T2
    on T1.resourceid = T2.resourceid
    where T1.resourceid not in
        (
        select v_add_remove_programs.resourceid
        from v_add_remove_programs
        where v_add_remove_programs.displayname0 like 'Microsoft Office Enterprise 2007'
        )
    order by T2.name0

    Выводит список компов, на которых не установлен Microsoft Office Enterprise 2007

    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    25 августа 2009 г. 9:02
  • SCCM сообшает, что запрос не корректный.
    25 августа 2009 г. 10:05
  • В какой момент? Когда создаёте репорт или когда он выполняется?
    У меня всё отлично отрабатывает.
    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    25 августа 2009 г. 12:05
  • Я его пробовал в качестве запроса для коллекции создать, поэтому и не получалось:) Сейчас для отчета все работает.
    Можете помочь с таким же запросом, но для коллекции. Чтобы в коллекцию попадали компьютеры, на которых не установлено определенное ПО.
    Спасибо.
    25 августа 2009 г. 12:12
  • По идее должно выглядеть как-то так:
    -----
    select * from sms_r_system
    where resourceid not in
    (
    select distinct sms_r_system.resourceid
    from sms_r_system
    join sms_g_system_add_remove_programs
    on sms_r_system.resourceid = sms_g_system_add_remove_programs.resourceid
    where sms_g_system_add_remove_programs.displayname0 like 'Microsoft Office Enterprise 2007'
    )
    -----
    Но у меня тоже выдаёт ошибку и как я не пытался его переписывать пока безрезультатно...
    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    25 августа 2009 г. 13:41
  • код запроса.
    выводит список всех рабочих станций на которых нету установленного ПО (в примере - SQL 2008)

    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 where SMS_R_System.Name not in (select Name  from  SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "Microsoft SQL Server 2008")

    • Предложено в качестве ответа Alexandr Andreev 25 августа 2009 г. 14:17
    25 августа 2009 г. 14:17
  • select R.ResourceID,R.ResourceType,R.Name,R.SMSUniqueIdentifier,R.ResourceDomainORWorkgroup,R.Client from SMS_R_System as r left join SMS_G_System_ADD_REMOVE_PROGRAMS as prog on prog.ResourceID = r.ResourceId and prog.ProdID like 'ie8%'  where prog.ResourceId is NULL  and r.Name like 'PC%' and r.Client = 1 order by r.Name

    Так я ищу у себя в компании компьютеры начинающиеся с PC и на которых установлен клиент, но на которых нет Internet Explorer 8.
    25 августа 2009 г. 14:54
    Отвечающий
  • Не работает. Попадают в коллеркцию абсолютно все компьютеры.
    26 августа 2009 г. 6:00
  • Нашёл ошибку! Теперь запрос выглядит так (самый простой вариант):
    -----
    select * from sms_r_system
    where resourceid not in
    (select resourceid from sms_g_system_add_remove_programs
    where displayname like "microsoft office enterprise 2007")
    -----
    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    26 августа 2009 г. 7:56
  • У меня все равно выдает не верную информацию. Запрос для отчета намного правдивее выводит информацию.
    26 августа 2009 г. 10:42
  • А после написания запроса для коллекции Вы нажали Update Collection Membership?

    26 августа 2009 г. 14:17
    Отвечающий
  • Ещё раз отредактировал запрос на коллекцию и отчёт. Теперь они выводят одинаковые списки.

    Запрос на коллекцию:
    -----
    select * from sms_r_system as T1
    join sms_g_system_add_remove_programs as T2
    on T1.resourceid = T2.resourceid
    where T2.resourceid not in
    (
    select resourceid from sms_g_system_add_remove_programs
    where displayname like "Windows Internet Explorer 7"
    )
    -----

    Запрос на отчёт:
    -----
    select distinct
    T2.username0 as "User Name",
    T2.name0 as "Computer Name"
    from v_add_remove_programs as T1
    join v_gs_computer_system as T2
    on T1.resourceid = T2.resourceid
    where T1.resourceid not in
    (
    select resourceid from v_add_remove_programs
    where displayname0 like "Windows Internet Explorer 7"
    )
    order by T2.name0
    -----
    MCP | scriptoholic | PowerShell | SCCM 2007 | SMS 2003
    • Помечено в качестве ответа Ivan Osipov 26 августа 2009 г. 14:55
    26 августа 2009 г. 14:35
  • Все заработало. Огромное спасибо за помощь.
    26 августа 2009 г. 14:55