Get-ADComputer: примеры вывода данных о компьютерах Active Directory


Добры день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали ситуацию, когда не открывается пуск Windows 10, в итоге было рассмотрено свыше 8 методов по устранению. Идем вперед и сегодня я хочу вас научить получать информацию, о компьютерах Active Directory через PowerShell. Мы разберем огромное количество сценариев применения командлета Get-ADComputer с ключами, фильтрами и различными конструкциями.
За что отвечает командлет Get-ADComputer?
Когда ваша инфраструктура предприятия построена на базе Active Directory, то вы рано или поздно придете к задаче по получению различных данных о учетных записях компьютеров, проще говоря по серверам и рабочим станциям. PowerShell для этой задачи подходит лучше всего, так как он быстрее, позволяет автоматизацию и многое другое. Для этого в PowerShell есть командлет Get-ADComputer.
Простой пример использования Get-ADComputer, предположим, что вам нужно получить:
- Полный список учетных записей компьютеров в AD или конкретном организационном подразделении (OU)
- Получить информацию по атрибутам компьютера и сделать по ним выгрузку
- Найти все неактивные компьютера
- Найти все новые компьютеры в Active Directory
- Найти все выключенные компьютеры
- Поиск компьютеров по операционной системе
- Многое другое
Get-ADComputer — Это наилучший инструмент по получению любых сведений, о компьютерах в Active Directory
Как работать с командлетом Get-ADComputer
Для того, чтобы начать работать с командлетом Get-ADComputer, вы должны:
- Либо это делать на контроллере домена, где уже есть все нужные оснастки
- Либо вы должны установить RSAT в случае с клиентскими ОС, например на Windows 11 или установить модуль в диспетчере серверов на Windows Server
Установка модуля Active Directory на клиентских ОС
Add-WindowsCapability -online -Name «Rsat.ActiveDirectory.DS-LDS.Tools»

и далее в оснастке PowerShell введите:
Import-Module activedirectory
Установка модуля Active Directory на Windows Server
Когда на сервере нет модуля Active Directory, то при попытке его импортировать вы получите ошибку:
Import-Module : Указанный модуль «activedirectory» не был загружен, так как ни в одном из каталогов модулей не был обнаружен действительный файл модуля.

Чтобы это поправить введите с оснастке PowerShell:
Import-Module ServerManager
Add-WindowsFeature -Name «RSAT-AD-PowerShell» –IncludeAllSubFeature

Либо вы можете это сделать через графический интерфейс оснастки «Диспетчер серверов«.
Управление — Добавить роли и компоненты — Установка ролей или компонентов — Далее — Далее — Средства удаленного администрирования серверов — Средства администрирования ролей — Средства AD DS и AD LDS — Модуль Active Directory для Windows PowerShell (Remote Server Administration Tools — Role Administration Tools — AD DS and AD LDS Tools — Active Directory module for Windows powerShell)

Параметры фильтров Get-ADComputer
Для поиска и извлечения нескольких компьютеров используйте параметры Filter или LDAPFilter. Параметр Filter является общим параметром среди многих команд ActiveDirectory. Он позволяет указать условия, которым должна соответствовать учетная запись для ее возврата. Если Identity параметр не используется, необходимо использовать Filter параметр.
Примеры использования командлета Get-ADComputer
Если вы впервые работаете с командами Get-ADComputer, и под рукой нет готовых примером, то вы можете их посмотреть в справке. Для этого введите команду:
Get-Help Get-ADComputer
Хочу напомнить, что запрашивать данные, о компьютерах Active Directory через модуль AD for Powershell может любой пользователь домена, если ему это явным образом не запрещали делать

В первом примере мы с вами получим базовую информацию о конкретном доменном компьютере или сервере. в моем примере это будет компьютер с именем 5ORG. Вводим команду:
Get-ADComputer -Identity 5ORG
DistinguishedName : CN=5ORG,OU=Windows 11, OU=Компьютеры,OU=Оргструктура, DC=root,DC=pyatilistnik,DC=org
DNSHostName : 5org.root.pyatilistnik.org
Enabled : True
Name : 5ORG
ObjectClass : computer
ObjectGUID : ed7d9f38-7be0-4e81-bb8b-c17d445a35a8
SamAccountName : 5ORG$
SID : S-1-5-21-4284852150-1823218374-53464103-2106
UserPrincipalName :

Согласитесь, что этого мало и нужно больше информации. Попросим Get-ADComputer вывести все свойства, которые есть у объекта компьютер. Для этого добавляем ключ -Properties. Вводим команду:
Get-ADComputer -Identity 5ORG -Properties *
«*» — Означает, что нужно вывести все.
Из полезного тут:

- lastLogon
- LastLogonDate — Время последнего входа в сеть
- OperatingSystem — Версия ОС
- whenCreated — Когда создан
- Многое другое

Как видите свойств много, давайте я покажу вам как вы можете сами выбирать те свойства которые вы хотите выводить. Давайте я выведу дату создания, время последнего входа, имя компьютера, его статус (активный/отключенный) и Ip-адрес. Для этого:
Get-ADComputer -identity 5ORG -Properties * | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize

Иногда бывает ситуация, что нужно обратиться к определенному контроллеру домена с запросом, для этого есть ключ -Server:
Get-ADComputer -Server dc01.root.pyatilistnik.org -identity 5ORG -Properties * | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize
Как видите я обратился к двум разным контроллерам домена. Данная возможность будет вам весьма полезна, когда у вас в лесу несколько доменов Active Directory.

Фильтры в Get-ADComputer
Теперь предположим, что вам необходимо получить информацию, о дате создания, времени входа, версии ОС, имени и статусу для всех компьютеров в домене. Тут мы уже будем использовать фильтры. Фильтры нужны для массовых запросов.
- Как посмотреть все компьютеры в домене со свойствами через использование фильтров:
Get-ADComputer -Filter * -Properties * | FT
Get-ADComputer -Filter * -Properties Name, whenCreated, OperatingSystem, LastLogonDate | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize
Get-ADComputer -Filter * -Properties * | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize

- Чтобы ограничить вывод определенным количеством элементов, воспользуйтесь параметром -ResultSetSize. В примере будет выведено 3 элемента.
Get-ADComputer -Filter * -ResultSetSize 3 -Properties * | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize
- Запросим в фильтре точное совпадение с именем
Get-ADComputer -Filter ‘Name -eq «5org»‘ | FT
- Давайте теперь скажем. что покажи мне компьютеры, где в имени есть DC
Get-ADComputer -Filter ‘Name -like «*dc*»‘ | FT

- Давайте теперь скажем. что покажи мне компьютеры, где в имени есть DC и нужными свойствами Name, IPv4Address, Enabled, DNSHostName
Get-ADComputer -Filter ‘Name -like «*dc*»‘ -Properties Name, IPv4Address, DNSHostName | FT Name, IPv4Address, DNSHostName, Enabled

- Еще вариант вывода информации, о всех компьютерах по разным критериям и сортировкой по имени.
Get-ADComputer -Filter ‘Name -like «*dc*»‘ -Properties Name, IPv4Address, DNSHostName | Select Name, IPv4Address, DNSHostName, Enabled | Sort Name
Get-ADComputer -Filter * -Properties * | FT Name, whenCreated, OperatingSystem, LastLogonDate, Enable -Autosize

- Выводим список всех компьютеров в домене у которых операционная система Windows Server, так же возьмем описание lastLogon, whenCreated, DistinguishedName и чтобы учетная запись компьютера была активной.

- Как вывести все компьютеры без виртуальных имен. таких как роли DFS или инстансы в SQL, они часто имеют в поле описания «Failover cluster virtual network name account».
- Если нужно обратиться к конкретному OU, то можно использовать ключ -SearchBase.
Делая поиск по конкретному OU вы можете использовать дополнительные параметры. -SearchScope 1, который означает, что нужно искать только в корневом разделе. Параметр -SearchScope 2 означает рекурсивный поиск компьютеров во всех вложенных OU

- Еще приведу примеры фильтров. Давайте выведем все компьютеры у которых операционная система не Windows 11 10.0 (22000).
Get-ADComputer -Filter ‘OperatingSystemVersion -ne «10.0 (22000)»‘ | Select Name, DistinguishedName | FT -AutoSize

- Теперь давайте найдем все компьютеры, которые не появлялись в сети более 45 календарных дней. Для этого такая конструкция:
# Задаем переменную, отнимающую от текущей даты 45 дней
$Date = (Get-Date).AddDays(-45)
Get-ADComputer -Properties LastLogonDate -Filter -gt $date> | Sort LastLogonDate (или | Sort Name) | FT Name, LastLogonDate -Autosize

- Далее вы данный список можете полученных компьютеров можете заблокировать, это нормально и позволит держать базу Active Directory в надлежащем состоянии.
$Date = (Get-Date).AddDays(-45)
Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | Set-ADComputer -Enabled $false -whatif
Обратите внимание, что я для начала добавил ключ -whatif, который позволит посмотреть вывод команды без реального внесения изменений, если все правильно отработало, то смело можете его убирать

- Получаем список компьютеров имеющие изменения на 15 мая 2022
Get-ADComputer -Filter ‘Modified -ge «15-05-2022 12:00:00″‘ | FT Name
- Как вывести список компьютеров с нужными или всеми свойствами, созданными до 1 мая 2022 года.
Get-ADComputer -Filter * -Properties * | `
Where-Object -Property Created -LT (Get-Date -Year 2022 -Month 05 -Day 01) | FT Name
Не забываем, что вы можете сортировать выводить любые свойства:
$date = (Get-Date -Year 2021 -Month 12 -Day 31)
Get-ADComputer -Filter * -Properties * | `
Where-Object -Property Created -LT $date| `
select Name, Created | ft
Символ «`» — Делает перевод строки на новую

- Теперь давайте разберемся, как вывести все отключенные записи компьютеров в домене, сразу оговорюсь, что как я и показывал выше вы можете это делать для конкретной OU или домена, указывая нужный сервер для запроса.
Get-ADComputer -Filter
- Теперь логично, что вы хотели бы иметь понимание, сколько вообще активных компьютеров в домене.
(Get-ADComputer -Filter
- Можно это сделать в определенной OU
(Get-ADComputer -SearchBase «OU=Компьютеры,OU=Оргструктура, DC=root,DC=pyatilistnik,DC=org» -Filter
- Можно вывести количество компьютеров с Windows 10 например.
(Get-ADComputer -Filter
- Чтобы найти все компьютеры имена которых начинаются с W10.
Get-ADComputer -Filter

- Получить список компьютеров созданных после 1 января 2020
Get-ADComputer -Filter ‘Created -le «01-01-2020″‘ -Properties * | FT Name, Created
- Получаем список компьютеров у которых операционная система не Windows Server 2016.
Get-ADComputer -Filter ‘OperatingSystem -notlike «*2016*»‘ -property * | FT Name,OperatingSystem

- Выводим компьютеры с Windows Server 2012 и Windows Server 2019
Get-ADComputer -Filter ‘OperatingSystem -like «*2012*» -or OperatingSystem -like «*2019*»‘ -property * | FT Name,OperatingSystem

Популярные Похожие записи:
Get-ADUser и примеры использования- Скрипт получения новых компьютеров в Active Directory
- Установка и управление модулями PowerShell
- Как удалить sIDHistory у объектов Active Directory
Get-ADGroup: Управление группами Active Directory- Ошибка активации 0xC004F034 на KMS сервере
Get adcomputer не распознано как имя командлета
Командлет Get-ADObject может не запускаться в Windows Server 2008 R2 , несмотря на то, что в документации Microsoft написано, что он присутсвует в данном дистрибутиве Windows.
При запуске Get-ADObject появляется ошибка:
Имя «Get-ADObject» не распознано как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
+ CategoryInfo : ObjectNotFound: (Get-ADObject:String) [], CommandNotFoundException
На самом деле этот командлет есть, и располагается он в инструменте «Active Directory Administration with Windows PowerShell» ( https://technet.microsoft.com/ru-RU/library/dd378937.aspx ). По опыту, данный инструмент нормально работает как минимум в Power Shell v.2.
Чтобы командлет стал доступен, необходимо выполнить команду импорта модуля:
После этой команды все командлеты для управления доменом станут доступны. Доступны они будут в текущем сеансе Windows Power Shell.
- Как писать и как запускать скрипты PowerShell
- Как перенести строку кода в скрипте Windows Power Shell
- Как включить командлет Get-ADObject в Windows Power Shell (работа с объектами Active Directory)
- Как узнать список установленных модулей Windows Power Shell
- Как получить всю информацию о командлете в Windows Power Shell
- Работа со строками в PowerShell
- Кавычки в PowerShell
- Как в PowerShell узнать список сервисов с их состоянием (Запущен, остановлен)
- Обзор технологии Microsoft Windows PowerShell
- Использование PowerShell в качестве интерактивной оболочки
- Использование конвейеров в Windows PowerShell
- Основы системы форматирования в Windows PowerShell
- Основные командлеты Windows PowerShell
- Windows Management Instrumentation (WMI) в PowerShell
- Администрирование Active Directory в Power Shell
- Скрипты PowerShell
- Фоновые задания и задания удаленного типа в Power Shell
- Администрирование Windows Server 2008 R2 через Power Shell
- Написание скриптов Windows Power Shell (обзор языка)
- Windows PowerShell: Создание сценариев (основы)
- Поиск неиспользуемых аккаунтов пользователей и компьютеров в AD c помощью PowerShell
- Список атрибутов (параметров), которые может вернуть командлет get-ADUser
- Как в PowerShell отфильтровать вывод командлета
Get-ADGroupMember возвращает ошибку для локальной группы домена членам из удаленных лесов
Эта статья поможет устранить ошибку Get-ADGroupMember , которая возникает при выполнении командлета в сценарии, где группа имеет участника из удаленного леса.
Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 3171600
Симптомы
Предположим, что вы используете Get-ADGroupMember командлет для идентификации членов группы в доменные службы Active Directory (AD DS). Однако при выполнении командлета для локальной группы домена возвращается следующую ошибку:
Get-ADGroupMember -verbose -identity «CN=Test-Local1,OU=Test Accounts,DC=contoso,DC=com»
Get-ADGroupMember: произошла неуказанная ошибка
В строке:1 char:1
+ Get-ADGroupMember -verbose -identity «CN=Test-Local1,OU=Test Accounts,DC=contoso .
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=Test-Local1. bertm-w7,DC=com:ADGroup) [Get-ADGroupMember], ADExceptionon + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
При одностороннем Get-ADGroupMember доверии при использовании командлета в группе из доверенного леса вы получаете следующие ошибки, если группа содержит участников из доверенного леса:
- «Произошла неуказанная ошибка»
- «Серверу не удалось обработать запрос из-за внутренней ошибки»
В качестве обходного решения используйте оснастку Пользователи и компьютеры Active Directory для просмотра членов группы или преобразования одностороннего доверия в одностороннее доверие.
Причина
Эта проблема возникает, если группа содержит участника из другого леса, учетная запись которого была удалена из леса учетной записи. Член представлен в локальном домене субъектом внешней безопасности (FSP). В экспорте LDIFDE группы членство отображается следующим образом:
dn: CN=Test-Local1,OU=Test Accounts,DC=contoso,DC=com
При удалении исходной учетной записи с идентификатором безопасности FSP не обновляется и не удаляется с учетом этого удаления. Необходимо вручную убедиться, что эти ссылки FSP удалены.
Решение
Чтобы устранить эту проблему, включите ведение журнала для запросов на разрешение, которые касаются этих идентификаторов безопасности и выполняются веб-службой Active Directory. Таким образом можно определить учетные записи, для которых не удается выполнить разрешение. Для этого выполните командлет Get-ADGroupMember contoso.com на контроллере домена (где заполнитель представляет указанный домен).
Чтобы включить ведение журнала, выполните следующие командные строки:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x800 -Type dword -Force Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x1 -Type dword -Force
Не забудьте отключить ведение журнала при наличии журнала:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x0 -Type dword -Force
Вы увидите файл с именем c:\windows\debug\lsp.log, который отслеживает попытки SID-Name разрешения. При повторном запуске командлета на контроллере домена, где был выполнен командлет, файл регистрирует сбои и будет выглядеть следующим образом:
LspDsLookup — ввод функции LsapLookupSidsLspDsLookup — запрос LookupSids для 1 идентификаторов безопасности с level=1, mappedcount=0, options=0x0, clientRevision=2 обрабатывается. Идентификаторы безопасности: LspDsLookup — Sids[ 0 ] = S-1-5-21-3110691720-3620623707-1182478234-698540LspDsLookup — Requestor details: Local Machine, Process Process Name = C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe LspDsLookup — Entering function LsapDbLookupSidsUsingIdentityCacheLspDsLookup — 1 sids remain unmappedLspDsLookup — Exiting function LsapDbLookupSidsUsingIdentityCache с состоянием 0x0LspDsLookup — запрос цепочки LookupSids (с помощью Netlogon) к \ dc3.northwindtraders.com для 1 sids будет выполнен с level=6, mappedcount=0, options=0x0, serverRevision=0. Идентификаторы безопасности: LspDsLookup — Sids[ 0 ] = S-1-5-21-3110691720-3620623707-1182478234-698540 LspDsLookup — Lookup request (using Netlogon) to \ dc3.northwindtraders.com returned with 0xc0000073 and mappedcount=0, serverRevision=0LspDsLookup — выход из функции LsapLookupSids с состоянием 0xc0000073
Проверьте наличие следующих элементов, чтобы убедиться, что это соответствующий раздел для этой проблемы (в предыдущем примере выходных данных):
- Процесс выполняется C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe.
- Например, запрос отправляется контроллеру домена в другом лесу northwindtraders.com .
- Код возврата — это 0xc0000073, что равно STATUS_NONE_MAPPED.
Чтобы найти объект FSP, выполните следующую команду (замените доменные имена и идентификаторы безопасности):
get-AdObject -Searchbase "CN=ForeignSecurityPrincipals,DC=contoso,DC=com" -ldapfilter "(cn=S-1-5-21-3110691720-3620623707-1182478234-698540)"
Исходный объект для этого FSP больше не существует, поэтому его можно безопасно удалить. Это также приведет к удалению из всех групп, в которых он входит:
get-AdObject -Searchbase "CN=ForeignSecurityPrincipals,DC=contoso,DC=com" -ldapfilter "(cn=S-1-5-21-3110691720-3620623707-1182478234-698540)" | Remove-AdObject -Confirm:$false
Получение списка компьютеров с Get-ADComputer в Powershell

Так же как и с получением списка пользователей AD с Get-ADUser с помощью Powershell мы можем вернуть список компьютеров. Этот список может быть отфильтрован исключая или включая отключенные учетные записи, по-определенному OU, экспортированы в CSV и многое другое. Эти примеры, а так же множество других, вы можете увидеть в статье ниже.
Навигация по посту
- Получение компьютеров
- Фильтрация вывода
- Использование Filter
- Использование Properties
- Получение включенных и отключенных учетных записей
Получение компьютеров
Команда, которая вернет список всех компьютеров в домене следующая:
Get-ADComputer -Filter *
Команда точно выполнится на домен контроллере, так как все поддерживаемые серверные версии ОС устанавливают нужный модуль Powershell вместе с Active Directory (если вы только специально не отключали эту возможность). Если вы планируете выполнять команду с клиента на Windows 7 и выше, то такой модуль устанавливается вместе с RSAT (Remote Server Administration Tools). В отдельном случае может понадобится импортировать этот модуль следующей командой:
Import-Module ActiveDirectoryВы так же можете проверить, что этот модуль у вас установлен следующей командой:
Get-Module -Name ActiveDirectory
В остальных случаях стоит смотреть на явные запреты на выполнение скриптов Powershell и чтения Active Directory.
Что бы вернуть данные по одному пользователю используется ключ Identity:
Get-ADComputer -Identity "AD1"
Параметр Filter является обязательным. Вы можете вернуть дополнительные данные используя Properties:
Get-ADComputer -Filter * -Properties *
Вам так же будет интересно:
Как установить Powershell AD модуль
Фильтрация вывода
У нас есть базовые свойства, которые фильтруются с помощью Filter. Это:
И ряд свойств, которые возвращаются с параметром Properties. Их можно фильтровать через дополнительные условия (конвейер, where-object, циклы). Имена этих свойств можно вернуть так:
Get-ADComputer -Filter * -Properties * | Get-Member -MemberType Properties | select name
Использование Filter
Если вы планируете получить информацию по определенному доменному компьютеру, то вам нужно добавить условие. В примере ниже я возвращаю информацию только по компьютеру у которого имя равно «AD1»:
Get-ADComputer -Filter -Properties *
Если нужно найти только компьютеры, которые содержат в имени определенные значения, то нужно использовать -like вместо -eq . В моем примере я ищу все компьютеры содержащие в имени «CL» (регистр не учитывается).
Get-ADComputer -Filter -Properties *
Знаки * говорят, что в этих местах может быть еще текст. Такое написание «C*L» соответствовало бы логике: строка начинается с буквы «C», затем может быть еще текст завершающийся на «L».
Использование Properties
Свойства возвращаемые через ключ Properties можно фильтровать двумя способами.
Первый — указывать их явно. Например вы хотите вернуть список с датами создания учетных записей компьютеров домена, которые хранит свойство «Created». Это можно сделать так:
Get-ADComputer -Filter * -Properties Created
Указать больше свойств можно через запятую. Например:
Get-ADComputer -Filter * -Properties Created,CN,CodePageТак же можно фильтровать через команду where-object. На примере ниже я получаю компьютеры со всеми свойствами, но созданные до 31 декабря 2019 года:
Get-ADComputer -Filter * -Properties * | ` Where-Object -Property Created -LT (Get-Date -Year 2019 -Month 12 -Day 31)
Ограничить вывод определенными свойствами можно через Select:
$date = (Get-Date -Year 2019 -Month 12 -Day 31) Get-ADComputer -Filter * -Properties * | ` Where-Object -Property Created -LT $date| ` select Name, Created | ft
Получение включенных и отключенных учетных записей
Используя свойства Enabled можно вернуть учетные записи активных и деактивированных записей. Так будут возвращены отключенные учетные записи:
Get-ADComputer -Filter

Получение компьютеров из определенных OU
Для работы с организационными единицами есть параметр -SearchBase. Мой домен контроллер называется «domain.local», а организационная единица «Moscow», следовательно, заполненный параметр будет выглядеть так:
-SearchBase "OU=Moscow,DC=domain,DC=local"Вместе с командой это получится так:
Get-ADComputer -Filter * -SearchBase "OU=Moscow,DC=Domain,DC=local"
Если у вас несколько доменов или OU, которые нужно посмотреть, можно использовать циклы и массивы:
# Организационные единицы $ous = @('Moscow', 'SPB') # Домен $domain = 'DC=domain,DC=local' foreach ($ou in $ous)
Вам так же будет интересно:
Как создавать команды и функции в Powershell вызывать их и передавать параметры
Ограничение вывода
Если у вас очень большой AD, то вывод всех компьютеров может быть долгим. Вы можете изменить это ограничив вывод с помощью ResultSetSize. Так я выведу только одну запись:
Get-ADComputer -Filter * -ResultSetSize 1
Эскорт в CSV
Любой выведенный результат команды Get-ADComputer мы можем экспортировать в CSV. Для этого у нас есть командлет Export-CSV. На примере ниже я выгружаю информацию обо всех компьютеров домена в файл «C:\adcomputers.csv»
Get-ADComputer -Filter * -Properties * | Export-CSV -Path "C:\ADComputers.csv" -NoTypeInformation