Получение списка компьютеров с get-adcomputer в powershell

Интеграция 1с и active directory на сервере

Доступ к редактору групповой политики

Доступ к редактору групповой политики проще, чем вы думаете, особенно в Windows 10. Как и в большинстве утилит в Windows, есть несколько способов получить к нему доступ.

Вот один надежный метод:

  1. Откройте меню «Пуск».
  2. Искать групповая политика,
  3. Запустите Изменить групповую политику запись, которая подходит.

Для другого способа нажмите Win + R открыть диалоговое окно «Выполнить». Там введите gpedit.msc запустить редактор групповой политики.

Хотя мы упоминали, что групповая политика обычно недоступна в домашних выпусках Windows, есть обходной путь, который вы можете попробовать. Он включает в себя некоторые базовые настройки системы и установку стороннего редактора групповой политики.

Если вы заинтересованы, ознакомьтесь с нашим пошаговым руководством по установке редактора групповой политики в Windows Home.

,

Применение обновлений групповой политики

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

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

Что такое Active Directory в Windows 10 и для чего это нужно

Microsoft разработала новую программу, которая позволяет объединить все сетевые объекты (компьютеры, маршрутизаторы, принтеры, профили пользователей, серверы) в одну систему. Это хранилище называется Active Directory или Active Directory (сокращенно AD).

Для реализации этой программы вам понадобится специальный сервер, а точнее контроллер домена. В нем будет храниться вся информация. С его помощью выполняется аутентификация (по протоколу Kerberos) пользователей и различных устройств в сети. Контроллер домена будет отслеживать доступ к объектам в своей сети, то есть разрешать запрошенное действие или, наоборот, блокировать его.

Использование Active Directory дает несколько преимуществ. Эта программа обеспечивает безопасную работу, упрощает взаимодействие различных объектов в одной сети. С помощью AD вы можете ограничить количество функций для определенных пользователей. Данные, хранящиеся на этом сервере, защищены от внешнего доступа. Сервисы AD обеспечивают удобный обмен файлами (на основе технологии DFS), объединяют все объекты в одну систему (поддерживается стандарт LDAP). Возможна интеграция с Windows Server по протоколу RADIUS.

Active Directory можно использовать в Win10 Professional Edition. Существует специальный инструмент управления доменом (оснастка ADUC), который позволяет адаптировать AD к вашей операционной системе. Этот адаптер позволяет отслеживать сетевые объекты и управлять ими. Перед использованием ADUC рекомендуется установить службу RSAT, которая включает командную строку, Power Shell и средства удаленного администрирования сервера.

Active Directory служит каталогом, хранилищем информации о пользователях и сетевой инфраструктуре. Этот проект реализуется через контроллер домена. Этот сервер контролирует доступ (разрешает или блокирует запросы) к объектам в своей сети. AD рекомендуется для крупных компаний.

Наблюдение за наблюдателем

Привычных инструментов в арсенале хакера предостаточно для изучения любого софта. Тестовый комп с чистым SSD, виртуальная машина, сниффер Wireshark, HTTP-прокси и дебаггер Fiddler, монитор сетевых соединений TCPView, а также программы для создания снимков реестра и мелкие вспомогательные утилиты. Мы старались использовать версии, не требующие установки. Исключение составили только Wireshark и Fiddler из-за специфики их работы. Эти программы оставили напоследок, чтобы большая часть тестирования выполнялась на совершенно чистой системе. Сетевой трафик анализировался как в настройках Windows 10 по умолчанию, так и после поэтапного отключения всех следящих функций.

Из официальных документов следует, что за пользователем следят: сама Windows, глубоко интегрированный поиск Bing, голосовой помощник Cortana, служба MSN, пакет Office, клиент облачного хранилища OneDrive, почтовый клиент Outlook, а также Skype, Silverlight и Xbox Live. Подробнее об этом написано на сайте Microsoft. Посмотрим, как именно происходит сбор данных.

Первый старт Windows 10

Выполнив чистую установку сборки 10240, мы стали наблюдать за её сетевым поведением с помощью TCPView. Никаких других действий при этом не выполнялось. Поначалу всё было тихо — как в «Семерке». Лишь фирменный магазин приложений показывал готовность получить данные через сеть доставки контента от Akamai Technologies.

Затишье перед бурей

Когда уже стало надоедать сидеть в засаде, внезапно ожил системный процесс . Он установил подключение к удалённому узлу 191.232.139.254 и отправил на него 7,5 КБ.

Первый буревестник

Можно было узнать принадлежность IP-адреса через сервис WHOIS, но спрашивать Shodan информативнее.

BingBot попался

Как стало ясно из описания, это робот поисковой системы Bing. Если бы в тесте был сделан хоть один поисковый запрос (даже локальный), тогда соединение не вызывало бы никаких возражений. Однако мы просто сидели и смотрели в TCPView на то, как компьютер начинает шпионить за нами.

Получение серверов

Основой сценария, который мы создаем, являются сами серверы. Вы можете записать их по отдельности в текстовом файле, который читается, или в массиве внутри самого скрипта, но используя PowerShell, мы можем сделать это лучше. Чтобы сделать сценарий более динамичным и не требовать от нас его изменения при каждом добавлении нового сервера, мы можем использовать Active Directory (AD), чтобы получить список объектов компьютера в данной организационной единице (OU).

Ниже мы используем модуль, доступный в Инструментарий RSAT, чтобы запросить OU и получить все объекты компьютера через ,

На этом этапе мы могли бы отфильтровать только свойство name, чтобы заполнить переменная, но часто очень полезно иметь весь возвращаемый объект для последующего использования.

Отчеты Active Directory с помощью диспетчера прав доступа SolarWinds (БЕСПЛАТНАЯ пробная версия)

Генерация отчетов в Active Directory необходима для оптимизации производительности и обеспечения соответствия нормативным требованиям. Одним из лучших инструментов отчетности Active Directory является SolarWinds Access Rights Manager (ARM). Инструмент был создан, чтобы повысить наглядность того, как используются и управляются учетные данные каталога. Например, вы можете просматривать учетные записи с небезопасными конфигурациями и злоупотреблениями учетными данными, которые могут указывать на кибератаку.

Использование стороннего инструмента, такого как SolarWinds Access Rights Manager это выгодно, потому что предоставляет вам информацию и функции, к которым было бы гораздо сложнее или невозможно получить доступ напрямую через Active Directory.

Помимо создания отчетов вы можете автоматически удалять неактивные или просроченные аккаунты что цель киберпреступников. SolarWinds Access Rights Manager начинается с 3444 долларов (2829 фунтов). Также есть 30-дневная бесплатная пробная версия версия, которую вы можете скачать.

SolarWinds Access Rights ManagerЗагрузить 30-дневную бесплатную пробную версию

Возможные проблемы

В процессе активации AD и RSAT может возникнуть ряд трудностей, например, возможность запускать программы от имени другого пользователя заранее не активируется. Также следует помнить, что средство удаленного управления не может быть установлено на ПК с домашней или стандартной версией Win 10. Средство RSAT можно добавить только в деловую или профессиональную операционную систему.

Этот инструмент можно найти на веб-сайте Microsoft. Разработчики предлагают программы для конкретной версии Win 10. Если тип ревизии не указан, вам необходимо использовать RTM (полную версию ОС Windows) для загрузки RSAT.

Чтобы скачать надстройки для работы на удаленном сервере, вам не нужно искать специальное программное обеспечение. Это действие можно выполнить с помощью мастера добавления компонентов. Рекомендуется заранее добавить резервный контроллер домена, чтобы избежать возможных сбоев в работе.

Microsoft > NSA

Первые сообщения о странном поведении Windows 10 появились ещё на этапе знакомства с Technical Preview. Значительный трафик в ней создаётся постоянно – даже когда не запущено ни одно приложение для работы в сети. Тогда такое поведение списывали на сбор статистики, необходимой для отладки. В Microsoft изучали поведение нового продукта на разных конфигурациях, а пользователи играли роль бета-тестеров. Вроде бы, всё логично. Однако с выходом релиза ничего не изменилось, и жалоб стало только больше.

«В прошлые выходные я обновил Windows 8 на лэптопе моего сына до Windows 10. Сегодня в первый рабочий день мне пришло письмо из Microsoft с темой «Еженедельный отчёт об активности». В нём были подробнейшие сведения о действиях сына за ноутбуком: когда и сколько он за ним сидел, какие приложения использовал и как долго, что искал в сети, какие сайты посещал, и многое другое. Я был крайне возмущён, поскольку не собирался следить за своим ребенком. В Microsoft мне ответили, что если я не хочу получать подобных писем, то мне следует указать это в настройках семейного аккаунта через свою учетную запись. В Windows 8 такой проблемы не было». Это отрывок из письма друга известного писателя и активиста Кори Доктороу, опубликованное в блоге Boing Boing. Многие обозреватели утверждают, что эти сведения о пользователях по-прежнему собираются — независимо от настроек аккаунта. Если что-то и можно отключить, то это отчеты, которые приходят на почту.

Заявление об отсутствии конфиденциальности
Другие статьи в выпуске:

Xakep #200. Тайная жизнь Windows 10

  • Содержание выпуска
  • Подписка на «Хакер»-60%

Самое интересное, что сбор различной информации встроенными средствами Windows 10 подробно описан в «Заявлении о конфиденциальности». Конечно, большинство не станет его читать, а среди ознакомившихся будет много недоумевающих. Формулировки в объёмном тексте используются хитрые и размытые. Из них трудно понять, что именно изменится в плане приватности с переходом на Windows 10. Если кратко, то о ней можно будет забыть. Правозащитники сходятся во мнении, что система сразу начинает собирать все данные, которые только может получить. Вот список их основных типов.

Биометрические:

  • образец голоса и произношения определённых слов;
  • образец почерка (рукописного ввода);
  • образцы набираемых текстов в любом приложении.

Геолокационные:

  • информация о текущем местоположении;
  • история местоположений с указанием временных меток.

Технические:

  • данные об оборудовании, включая идентификаторы устройств;
  • сведения о подключённых сетях (проводных и беспроводных);
  • сведения телеметрии;
  • данные от любых встроенных датчиков.

Поведенческий анализ:

  • история поисковых запросов;
  • история посещённых веб-страниц;
  • время старта Windows и завершения работы;
  • время запуска и закрытия каждого приложения.

Покупательская активность:

  • загрузки приложений из фирменного магазина;
  • переход по ссылкам контекстной рекламы;
  • переход по ссылкам персонализированной рекламы.

Перечень можно продолжить, но и такого набора достаточно, чтобы начать собственное исследование. Забегая вперед, отметим, что часть обвинений в адрес Windows 10 все-таки не подтвердилась. Например, чешское издание AE News предполагает, что ОС выполняет отправку изображения с веб-камеры на серверы Microsoft. В нашем тесте система отреагировала на подключение камеры лишь установкой драйверов – никаких посторонних действий с ней зарегистрировано не было ни сразу, ни потом.

Общая информация

Если вам нужно просто предоставить сетевой доступ к ресурсам Linux компьютера, то смотрите статью Samba.

В этой статье мы опишем как подключить Linux компьютер к домену под управлением Microsoft Active Directory и сделать из него файловый сервер.

После выполнения этой инструкции мы будем иметь в сети файловый сервер под управлением ОС Линукс, входящий в домен Windows 2003 и ничем не отличающийся от файлового сервера под Windows. Пользователи домена смогут обращаться к его ресурсам под своими учётными записями. Доступ регулируется группами домена AD.

По этой инструкции настраивались Debian (4, 5), Ubuntu 9.10, создавалась она на основе официальной документации и многих рекомендаций и инструкций из Интернета. Остальные Linux’ы настраиваются сходным образом.

Получение компьютеров

Команда, которая вернет список всех компьютеров в домене следующая:

Get-ADComputer -Filter *

1

Get-ADComputer -Filter *

Команда точно выполнится на домен контроллере, так как все поддерживаемые серверные версии ОС устанавливают нужный модуль Powershell вместе с Active Directory (если вы только специально не отключали эту возможность). Если вы планируете выполнять команду с клиента на Windows 7 и выше, то такой модуль устанавливается вместе с RSAT (Remote Server Administration Tools). В отдельном случае может понадобится импортировать этот модуль следующей командой:

Import-Module ActiveDirectory

1

Import-Module ActiveDirectory

Вы так же можете проверить, что этот модуль у вас установлен следующей командой:

Get-Module -Name ActiveDirectory

1

Get-Module -Name ActiveDirectory

В остальных случаях стоит смотреть на явные запреты на выполнение скриптов Powershell и чтения Active Directory.

Что бы вернуть данные по одному пользователю используется ключ Identity:

Get-ADComputer -Identity «AD1»

1

Get-ADComputer -Identity «AD1»

Параметр Filter является обязательным. Вы можете вернуть дополнительные данные используя Properties:

Get-ADComputer -Filter * -Properties *

1

Get-ADComputer -Filter * -Properties *

Local Administrator Password Solution

Local Administrator Password Solution (LAPS) — система, предназначенная для управления паролями локальных администраторов на компьютерах домена. Она позволяет администратору домена периодически менять пароль учетной записи локальных администраторов, делегировать права на чтение и сброс пароля для пользователей или групп Active Directory, а также обеспечивает хранение паролей в расширенном атрибуте объекта компьютера в Active Directory. Система состоит из трех компонентов: агента, модуля PowerShell для настройки системы, Active Directory для хранения паролей.

Есть два способа обнаружить LAPS.

  1. На всех хостах, где установлен LAPS, в папке C:\Program Files\LAPS\CSE\ будет файл AdmPwd.dll.
  2. Конфигурации LAPS определяются в объектах групповой политики. Командой Get-DomainGPO -Identity «*LAPS*» можно поискать любой объект групповой политики, у которого есть слово LAPS в отображаемом имени.

1
2
3
4
5

displaynameLAPS

gpcfilesyspath\\test.local\SysVol\test.local\Policies\{C3801BA8-56D9-4F54-B2BD-FE3BF1A71BAA}

distinguishednameCN={C3801BA8-56D9-4F54-B2BD-FE3BF1A71BAA},CN=Policies,CN=System,DC=testlab,DC=local

GPRegistryPolicy

1 Parse-PolFile»\\test.local\SysVol\test.local\Policies\{C8701BA8-56D9-4123-B6B2-FE3FA5031BAA}\Machine\Registry.pol»

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

KeyNameSoftware\Policies\Microsoft Services\AdmPwd

ValueNamePasswordComplexity

ValueTypeREG_DWORD

ValueLength4

ValueData4

KeyNameSoftware\Policies\Microsoft Services\AdmPwd

ValueNamePasswordLength

ValueTypeREG_DWORD

ValueLength4

ValueData8

KeyNameSoftware\Policies\Microsoft Services\AdmPwd

ValueNamePasswordAgeDays

ValueTypeREG_DWORD

ValueLength4

ValueData30

KeyNameSoftware\Policies\Microsoft Services\AdmPwd

ValueNameAdminAccountName

ValueTypeREG_SZ

ValueLength26

ValueDatalocalfish

KeyNameSoftware\Policies\Microsoft Services\AdmPwd

ValueNameAdmPwdEnabled

ValueTypeREG_DWORD

ValueLength4

ValueData1

Теперь найдем все компьютеры, к которым применен этот объект групповой политики. Для этого нам нужно знать GUID этого объекта. Сначала определим подразделения, а потом в каждом подразделении найдем рабочие станции.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

>Get-DomainOU-GPLink»C3801BA8-56D9-4F54-B2BD-FE3BF1A71BAA»-Properties distinguishedname

distinguishedname
——————

OU=Workstations,DC=testlab,DC=local

OU=Servers,DC=testlab,DC=local

>Get-DomainComputer-SearchBase»LDAP://OU=Workstations,DC=testlab,DC=local»-Properties distinguishedname

distinguishedname
——————

CN=WKSTN02,OU=Workstations,DC=testlab,DC=local

CN=WKSTN01,OU=Workstations,DC=testlab,DC=local

CN=WKSTN03,OU=Workstations,DC=testlab,DC=local

CN=WKSTN04,OU=Workstations,DC=testlab,DC=local

>Get-DomainComputer-SearchBase»LDAP://OU=Servers,DC=testlab,DC=local»-Properties distinguishedname

distinguishedname
——————

CN=FS01,OU=Servers,DC=testlab,DC=local

Мы нашли все компьютеры, на которые распространяется эта конфигурация LAPS. Компонент LAPS PowerShell дает много возможностей. Например, вот такой командой мы можем определить, что LAB\Workstation Admins и LAB\Server Admins имеют расширенные права в подразделениях Workstations и Servers:

1
2
3
4
5
6
7

>Find-AdmPwdExtendedRights-Identity»Workstations»|fl

ObjectDNOU=Workstations,DC=testlab,DC=local

ExtendedRightHolders{NT AUTHORITY\SYSTEM,LAB\Domain Admins,LAB\Workstation Admins}

>Find-AdmPwdExtendedRights-Identity»Servers»|fl

ObjectDNOU=Servers,DC=testlab,DC=local

ExtendedRightHolders{NT AUTHORITY\SYSTEM,LAB\Domain Admins,LAB\Server Admins}

Теперь легко получить пароль.

1
2
3
4
5

>Get-AdmPwdPassword-ComputerName wkstn02|fl

ComputerNameWKSTN02

DistinguishedNameCN=WKSTN02,OU=Workstations,DC=testlab,DC=local

Password!qP)iyT

ExpirationTimestamp

Через файл ntuser.dat

Каждый раз, как пользователь входит в систему все его настройки загружаются из файла ntuser.dat, который находится в домашнем каталоге ‘C:\Users\UserName\’. При выходе из системы все настройки записываются в этот же файл. То есть мы можем получить имя пользователя по дате изменения этого файла.

В этом примере вернутся все каталоги пользователей:

Получим даты изменения файлов ‘ntuser.dat’:

Извлечем из пути имя пользователя и уберем лишние колонки:

Как вы знаете к большинству компьютеров можно подключится используя следующие пути:

Это же мы можем использовать с командой Get-ChildItem. Соединим все это в функцию:

Далее мы можем использовать команду в таких вариациях:

Ключ ‘-ErrorAction SilentlyContinue’ нужен для игнорирования ошибок связанных с выключенными компьютерами. Если его не написать вы получите ошибки формата:

Отмечу несколько моментов:

Представим, что мы захотим сформировать список из тех пользователей, которые выполнили выход за последний час. Это можно сделать так:

Исключить пользователей мы можем так же:

Экспорт для Excel аналогичен предыдущему примеру:

Получение информации

1. Список всех групп

Без фильтра:

Get-AdGroup -filter *

С фильтром:

Get-AdGroup -filter * | Where {$_.name -like «*free*»} | fl name

* будут выбраны все группы, в названии которых встречается free.

2. Подробная информация о группе

Get-ADGroup «Domain Users» -Properties *

* где ключ -Properties * покажет информацию о всех атрибутах группы.

Показать только SID и GUID группы:

Get-ADGroup «Domain Admins» | ft ObjectGUID, SID

3. Посмотреть членов группы

Перечень членов групп с базовой информацией о каждом пользователе:

Get-ADGroupMember -Identity Administrators

Вывести на экран только имена пользователей:

Get-ADGroupMember -Identity Administrators | ft name

Рекурсивный запрос:

Get-ADGroupMember -Identity Administrators -Recursive | ft name

* в данном примере используется ключ Recursive — это позволяет вывести на экран не только членов группы Administrators, но и членов групп, которые входят в эту группу.

Вывести членов групп с подробной информацией по каждому из них:

Get-ADGroupMember -Identity «Users» | foreach { Get-ADUser $_ -Properties * }

Расчет выполняется методом Count:

(Get-ADGroupMember -Identity Administrators).Count

5. В каких группах состоит пользователь

Задача немного обратная — работаем с пользователем и отображаем список групп, в которые он входит:

Get-ADUser Administrator -Properties Memberof | Select -ExpandProperty memberOf

6. Список пустых групп

Имеются ввиду группы, в которых нет ни одного пользователя:

Get-ADGroup -filter * | where {-Not ($_ | Get-ADGroupMember)} | Select Name

7. Cписок пользователей, которые не входят в конкретную группу

Get-ADuser -Filter * -Properties MemberOf | where { -Not ($_.MemberOf -match «Managers») } | Select Name

* в данном примере мы увидем список пользователей, которые не входят в группу Managers.

Получение компьютеров

Команда, которая вернет список всех компьютеров в домене следующая:

Команда точно выполнится на домен контроллере, так как все поддерживаемые серверные версии ОС устанавливают нужный модуль Powershell вместе с Active Directory (если вы только специально не отключали эту возможность). Если вы планируете выполнять команду с клиента на Windows 7 и выше, то такой модуль устанавливается вместе с RSAT (Remote Server Administration Tools). В отдельном случае может понадобится импортировать этот модуль следующей командой:

Вы так же можете проверить, что этот модуль у вас установлен следующей командой:

В остальных случаях стоит смотреть на явные запреты на выполнение скриптов Powershell и чтения Active Directory.

Что бы вернуть данные по одному пользователю используется ключ Identity:

Параметр Filter является обязательным. Вы можете вернуть дополнительные данные используя Properties:

Вам так же будет интересно:

Как настроить Active Directory (с помощью RSAT)

Для начала вам нужно сначала убедиться, что у вас есть Windows Professional или Windows Enterprise установлен, иначе вы не сможете установить Инструменты удаленного администрирования сервера. Затем сделайте следующее:

Для Windows 10 версии 1809:

  1. Щелкните правой кнопкой мыши на Начало Кнопка и перейти к настройки > Программы > Управление дополнительными функциями > Добавить функцию.
  2. Теперь выберите RSAT: доменные службы Active Directory и облегченные инструменты каталогов.
  3. Наконец, выберите устанавливать затем перейдите к Начало > Средства администрирования Windows получить доступ к Active Directory после завершения установки.

Для Windows 8 (и Windows 10 версии 1803) 

  1. Загрузите и установите правильную версию средств администрирования сервера для вашего устройства: Windows 8, Windows 10.
  2. Затем щелкните правой кнопкой мыши Начало кнопку и выберите Панель управления > программы > Программы и особенности > Включить или отключить функции Windows.
  3. Сдвиньте вниз и нажмите на Инструменты удаленного администрирования сервера вариант.
  4. Теперь нажмите на Инструменты администрирования ролей.
  5. Нажмите на Инструменты AD DS и AD LDS и проверить Инструменты AD DS был проверен.
  6. Нажмите Ok.
  7. Перейти к Начало > Инструменты управления на Начало меню для доступа к Active Directory.

Get-ADComputer — синтаксис использования командлета

Чтобы получать информацию из AD с помощью командлетов из модуля AD для PowerShell, вам не нужны права администратора домена. Достаточно, чтобы учётная запись, под которой запускается командлет, была членом группы «Domain Users / Authenticated Users».

Чтобы получить информацию о конкретной учётной записи компьютера в домене, укажите её имя в качестве аргумента параметра -Identity:

Get-ADComputer -Identity hackware-server

Пример вывода:

DistinguishedName : CN=HACKWARE-SERVER,OU=Domain Controllers,DC=ds,DC=hackware,DC=ru
DNSHostName       : HackWare-Server-2022.ds.hackware.ru
Enabled           : True
Name              : HACKWARE-SERVER
ObjectClass       : computer
ObjectGUID        : 77e65141-ebec-4728-a1cc-563199d86bf8
SamAccountName    : HACKWARE-SERVER$
SID               : S-1-5-21-670420343-3848213752-1643348011-1000
Get-ADComputer -Identity hackware-server -Properties *

Используя Get-Member, вы можете получить список всех свойств объекта ADComputer:

Get-ADComputer -Filter * -Properties * | Get-Member

Дата последнего входа компьютеров в сеть указана в атрибуте LastLogonDate.

Командлет Get-ADComputer позволяет отображать любые свойства компьютера в результатах выполнения команды. Удалите всю ненужную информацию, оставив только значения атрибутов Name и LastLogonDate.

Get-ADComputer -identity hackware-win -Properties * | Format-Table Name,LastLogonDate -Autosize

Итак, мы получили данные о последней регистрации в домене для отдельного компьютера. Затем вам нужно изменить команду, чтобы она отображала информацию о времени последней сетевой регистрации для всех компьютеров в домене. Для этого замените -Identity на -Filter *:

Get-ADComputer -Filter * -Properties * | Format-Table Name,LastLogonDate -Autosize

У нас получилась простая таблица, которая содержит всего 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта ADComputer.

Чтобы отобразить информацию об объектах компьютеров в определённом OU (организационном подразделении), используйте параметр -SearchBase:

Get-ADComputer -SearchBase 'OU=Paris,DC=woshub,DC=loc' -Filter * -Properties * | Format-Table Name,LastLogonDate -Autosize

Отсортируйте результаты запроса по дате последнего входа в систему с помощью командлета Sort-Object:

Get-ADComputer -Filter * -Properties * | Sort-Object LastLogonDate | Format-Table Name,LastLogonDate -Autosize

Итак, у нас есть список компьютеров и дата их последнего входа в домен Active Directory. Теперь мы хотим отключить учётные записи компьютеров, которые не использовались в течение 120 или более дней.

Используя Get-Date, мы можем получить значение текущей даты в переменной и уменьшить его до 120 дней:

$date_with_offset = (Get-Date).AddDays(-120)

Полученную переменную даты можно использовать как фильтр запроса Get-ADComputer в поле LastLogonDate:

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort-Object LastLogonDate | Format-Table Name,LastLogonDate -Autosize

Итак, мы создали список неактивных учётных записей компьютеров, которые не регистрировались в сети более 120 дней. Используйте команду Disable-ADAccount или Set-ADComputer, чтобы отключить их.

Совет. В первый раз лучше проверить результаты выполнения команды с помощью переключателя -WhatIf, который позволяет увидеть, что произойдёт, если бы команда была запущена, но при этом в системе ничего изменено не будет.

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonData -lt $date_with_offset } | Set-ADComputer -Enabled $false -WhatIf

Теперь вы можете отключить все неактивные учётные записи компьютеров:

Get-ADComputer -Properties LastLogonDate -Filter {LastLogonData -lt $date_with_offset } | Set-ADComputer -Enabled $false

Примечание. Также вы можете получить список заблокированных, отключённых и неактивных компьютеров и пользователей домена с помощью отдельного командлета Search-ADAccount.

Что такое Active Directory в Windows 10 и для чего это нужно

Компания «Майкрософт» разработала новую программу, позволяющую объединить все объекты сети (компьютеры, роутеры, принтеры, профили пользователей, серверы) в единую систему. Называется это хранилище — Active Directory или Активный каталог (сокращенно AD).

Для реализации этой программы нужен специальный сервер, вернее, контроллер домена. В нем будет храниться вся информация. Через него выполняется аутентификация (через протокол Kerberos) пользователей и различных устройств в сети. Контроллер домена будет мониторить доступ к объектам своей сети, то есть разрешать запрашиваемое действие или, наоборот, блокировать его.

Использование Active Directory имеет ряд преимуществ. Эта программа обеспечивает безопасную работу, упрощает взаимодействие различных объектов одной сети. С помощью AD можно ограничить ряд функций для определенных пользователей. Данные, хранящиеся на таком сервере, защищены от внешнего доступа. Службы AD обеспечивают удобный обмен файлами (на основе технологии DFS), объединяют все объекты в одну систему (поддерживается стандарт LDAP). Возможна интеграция с Windows Server через протокол RADIUS.

Программу Active Directory можно использовать на базе профессиональной редакции Win10. Существует специальный инструмент управления доменами (оснастка ADUC), позволяющий адаптировать AD к своей ОС. Этот адаптер позволяет контролировать и управлять объектами сети. Прежде чем использовать ADUC, рекомендуется установить сервис RSAT, включающий Командную строчку, Power Shell, а также средства удаленного администрирования сервера.

Важно! Active Directory выступает в роли каталога, хранилища информации о пользователях и инфраструктуре сети. Реализация этого проекта осуществляется через контроллер домена

Это сервер контролирует доступ (разрешает или блокирует запросы) к объектам своей сети. AD рекомендуется использовать для больших компаний.

Get-adcomputer: вывод информации о компьютерах в active directory через powershell | windows для системных администраторов

PowerShell командлет Get-ADComputer можно использовать для получения различных сведений об учётных записях компьютеров (серверах и рабочих станциях) в домене Active Directory. Это один из наиболее полезных командлетов для выборки и поиска компьютеров по разным критериям в домене AD ( для получения информации об учетных записях пользователей AD используется другой командлет — Get-ADUser).

Допустим, ваша задача – найти в Active Directory все неактивные компьютеры, которые не регистрировались в домене более 120 дней и заблокировать учетные записи этих компьютеров.

Прежде чем приступить к работе с командлетом Get-ADComputer, необходимо подключить модуль Active Directory Module for Windows PowerShell.

Справка о параметрах командлета Get-ADComputer вызывается стандартно с помощью Get-Help:

Для получения информации из AD с помощью командлетов модуля AD for Powershell не обязательно иметь права администратора домена, достаточно чтобы учетная запись под которой запускается командлет входила в группу пользователей домена (Authenticated Users / Domain Users).

Чтобы получить информацию о доменной учетной записи конкретного компьютера или сервера, укажите его имя в качестве аргумента параметра —Identity:

DistinguishedName : CN=DB01,OU=Servers,OU=MSK,DC=winitpro,DC=ru
DNSHostName       : DB01.winitpro.ru
Enabled           : True
Name              : DB01
ObjectClass       : computer
ObjectGUID        : 1234567c-13f8-4a2c-8b00-b30a32324103
SamAccountName    : DB01$
SID               : S-1-5-21-3243682314-1360322815-2238451561-4318
UserPrincipalName :

Командлет вернул только базовые свойства объекта Computer из AD. Нас интересует время последней регистрации компьютера в домене AD, но этой информация в выводе команды нет. Выведем все доступные свойства данного компьютера из Active Directory:

Как вы видите, время последнего входа данного компьютера в сеть указано в атрибуте компьютера LastLogonDate – 21.09.2021 0:20:17.

Командлет Get-ADComputer позволяет вывести в результатах команды любые из свойств компьютера. Уберем всю лишнюю информацию, оставив в выводе только значения полей Name и LastLogonDate.

Итак, мы получили данные о последнем времени регистрации в домене для одного компьютера. Теперь нам нужно изменить команду так, чтобы она возвращала информацию о времени последней регистрации в сети для всех компьютеров домена. Для этого заменим параметр –Identity на —Filter:

Мы получили таблицу, которая содержит только 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта Computer из AD. Чтобы вывести данные о компьютерах в определенном контейнере домена (OU), воспользуйтесь параметром SearchBase:

Отсортируем результаты запроса по времени последнего логина в сеть (поле LastLogonDate) с помощью команды Sort:

Итак, мы получили список компьютеров домена и время их последнего входа в сеть Active Directory. Теперь мы хотим заблокировать учетные записи компьютеров, которые не использовались более 120 дней.

С помощью Get-Date получим в переменной значение текущей даты и вычтем из текущей даты 120 дней:

Полученную переменную с датой можно использовать в качестве фильтра запроса Get-ADComputer по полю LastLogonDate

Таким образом, мы получили список неактивных компьютеров, не регистрировавшихся в сети более 120 дней. С помощью командлета Set-ADComputer или Disable-ADAccount вы можете отключить эти учетные записи.

Совет

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

Совет

. Список заблокированных, отключенных и неактивных компьютеров и пользователей домена можно получить также с помощью отдельного командлета Search-ADAccount.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: