PowerShell: системное администрирование и программирование

Модуль Active Directory для Windows PowerShell — один из основных инструментов для администрирования домена, управления объектами в Active Directory и получения различной информации о компьютерах AD, пользователях, группах и т. д. Любой администратор Windows должен знать, как использовать как графическую оснастку AD (обычно это ADUC — Active Directory Users & Computers) и командлеты модуля RSAT-AD-PowerShell для выполнения повседневных задач администрирования Active Directory. В этой статье мы рассмотрим, как установить модуль PowerShell Active Directory в Windows, познакомимся с его основными функциями и популярными командлетами, которые полезны для управления и взаимодействия с AD.

Установка модуля Powershell Active Directory на Windows Server

Active Directory для Windows PowerShell уже встроен в операционные системы Windows Server (начиная с Windows Server 2008 R2), но по умолчанию не включен.

В Windows Server 2016, 2022 и 2022 вы можете установить модуль AD для PowerShell из Диспетчера серверов (Добавить роли и компоненты → Функции → Инструменты удалённого администрирования сервера → Инструменты администрирования ролей → Инструменты AD DS и AD LDS → Модуль Active Directory для Windows PowerShell).

В англоязычной версии сервера это соответственно в Server Manager: Add Roles and Features → Features → Remote Server Administration Tools → Role Administration Tools → AD DS and AD LDS Tools → Active Directory module for Windows PowerShell.

Если вы уже установили роль Active Directory Domain Services, то это означает, что модуль Powershell Active Directory уже активирован и дополнительных действий предпринимать не нужно.

Смотрите также: Полное руководство по Active Directory, от установки и настройки до аудита безопасности. Ч. 4: Установка Active Directory Domain Services в Windows Server 2022

Вы также можете установить модуль из консоли PowerShell с помощью команды:

Install-WindowsFeature -Name «RSAT-AD-PowerShell» -IncludeAllSubFeature

Смотрите также: Управление ролями и функциями Windows Server с помощью PowerShell

Вы можете установить RSAT-AD-PowerShell не только на контроллеры домена. Подойдёт любой рядовой сервер домена или даже рабочая станция. Модуль PowerShell Active Directory устанавливается автоматически при развёртывании роли доменных служб Active Directory (AD DS) (при повышении уровня сервера до контроллера домена AD).

Модуль взаимодействует с AD через веб-службу Active Directory, которая должна быть установлена на вашем контроллере домена (связь осуществляется через TCP-порт 9389).

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

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

Находится это средство на сайте «Майкрософт». Разработчики предлагают программы для конкретной версии Win 10. Если тип редакции не указан, нужно использовать RTM (полный выпуск ОС Виндовс) для скачивания RSAT.

Для того чтобы загрузить дополнительные компоненты для работы на удаленном сервере, не нужно искать специальное ПО. Выполнить это действие удастся с помощью Мастера Add Features Wizard. Рекомендуется заранее добавить дублер контроллера домена для предупреждения возможных сбоев в работе.

Как установить модуль Active Directory PowerShell в командной строке

Вы можете установить модуль RSAT-AD-PowerShell не только на Windows Server, но и на свои рабочие станции.

Если вы попытаетесь выполнить приведённую выше PowerShell команду:

Install-WindowsFeature -Name «RSAT-AD-PowerShell» -IncludeAllSubFeature

то получите сообщение об ошибке:

Install-WindowsFeature: Целевым объектом указанного командлета не может быть клиентская операционная система Windows.

Причём независимо от того, какая у вас редакция Windows: Home, Pro, Enterprise.

Тем не менее, в Windows 10 build 1809 или новее пакет RSAT интегрирован в образ Windows (как компоненты по запросу), поэтому вы можете использовать эту команду PowerShell для установки модуля Active Directory:

Add-WindowsCapability -online -Name «Rsat.ActiveDirectory.DS-LDS.Tools»

Предыдущую команду нужно выполнять в командной строке с правами администратора.

Связанная статья: Как запустить PowerShell с правами администратора

Как установить модуль Active Directory PowerShell в Windows 11 в графическом интерфейсе

Для установки модуля Active Directory PowerShell в графическом интерфейсе в Windows 11 откройте «Settings» (Параметры), для этого нажмите Win+i и выберите вкладку «Apps» (Приложения), а затем перейдите в «Optional Features» (Дополнительные компоненты).

Теперь выберите «View features» (Просмотр компонентов) в строке «Add an optional feature» (Добавить компонент).

Для установки средств удалённого администрирования Active Directory найдите «RSAT: Active Directory Domain Services and Lightweight Directory Services Tools» (Средства удалённого администрирования сервера: средства доменных служб Active Director и служб облегчённого доступа к каталогам), поставьте галочку и нажмите на кнопку «Next» (Далее),

затем нажмите «Install» (Установить).

Примечание: если при поиске того или иного компонента вы не можете его найти, то, возможно, данный компонент уже установлен.

Чтобы в этом убедиться в строке поиска под надписью «Installed features» (Установленные компоненты) введите название искомого компонента.

Также помните, что в английской и локализованных версиях Windows данные компоненты называются по-разному!

Как работают активные директории

Основными принципами работы являются:

  • Авторизация, с помощью которой появляется возможность воспользоваться ПК в сети просто введя личный пароль. При этом, вся информация из учетной записи переносится.
  • Защищенность. Active Directory содержит функции распознавания пользователя. Для любого объекта сети можно удаленно, с одного устройства, выставить нужные права, которые будут зависеть от категорий и конкретных юзеров.
  • Администрирование сети из одной точки. Во время работы с Актив Директори сисадмину не требуется заново настраивать все ПК, если нужно изменить права на доступ, например, к принтеру. Изменения проводятся удаленно и глобально.
  • Полная интеграция с DNS. С его помощью в AD не возникает путаниц, все устройства обозначаются точно так же, как и во всемирной паутине.
  • Крупные масштабы. Совокупность серверов способна контролироваться одной Active Directory.
  • Поиск производится по различным параметрам, например, имя компьютера, логин.

Объекты и атрибуты

Объект — совокупность атрибутов, объединенных под собственным названием, представляющих собой ресурс сети.

Атрибут — характеристики объекта в каталоге. Например, к таким относятся ФИО пользователя, его логин. А вот атрибутами учетной записи ПК могут быть имя этого компьютера и его описание.

Процессы Atieclxx, Atiedxx, Ati2evxx – зачем используются и какой утилите принадлежат

Пример:

“Сотрудник” – объект, который обладает атрибутами “ФИО”, “Должность” и “ТабN”.

Контейнер и имя LDAP

Контейнер — тип объектов, которые могут состоять из других объектов. Домен, к примеру, может включать в себя объекты учетных записей.

Основное их назначение — упорядочивание объектов по видам признаков. Чаще всего контейнеры применяют для группировки объектов с одинаковыми атрибутами.

Почти все контейнеры отображают совокупность объектов, а ресурсы отображаются уникальным объектом Active Directory. Один из главных видов контейнеров AD — модуль организации, или OU (organizational unit). Объекты, которые помещаются в этот контейнер, принадлежат только домену, в котором они созданы.

Облегченный протокол доступа к каталогам (Lightweight Directory Access Protocol, LDAP) — основной алгоритм подключений TCP/IP. Он создан с целью снизить количество нюанс во время доступа к службам каталога. Также, в LDAP установлены действия, используемые для запроса и редактирования данных каталога.

Дерево и сайт

Дерево доменов – это структура, совокупность доменов, имеющих общие схему и конфигурацию, которые образуют общее пространство имен и связаны доверительными отношениями.

Лес доменов – совокупность деревьев, связанных между собою.

Сайт — совокупность устройств в IP-подсетях, представляющая физическую модель сети, планирование которой совершается вне зависимости от логического представления его построения. Active Directory имеет возможность создания n-ного количества сайтов или объединения n-ного количества доменов под одним сайтом.

Как установить модуль Active Directory PowerShell в Windows 10 в графическом интерфейсе

Для установки модуля Active Directory PowerShell в графическом интерфейсе, нажмите Win+x, затем в открывшемся меню выбираем «Apps and Features» (Приложения и возможности).

Далее выбираем «Optional Features» (Дополнительные компоненты).

Теперь выбираем «Add a feature» (Добавить компонент).

Для установки средств удалённого администрирования Active Directory выбираем «RSAT: Active Directory Domain Services and Lightweight Directory Services Tools» (Средства удалённого администрирования сервера: средства доменных служб Active Director и служб облегчённого доступа к каталогам) и нажимаем на кнопку «Install» (Установить).

Командлеты Active Directory PowerShell

В модуле Active Directory для Windows PowerShell есть множество командлетов для взаимодействия с AD. Каждая новая версия RSAT содержит больше командлетов, чем предыдущая. В Windows Server 2022 доступно 147 командлетов PowerShell для Active Directory.

Перед использованием командлетов модуля Active Directory вам необходимо импортировать его в сеанс PowerShell:

Import-Module ActiveDirectory

Начиная с Windows Server 2012 R2, Windows 8.1 и в последующих версиях модуль импортируется автоматически.

Если модуль Active Directory не установлен на вашем компьютере, вы можете импортировать его со своего контроллера домена (для этого вам нужны права администратора домена) или с другого настольного компьютера:

$psSess = New-PSSession -ComputerName ИМЯ_КОМПЬЮТЕРА Import-Module -PSsession $psSess -Name ActiveDirectory

В этих командах ИМЯ_КОМПЬЮТЕРА — это компьютер, который является Контроллером Домена, либо компьютером, на котором установлен модуль Powershell Active Directory.

Вы можете отобразить полный список доступных командлетов Active Directory с помощью команды:

Get-Command -module ActiveDirectory

Чтобы посчитать общее количество командлетов в модуле AD выполните команду:

Get-Command -module ActiveDirectory | measure-object | select count

Большинство командлетов RSAT-AD-PowerShell начинаются с префиксов Get-, Set- или New-.

  • Командлеты Get- класса используются для получения различной информации из Active Directory (Get-ADUser — свойства пользователя, Get-ADComputer — настройки компьютера, Get-ADGroupMember — членство в группе и так далее). Чтобы запустить их, вам не нужно быть администратором домена. Любой пользователь домена может запускать команды PowerShell для получения значений атрибутов объекта AD (кроме конфиденциальных, как в примере с LAPS);
  • Командлеты класса Set- используются для установки (изменения) параметров объекта в Active Directory. Например, вы можете изменить свойства пользователя (Set-ADUser), настройки компьютера (Set-ADComputer), добавить пользователя в группу и так далее. Для этого у вашей учётной записи должны быть разрешения на изменение свойств объекта;
  • Команды, начинающиеся с New- позволяют создавать объекты AD (создать пользователя – New-ADUser, создать группу – New-ADGroup);
  • Командлеты Remove- используются для удаления объектов AD.

Так вы можете получить помощь по любому командлету:

Get-Help КОМАНДЛЕТ Get-Help КОМАНДЛЕТ -Full

Смотрите также: Как получить справку по командам PowerShell

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

(Get-Help КОМАНДЛЕТ).examples

Или:

Get-Help КОМАНДЛЕТ -Examples

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

Устройство

Поговорим о устройстве программы.

Объекты

Active Directory имеет иерархическую структуру, состоящую из объектов. Объекты разделяются на три основные категории: ресурсы (например, принтеры), службы (например, электронная почта) и учётные записи пользователей и компьютеров. Служба предоставляет информацию об объектах, позволяет организовывать объекты, управлять доступом к ним, а также устанавливает правила безопасности.

Объекты могут быть хранилищами для других объектов (группы безопасности и распространения). Объект уникально определяется своим именем и имеет набор атрибутов — характеристик и данных, которые он может содержать; последние, в свою очередь, зависят от типа объекта. Атрибуты являются составляющей базой структуры объекта и определяются в схеме. Схема определяет, какие типы объектов могут существовать.

Сама схема состоит из двух типов объектов: объекты классов схемы и объекты атрибутов схемы. Один объект класса схемы определяет один тип объекта Active Directory (например, объект «Пользователь»), а один объект атрибута схемы определяет атрибут, который объект может иметь.

Каждый объект атрибута может быть использован в нескольких разных объектах классов схемы. Эти объекты называются объектами схемы (или метаданными) и позволяют изменять и дополнять схему, когда это необходимо и возможно. Однако каждый объект схемы является частью определений объектов, поэтому отключение или изменение этих объектов могут иметь серьёзные последствия, так как в результате этих действий будет изменена структура каталогов. Изменение объекта схемы автоматически распространяется в службе каталогов. Будучи однажды созданным, объект схемы не может быть удалён, он может быть только отключён. Обычно все изменения схемы тщательно планируются.

Контейнер аналогичен объекту в том смысле, что он также имеет атрибуты и принадлежит пространству имён, но, в отличие от объекта, контейнер не обозначает ничего конкретного: он может содержать группу объектов или другие контейнеры.

Структура

Верхним уровнем структуры является лес — совокупность всех объектов, атрибутов и правил (синтаксиса атрибутов) в Active Directory. Лес содержит одно или несколько деревьев, связанных транзитивными отношениями доверия. Дерево содержит один или несколько доменов, также связанных в иерархию транзитивными отношениями доверия. Домены идентифицируются своими структурами имён DNS — пространствами имён.

Объекты в домене могут быть сгруппированы в контейнеры — подразделения. Подразделения позволяют создавать иерархию внутри домена, упрощают его администрирование и позволяют моделировать, например, организационную или географическую структуру организации в службе каталогов. Подразделения могут содержать другие подразделения. Microsoft рекомендует использовать как можно меньше доменов в службе каталогов, а для структурирования и политик использовать подразделения. Часто групповые политики применяются именно к подразделениям. Групповые политики сами являются объектами. Подразделение является самым низким уровнем, на котором могут делегироваться административные полномочия.

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

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

Физическая структура и репликация

Физически информация хранится на одном или нескольких равнозначных контроллерах доменов, заменивших использовавшиеся в Windows NT основной и резервные контроллеры домена, хотя для выполнения некоторых операций сохраняется и так называемый сервер «операций с одним главным сервером», который может эмулировать главный контроллер домена. Каждый контроллер домена хранит копию данных, предназначенную для чтения и записи. Изменения, сделанные на одном контроллере, синхронизируются на все контроллеры домена при репликации. Серверы, на которых сама служба Active Directory не установлена, но которые при этом входят в домен Active Directory, называются рядовыми серверами.

Репликация каталога выполняется по запросу. Служба KCC (Knowledge Consistency Checker) создаёт топологию репликации, которая использует сайты, определённые в системе, для управления трафиком. Внутрисайтовая репликация выполняется часто и автоматически с помощью средства проверки согласованности (уведомлением партнёров по репликации об изменениях). Репликация между сайтами может быть настроена для каждого канала сайта (в зависимости от качества канала) — различная «оценка» (или «стоимость») может быть назначена каждому каналу (например, DS3, T1, ISDN), и трафик репликации будет ограничен, передаваться по расписанию и маршрутизироваться в соответствии с назначенной оценкой канала. Данные репликации могут транзитом передаваться через несколько сайтов через мосты связи сайтов, если «оценка» низка, хотя AD автоматически назначает более низкую оценку для связей «сайт—сайт», чем для транзитных соединений. Репликация «сайт—сайт» выполняется серверами-плацдармами в каждом сайте, которые затем реплицируют изменения на каждый контроллер домена своего сайта. Внутридоменная репликация проходит по протоколу RPC, междоменная — может использовать также протокол SMTP.

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

Возможность операций с одним главным компьютером позволяет обрабатывать запросы, когда репликация с несколькими главными компьютерами недопустима. Есть пять типов таких операций: эмуляция главного контроллера домена (PDC-эмулятор), главный компьютер относительного идентификатора (мастер относительных идентификаторов или RID-мастер), главный компьютер инфраструктуры (мастер инфраструктуры), главный компьютер схемы (мастер схемы) и главный компьютер именования домена (мастер именования доменов). Первые три роли уникальны в рамках домена, последние две — уникальны в рамках всего леса.

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

База данных (хранилище каталогов) в Windows 2000 использует расширяемую подсистему хранения Microsoft Jet Blue ( англ. ), которая позволяет для каждого контроллера домена иметь базу размером до 16 терабайт и 1 миллиард объектов (теоретическое ограничение, практические тесты выполнялись только с приблизительно 100 миллионами объектов). Файл базы называется NTDS.DIT и имеет две основные таблицы — таблицу данных и таблицу связей. В Windows Server 2003 добавлена ещё одна таблица для обеспечения уникальности экземпляров дескрипторов безопасности.

Get-ADComputer: получение свойств компьютера

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

Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=ds,DC=hackware,DC=ru’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Смотрите также «Get-ADComputer: поиск сведений о компьютерах и фильтр компьютеров по их свойствам в Active Directory».

Функции и предназначения

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

Каталоги содержат в себе разную информацию, относящуюся к юзерам, группам, устройствам сети, файловым ресурсам — одним словом, объектам. Например, атрибуты пользователя, которые хранятся в каталоге должны быть следующими: адрес, логин, пароль, номер мобильного телефона и т.д. Каталог используется в качестве точки аутентификации, с помощью которой можно узнать нужную информацию о пользователе.

Add-AdGroupMember: добавить пользователя AD в группы

Чтобы добавить пользователей в существующую группу безопасности в вашем домене AD, выполните эту команду:

Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolf

Отобразить список пользователей в группе AD и экспортировать его в файл CSV:

Get-ADGroupMember LondonSales -recursive | ft samaccountname | Out-File c:\ps\export_ad_users.csv

В предыдущей команде «ft» это командлет Format-Table.

Смотрите также: Управление группами Active Directory с помощью PowerShell

Основные понятия, встречающиеся в ходе работы

Существует ряд специализированных понятий, которые применяются при работе с AD:

  1. Сервер – компьютер, содержащий все данные.
  2. Контроллер – сервер с ролью AD, который обрабатывает запросы от людей, использующих домен.
  3. Домен AD — совокупность устройств, объединенных под одним уникальным именем, одновременно использующих общую базу данных каталога.
  4. Хранилище данных — часть каталога, отвечающая за хранение и извлечение данных из любого контроллера домена.

New-ADOrganizationalUnit: создание организационной единицы в AD

Чтобы быстро создать типичную структуру организационной единицы в AD, вы можете использовать сценарий PowerShell. Предположим, вы хотите создать несколько подразделений с именами состояний и создать в них типичные контейнеры объектов. Создание этой структуры AD вручную с помощью графической оснастки ADUC занимает довольно много времени. Модуль AD для PowerShell позволяет сделать это за секунды (кроме времени на написание скрипта):

$fqdn = Get-ADDomain $fulldomain = $fqdn.DNSRoot $domain = $fulldomain.split(«.») $Dom = $domain[0] $Ext = $domain[1] $Sites = («Nevada»,»Texas»,»California»,»Florida») $Services = («Users»,»Admins»,»Computers»,»Servers»,»Contacts»,»Service Accounts») $FirstOU =»USA» New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path «DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false ForEach-Object ($S in $Sites) { New-ADOrganizationalUnit -Name $S -Description «$S» -Path «OU=$FirstOU,DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false ForEach-Object ($Serv in $Services) { New-ADOrganizationalUnit -Name $Serv -Description «$S $Serv» -Path «OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false } }

После запуска сценария в Active Directory появляется следующая структура подразделений.

Что такое делегирование AD

Само делегирование — это передача части разрешений и контроля от родительского объекта другой ответственной стороне.

Известно, что каждая организация имеет в своем штабе несколько системных администраторов. Разные задачи должны возлагаться на разные плечи. Для того чтобы применять изменения, необходимо обладать правами и разрешениями, которые делятся на стандартные и особые. Особые — применимы к определенному объекту, а стандартные представляют собой набор, состоящий из существующих разрешений, которые делают доступными или недоступными отдельные функции.

Способы удаления корзины с рабочего стола

Установка доверительных отношений

В AD есть два вида доверительных отношений: «однонаправленные» и «двунаправленные». В первом случае один домен доверяет другому, но не наоборот, соответственно первый имеет доступ к ресурсам второго, а второй не имеет доступа. Во втором виде доверие “взаимное”. Также существуют «исходящие» и «входящие» отношения. В исходящих – первый домен доверяет второму, таким образом разрешая пользователям второго использовать ресурсы первого.

При установке следует провести такие процедуры:

Источник

Get-ADDomainController: Получение информации о контроллерах домена

Чтобы получить информацию обо всех контроллерах домена в домене, используйте командлет Get-AdDomainController:

Get-ADDomainController -filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table -auto

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

Подключение консоли ADUC к домену из рабочей группы

Если вы хотите подключится консолью ADUC к контроллеру домена с компьютера, который не включен в домен (состоит в рабочей группе), воспользуйтесь таким методом:

  1. Запустите командную строку и выполните команду запуска оснастки от имени другого пользователя: runas /netonly /user:winitpro\aaivanov mmc
  2. В пустой консоли MMC выберите File->Add/Remove Snap-In
  3. Перенесите оснастку Active Directory Users and Computers в правую панель и нажмите Add;

  4. Чтобы подключится к домену, щелкните по корню консоли и выберите Change domain. Укажите имя домена.

В результате консоль ADUC подключится к контроллеру домена, получит и отобразит структуру контейнеров (OU) данного домена Active Directory.

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]