В настоящее время я пытаюсь перенаправить пользователя и компьютерное подразделение по умолчанию в домене.
Насколько я понимаю, этого легко добиться с помощью 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*