Get-ADComputer: Найти ОУ компьютеров в Active Directory

Для сегодняшнего cmdlet мы сосредоточимся на Get-AdComputer. Этот cmdlet является аналогом Get-AdUser. Вместо получения пользователей из Active Directory (AD), этот cmdlet находит компьютеры в Организационных единицах (OU).

Вы найдете cmdlet Get-AdComputer в модуле PowerShell ActiveDirectory. Если у вас его еще нет, узнайте, как его установить здесь.

Основы

Если вы никогда не использовали cmdlet Get-AdComputer раньше, убедитесь, что вы понимаете его основы. Вы будете искать и извлекать компьютеры, используя параметры Identity и Filter.

Параметр Identity

В самом простом случае, Get-AdComputer получает один объект компьютера из AD с использованием параметра Identity. Если у вас есть компьютер с именем FOO, то вы должны указать это значение, как показано ниже.

Get-AdComputer -Identity FOO

По умолчанию, cmdlet возвращает только несколько атрибутов AD. Если вы хотите увидеть все атрибуты AD для компьютера, используйте параметр Properties.

Используя звездочку с параметром Properties ниже, PowerShell вернет все атрибуты AD. Но если вы хотите увидеть только несколько из них, вы можете указать их через запятую.

Get-AdComputer -Identity FOO -Properties *

Как и все другие параметры идентификации cmdlet PowerShell для Active Directory, вы также можете указать имя отличительное (DN), GUID или SID.

Параметр Filter

Если вам нужно найти более одной учетной записи компьютера, используйте параметр Filter. Параметр Filter является общим параметром для многих команд ActiveDirectory. Он позволяет указать условия, которым должна соответствовать учетная запись для возврата результатов.

Если не используется параметр Identity, необходимо использовать параметр Filter. Например, если вы хотите найти все учетные записи компьютеров в AD, вы можете указать астериск. Астериск является маской, которая соответствует всем учетным записям компьютеров.

Get-AdComputer -Filter *

Возможно, вам нужно найти все компьютеры, начинающиеся с буквы “F”. В этом случае вы можете сформировать синтаксис фильтра следующим образом.

Get-ADComputer -Filter "Name -like 'F*'"

Параметр LDAPFilter

Если вы хорошо знакомы с фильтрами LDAP, вы также можете использовать параметр LDAPFilter. Фильтр LDAP позволяет использовать синтаксис LDAP для точного поиска нужного компьютера. LDAPFilter может использоваться с параметром SearchBase или отдельно.

Ниже я использую фильтр LDAP для поиска всех компьютеров, начинающихся с F.

Get-ADComputer -LDAPFilter "(name=f*)"

Для получения дополнительной информации о построении фильтров ознакомьтесь с руководством “Изучение фильтров Active Directory и LDAP в PowerShell”.

Поиск компьютеров в OU

Поиск учетных записей компьютеров по имени с использованием параметра Identity или по различным атрибутам AD с использованием параметра Filter – это только один из вариантов. Вы также можете найти учетные записи компьютеров по OU, в которой они находятся.

Get-Adcomputer имеет параметр SearchBase, который вы можете использовать для ограничения поиска только в OU и/или всех его дочерних OU.

Возможно, вам нужно найти все контроллеры домена в OU Контроллеры домена. Вы можете ограничить область возвращаемых учетных записей компьютеров только этими машинами, используя параметр SearchBase.

Параметр SearchBase определяет «начало» поиска. Вместо того, чтобы начать поиск в корне домена, он указывает PowerShell начать с OU.

Чтобы использовать параметр SearchBase, вы указываете отличительное имя (DN) OU. Ниже приведен пример поиска всех учетных записей компьютеров в OU Контроллеры домена в домене company.pri.

Get-ADComputer -Filter * -SearchBase 'OU=Domain Controllers, DC=company, DC=pri'

Получение учетных записей в дочерних OU

При использовании параметра SearchBase PowerShell возвращает только учетные записи компьютеров в этом конкретном OU. Он не будет возвращать учетные записи компьютеров в любых дочерних OU. Для этого вы можете использовать параметр SearchScope.

Параметр SearchScope позволяет определить, насколько глубоко смотреть от родительского OU. Этот параметр имеет три возможных значения – 0, 1 и 2. По умолчанию он установлен на 0 и будет возвращать только компьютеры в базовом OU.

Если вам нужно рекурсивно искать в базовом OU и непосредственном дочернем OU, вы можете использовать значение 1. Однако наиболее распространенным значением здесь является 2, что означает рекурсивный поиск по всем дочерним, внукам и более глубоким OU.

Get-ADComputer -Filter * -SearchBase 'OU=Domain Controllers, DC=company, DC=pri' -SearchScope 2

Резюме

Get-AdComputer – это удобная командлета для получения информации о учетных записях компьютеров в AD. Вам будет самым большим вызовом не изучить, как использовать Get-AdComputer, а разобраться в синтаксисе фильтрации. Если вы прочитаете связанную статью о фильтрах выше, вы увидите, что это может быть сложно.

После того, как вы освоите фильтр, вы сможете легко получать всю необходимую информацию о учетных записях компьютеров в AD!

Это некоторые из наиболее распространенных случаев использования этой командлеты. Для полного разбора смотрите документацию Microsoft.

Source:
https://adamtheautomator.com/get-adcomputer/