Мне нужно перечислить через командную строку объекты в OU. Я знаю, что могу использовать «Список экспорта» в графическом интерфейсе пользователя, но я бы предпочел сделать это и через интерфейс командной строки. Я могу использовать комбинацию dsquery
подключен к dsget
для групп, чтобы получить участников,
# dsquery group -name "standardDistGroup"
"CN=standardDistGroup,OU=templateOU,DC=employees,DC=MyOrganization,DC=com"
# dsquery group -name "standardDistGroup" | dsget group -members
"CN=John Doe,OU=templateOU,DC=employees,DC=MyOrganization,DC=com"
"CN=Otto Normalverbraucher,OU=templateOU,DC=employees,DC=MyOrganization,DC=com"
но такой же синтаксис, похоже, не работает для получения объектов-контейнеров OU.
# dsquery OU -name "ByeBye"
"OU=ByeBye,DC=employees,DC=MyOrganization,DC=com"
# dsquery OU -name "ByeBye" | dsget ou -members
dsget failed:`-members' is an unknown parameter.
type dsget /? for help.
# dsquery OU -name "ByeBye" | dsget group -members
dsget failed:OU=ByeBye,DC=employees,DC=MyOrganization,DC=com:The object class of the target does not match the one specified on the command line.
type dsget /? for help.
Кто-нибудь знает, как это сделать через CLI? Powershell недоступен на этом сервере.
В группах есть участники, в OU нет участников. OU содержать другие объекты. Вам потребуются немного разные команды для каждого типа объекта, который вы хотите перечислить по заданному пути.
dsquery user OU=ByeBye,DC=employees,DC=MyOrganization,DC=com
dsquery computer OU=ByeBye,DC=employees,DC=MyOrganization,DC=com
dsquery ou OU=ByeBye,DC=employees,DC=MyOrganization,DC=com
Лучше всего это сделать с помощью PowerShell. Вы можете запрашивать объекты с помощью get-adobject
, get-aduser
, get-adcomputer
а также перемещаться по AD как файловой системе с AD:
ехать за тобой import-module activeDirectory
.