|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] -searchScope, нужен кэп. |
|
PowerShell - [решено] -searchScope, нужен кэп.
|
Старожил Сообщения: 498 |
Доброго времени суток.
есть "ou=computers,ou=ttt,dc=domain,dc=local", в нем 2 ou "1" и "2". В "1", "2" и самом "computers" есть объекты компьютеров. Почему не показывает ничего, хотя должен показывать только машины из "computers" (если правильно трактовать справку " Основной запрос (типа "Base") выполняет поиск только по текущему пути или в текущем объекте.") показывает только машины в "computers", хотя должен показывать только машины в "1" и "2", опять же если правильно трактовать справку "Одноуровневый запрос (типа "OneLevel") выполняет поиск в непосредственных дочерних элементах этого пути или объекта." Ожидаемым оказался только результат с уровнем поиска Subtree - т.е. все машины в "computers" и дочерних OU. Я что-то не верно понял или не верно делаю? Спасибо заранее. |
|
Отправлено: 11:10, 10-11-2014 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx - Specifying the Search Scope
Base. A base search limits the search to the base object. The maximum number of objects returned is always one. One-level. A one-level search is restricted to the immediate children of a base object, but excludes the base object itself. This setting can perform a targeted search for immediate child objects of a parent object. For example, consider a parent object P1 and its immediate children: C1, C2, and C3. A one-level search evaluates C1, C2, and C3 against the search criteria, but does not evaluate P1. Use a one-level search to enumerate all children of an object. An IADsContainer enumeration translates to a one-level search. Поэтому вопросы и непонимание лишь от лени и нехотения читать документацию. |
Отправлено: 11:26, 10-11-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо за ответ.
При чем тут лень, я честно прочитал полную справку по командлету (get-help), как часто предлагается на msdn и то, что она неполная - не моя вина. Очевидно я не правильно понял принцип уровней поиска, но и после прочтения указанной статьи понять сокровенный смысл base-поиска не могу: "This search is useful to verify the existence of an object for retrieving group membership. For example, if you have an object distinguished name, and you must verify the object's existence based on the path, you can use a one-level search. If the search fails, you can assume that the object may have been renamed or moved to a different location, or you were given the wrong information about the object. " - то, что написано в кавычках просто бред, для выяснения существования объекта по строгому имени нет вообще никакой необходимости использовать searchscope (более того, это не удобно), а то что написано дальше "например, бла-бла, вы можете использовать one-level search", при этом данный пример описывает работу base search, просто замечательно. |
Отправлено: 12:59, 10-11-2014 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Да, кто-то всегда виноват, что неполная, написан бред.
"ou=computers,ou=ttt,dc=domain,dc=local" - в данном примере base object. Запрос типа Base служит для чтения атрибутов у base object, когда известен DN. В этом случаем мы указывает - DN,требуемые атрибуты, и если требуется фильтр. Скажем потребовалось запросить атрибут description: Get-ADOrganizationalUnit -searchbase "ou=computers,ou=ttt,dc=domain,dc=local" -searchscope 0 -Filter * -Properties Description |
Отправлено: 14:00, 10-11-2014 | #4 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать Я это понял, я не пойму зачем нужен вообще searchscope, в случае если известен DN? Я имею в виду, что проще указать DN в get-adorganizationalunit или get-adobject параметру -identity и также получить список всех необходимых атрибутов (-properties *| fl bla,bla). Получается это просто более "длинно-написуемая" альтернатива identity.
|
|
Отправлено: 14:33, 10-11-2014 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Конкретное применение для командлетов Get-AD* - возможность использовать Filter.
|
Отправлено: 15:54, 10-11-2014 | #6 |
Старожил Сообщения: 498
|
Профиль | Сайт | Отправить PM | Цитировать filter - это, конечно, удобно, но смысл фильтра если в итоге максимум что мы сможем найти - это 1 объект? Вот вы использовали фильтр во 2м своем примере, заведомо зная что ответом будет пустота, а зная DN (и указав его в searchbase) и указав фильтр * при searchscope 0 мы точно знаем, что ответом будет объект, DN которого мы ввели. Как говорится "конец немного предсказуем". Спасибо за помощь, searchscope удобный параметр, но смысла base search я так и не понял, и, думаю, не пойму.
|
Отправлено: 06:08, 11-11-2014 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Вопрос - нужен совет | bona | Защита компьютерных систем | 1 | 05-12-2009 13:11 | |
Нужен совет | ZH01 | Материнские платы и память | 3 | 07-07-2008 07:06 | |
[решено] .NET 3.0 нужен. А нужен ли .NET 2.0 для шаблонного сервера? | LevT | Автоматическая установка Windows 2000/XP/2003 | 7 | 09-07-2007 14:29 | |
Нужен брутфорс | xoomer | Защита компьютерных систем | 28 | 01-05-2007 19:56 | |
Нужен драйвер!!! | TINA | Хочу все знать | 2 | 08-09-2003 16:48 |
|