none
Проблемы с созданием коллекции в SCCM 2007 RRS feed

  • Вопрос

  • Добрый вечер.

    Попробую описать проблему, которая возникает при создании коллекции.

    Мне нужно создать коллекцию компьютеров на основе их членства в OU.

    К примеру, есть OU MY_DOMAIN/OU_MOSCOW/OU с вложенными OU (OU1,OU2,OU3 и т.д.) - я хочу создать коллекцию, в которую не будут входить компьютеры из этой OU и всех вложенных в нее OU.

    для определения членства я использую следующий запрос:

    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.SystemOUName not like "MY_DOMAIN/OU_MOSCOW/OU%"

    пробовал также такой:

    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.SystemOUName not like "%OU%"

    после этого обновляю членство в коллекции и получаю среди прочих компьютеры из исключенных OU.

    используются ли в такого рода запросах знаки подстановки, либо нужно указывать в запросе каждую из вложенных OU (MY_DOMAIN/OU_MOSCOW/OU/OU1, MY_DOMAIN/OU_MOSCOW/OU/OU2 и т.п.)

    может я что-то делаю не так?

    3 декабря 2012 г. 19:19

Ответы

  • SELECT 
    ResourceId, SystemOUName, ResourceType, Name, SMSUniqueIdentifier, ResourceDomainORWorkgroup, Client 
    FROM 
    SMS_R_System 
    WHERE SystemOUName = "MY_DOMAIN.COM/OU_MOSCOW/OU" 
    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU/%") 
    ну по скрину думаю понятно. )


    3 декабря 2012 г. 20:42
    Модератор
  • >>

    Мне нужно создать коллекцию компьютеров на основе их членства в OU.

    К примеру, есть OU MY_DOMAIN/OU_MOSCOW/OU с вложенными OU (OU1,OU2,OU3 и т.д.) - я хочу создать коллекцию, в которую не будут входить компьютеры из этой OU и всех вложенных в нее OU.<<

    В этом случае:

    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.ResourceId not in (Select ResourceID from SMS_R_System Where SMS_R_System.SystemOUName =  "MY_DOMAIN/OU_MOSCOW/OU")

    • Помечено в качестве ответа Mihailov_Evgeniy 4 декабря 2012 г. 11:44
    4 декабря 2012 г. 6:48
    Отвечающий

Все ответы

  • SELECT 
    ResourceId, SystemOUName, ResourceType, Name, SMSUniqueIdentifier, ResourceDomainORWorkgroup, Client 
    FROM 
    SMS_R_System 
    WHERE SystemOUName = "MY_DOMAIN.COM/OU_MOSCOW/OU" 
    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU/%") 
    ну по скрину думаю понятно. )


    3 декабря 2012 г. 20:42
    Модератор
  • скажу честно, я слаб в sql запросах, подскажите плз, если я изменю запрос таким образом

    SELECT
    ResourceId, SystemOUName, ResourceType, Name, SMSUniqueIdentifier, ResourceDomainORWorkgroup, Client
    FROM
    SMS_R_System
    WHERE
    SystemOUName = "MY_DOMAIN.COM/OU_MOSCOW/OU"
    AND
    ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU/%")

    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU1/%")

    будет работать или нужно как-то по-другому?

    и еще, если мне в этот запрос нужно включить

    SystemOUName = "MY_DOMAIN.COM/OU_PITER/OU" , типа так

    WHERE SystemOUName = "MY_DOMAIN.COM/OU_MOSCOW/OU" 

    AND     SystemOUName = "MY_DOMAIN.COM/OU_PITER/OU"

    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU/%")

    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU1/%")

    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU/%")

    AND ResourceId NOT IN (SELECT resourceID FROM SMS_R_System WHERE SystemOUName LIKE "MY_DOMAIN.COM/OU_MOSCOW/OU1/%")

    - у меня пойдет? 



    3 декабря 2012 г. 22:04
  • эм, как то так, если упростить.

    WHERE
    (
    SMS_R_System.SystemOUName = "MY_DOMAIN.COM/OU_MOSCOW/OU" 
    or
    SMS_R_System.SystemOUName = "MY_DOMAIN.COM/OU_PITER/OU"
    )
    and
    SMS_R_System.SystemOUName not in
    (
    "MY_DOMAIN.COM/OU_MOSCOW/OU/%"
    "MY_DOMAIN.COM/OU_MOSCOW/OU1/%"
    "MY_DOMAIN.COM/OU_MOSCOW/OU/%"
    "MY_DOMAIN.COM/OU_MOSCOW/OU1/%"
    )


    4 декабря 2012 г. 6:17
    Модератор
  • >>

    Мне нужно создать коллекцию компьютеров на основе их членства в OU.

    К примеру, есть OU MY_DOMAIN/OU_MOSCOW/OU с вложенными OU (OU1,OU2,OU3 и т.д.) - я хочу создать коллекцию, в которую не будут входить компьютеры из этой OU и всех вложенных в нее OU.<<

    В этом случае:

    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.ResourceId not in (Select ResourceID from SMS_R_System Where SMS_R_System.SystemOUName =  "MY_DOMAIN/OU_MOSCOW/OU")

    • Помечено в качестве ответа Mihailov_Evgeniy 4 декабря 2012 г. 11:44
    4 декабря 2012 г. 6:48
    Отвечающий
  • всем спасибо за помощь у меня получилось.

    прокатила конструкция:

    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.ResourceId not in (Select ResourceID from SMS_R_System Where SMS_R_System.SystemOUName =  "MY_DOMAIN/OU_MOSCOW/OU") and SMS_R_System.ResourceId not in (Select ResourceID from SMS_R_System Where SMS_R_System.SystemOUName =  "MY_DOMAIN/OU_MOSCOW/OU1")

     и т.д. 

    4 декабря 2012 г. 11:46