Назад | Перейти на главную страницу

Как я могу получить OU пользователя / компьютера по умолчанию?

В настоящее время я пытаюсь перенаправить пользователя и компьютерное подразделение по умолчанию в домене.

Насколько я понимаю, этого легко добиться с помощью redirusr и reditcmp. Однако как я могу получить текущее состояние?

В PowerShell с загруженными расширениями ActiveDirectory выполните эту команду:

(get-adobject -filter 'ObjectClass -eq "domain"' -Properties wellKnownObjects).wellKnownObjects

Затем, используя список в kb324949, вы можете увидеть, на что были изменены значения.

Другой способ получить эту информацию в PowerShell - использовать класс .Net DirectorySearcher или, как показано ниже, ускоритель типов [ADSISearcher] в PowerShell. Хотя он требует больше ввода и немного сложнее для чтения, этот метод пригодится, если нет гарантии доступности веб-служб Active Directory. Это немного меньше "PowerShell", но иллюстрирует некоторый полезный синтаксис PoSH / ADSI / LDAP.

Кстати, я не отвечаю на длинный ответ, просто укажите альтернативный способ, tmtowtdi!

$a = [adsisearcher]'(&(objectclass=domain))'
$a.SearchScope = 'base'
$a.FindOne().properties.wellknownobjects | ForEach-Object {
    if ($_ -match '^B:32:A9D1CA15768811D1ADED00C04FD8D5CD:(.*)$')
    {
        'Users: {0}' -f $matches[1]
    }
    elseif ($_ -match '^B:32:AA312825768811D1ADED00C04FD8D5CD:(.*)$')
    {
        'Computers: {0}' -f $matches[1]
    }
}

Это довольно непросто, но вы можете создать пользователя удаленно, используя net user testUser /add /domain и запросите AD, чтобы узнать, где он был создан.

Вы можете сделать то же самое для тестового компьютера, присоединив его к домену и найдя его таким же образом, как и пользователя.

Вероятно, есть какое-то колдовство PowerShell, которое вы также можете сделать, чтобы посмотреть на атрибуты контейнера, поэтому я не удивлюсь, если вы получите лучший ответ, чем этот.

Get-ADDomain | select computerscont*