Я знаю, как получить DN из командной строки:
adquery user -D "$(hostname -s)"
Однако я хочу получить DN в сценарии adedit. Если я могу select_object {DN here}
, тогда я смогу делать другие вещи, которые мне нужно делать.
Я просто не знаю, как получить DN прямо в adedit
.
Согласно adquery
странице руководства (часть Centrify Suite):
Команда adquery предоставляется для обратной совместимости, чтобы вы могли запрашивать в Active Directory информацию о пользователях и группах из командная строка на компьютере под управлением Centrify. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. Я хочу добавить DN в сценарий adedit. Если я могу
select_object {DN here}
, тогда я смогу делать другие вещи, которые мне нужно делать.Я просто не знаю, как получить DN прямо в
adedit
.
Согласно
adquery
странице руководства (часть Centrify Suite):Команда adquery предоставляется для обратной совместимости, чтобы вы могли запрашивать в Active Directory информацию о пользователях и группах из командная строка на компьютере под управлением Centrify. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. Я хочу добавить DN в сценарий adedit. Если я могу
select_object {DN here}
, тогда я смогу делать другие вещи, которые мне нужно делать.Я просто не знаю, как получить DN прямо в
adedit
.
Согласно
adquery
странице руководства (часть Centrify Suite):Команда adquery предоставляется для обратной совместимости, чтобы вы могли запрашивать в Active Directory информацию о пользователях и группах из командная строка на компьютере под управлением Centrify. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. я не знаю, как получить DN непосредственно в
adedit
.
Согласно странице руководства
adquery
(часть Centrify Suite):Команда adquery предназначена для обратного совместимость, позволяющая запрашивать в Active Directory информацию о пользователях и группах из командной строки на компьютере под управлением Centrify. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. я не знаю, как получить DN непосредственно в
adedit
.
Согласно странице руководства
adquery
(часть Centrify Suite):Команда adquery предназначена для обратного совместимость, чтобы вы могли запрашивать в Active Directory информацию о пользователях и группах из командной строки на компьютере под управлением Centrify. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. Вы можете использовать эту команду для запроса информации для классических или иерархических зон. Однако в большинстве случаев вам следует использовать команды или скрипты adedit. для запроса в Active Directory информации в иерархических зонах.
Однако я не могу найти четкой документации о том, как переводить команды
adquery
в собственные вызовы вadedit
.Например:
adquery user `hostname -s` --dump
Это дает список всех необработанных атрибутов и значений для пользователя, который является компьютером, на котором я выполняю команду. Используя флаг
- attribute
, я могу вернуть только один атрибут.С помощью
adedit
, после запускаselect_object THE_DN
, я могу получить другой такие поля, как "описание", запустивget_object_field description
. Но как получить DN в первую очередь?Я нашел руководство программиста adedit , но могу ' Я не нашел там то, что мне нужно, несмотря на обширные поиски и эксперименты.
Пока я не найду лучший подход, я использую:
adedit myscript "$(adquery user -D "$(hostname -s)")"
А затем в скрипте:
if { $argc != 1 } { puts "format: $argv0 hostDN" exit 1 } set the_dn [lindex $argv 0] bind ... (credentials here) select_object $the_dn
(Примечание: adedit построен на Tcl, поэтому я пометил этот вопрос как Tcl, так и Active Directory. У меня нет репутации для создания тега Centrify.)
Я не у вас есть какие-либо хосты Centrify для тестирования в данный момент. Но я предполагаю, что вы ищете комбинацию хоста get_adinfo
и get_objects
.
хост get_adinfo
предоставит вам информацию о текущем хосте или, по крайней мере, имя компьютера (память нечеткая).
get_objects
больше похожа на общую команду запроса LDAP, которая принимает типичные параметры LDAP, такие как глубина, основание (DN) и фильтр.
Итак, когда у вас есть имя компьютера, вы можно использовать get_objects
, чтобы запросить DN примерно так.
set results [get_objects -depth sub "DC=example,DC=com" "(&(objectClass=computer)(sAMAccountName=$hostname))"]
set compDN [lindex $results 0]
Опять же, полностью непроверено. Но я почти уверен, что это поможет вам двигаться в правильном направлении.