В качестве администратора системы Windows, управление группами Active Directory (AD) вероятно, является чем-то, что вы делаете каждый день. Хотя вы можете использовать оснастку Active Directory Users and Computers (ADUC), что происходит, когда вам нужно управлять группами в нескольких доменах или автоматизировать задачи управления группами? Вот здесь на помощь приходит PowerShell.
В этом практическом руководстве вы научитесь использовать PowerShell для управления группами AD как профессионал. Вы узнаете, как запрашивать группы, создавать новые и изменять существующие группы, используя практические примеры из реальной жизни.
Предварительные требования
Если вы хотите следовать этому руководству, убедитесь, что у вас есть следующие предварительные требования:
- Компьютер с Windows (Windows 10/11 или Windows Server), присоединенный к домену Active Directory
- Установленный модуль Active Directory для PowerShell
- Учетная запись пользователя с правами для управления группами AD
Запрос групп AD с помощью PowerShell
Начнем с распространенного сценария – вы новый IT-администратор в компании и вам нужно провести аудит структуры групп AD. Ваш менеджер хочет знать, какие группы существуют в разных отделах. Команда Get-ADGroup
станет вашим лучшим другом здесь.
Поиск групп по имени
Наверное, самой простой задачей является поиск групп, содержащих определенный текст в их названии. Например, чтобы найти все группы с “Sales” в названии:
Get-ADGroup -Filter 'Name -like "Sales"'
Звездочки (*) являются подстановочными знаками, соответствующими любым символам до или после слова “Sales”. Эта команда вернет все группы, в названии которых есть “Sales”.
Фильтрация по типу группы
Возможно, вы хотите видеть только группы безопасности (а не группы рассылки). Вы можете добавить дополнительные критерии фильтрации, используя оператор -and
:
Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'
Теперь вы будете видеть только группы безопасности, в названии которых есть “Sales”.
Поиск в конкретных OU
Нужно найти группы в определенной организационной единице (OU)? Используйте параметр SearchBase
:
Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'
Эта команда находит все группы в OU Инженерии и его дочерних OU.
Поиск недавно созданных групп
Хотите увидеть, какие группы были созданы после определенной даты? Отфильтруйте по атрибуту whenCreated
:
Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'
Это вернет все группы, созданные 1 января 2023 года или позже.
Создание новых групп AD
Теперь давайте рассмотрим создание новых групп. Возможно, ваша компания реорганизуется, и вам нужно создать группы для новых отделов.
Создание группы безопасности
Вот как создать новую группу безопасности для сотрудников IT-поддержки:
New-ADGroup -Name "IT_Support" `
-GroupScope Global `
-GroupCategory Security `
-Description "Group for IT support staff" `
-Path "OU=IT,DC=company,DC=local"
Это создает глобальную группу безопасности под названием “IT_Support” в организационной единице IT.
Создание группы рассылки
Нужна группа рассылки по электронной почте? Просто измените несколько параметров:
New-ADGroup -Name "Marketing_News" `
-GroupScope DomainLocal `
-GroupCategory Distribution `
-Description "Group for receiving marketing updates" `
-Path "OU=Marketing,DC=company,DC=local"
Создание нескольких групп одновременно
Есть несколько похожих групп для создания? Используйте цикл:
$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
New-ADGroup -Name "Sales_$region" `
-GroupScope Global `
-GroupCategory Security `
-Description "Sales team for $region region" `
-Path "OU=Sales,DC=company,DC=local"
}
Изменение существующих групп
В организациях все меняется. Группы необходимо переименовывать, обновлять описания и изменять области. Давайте посмотрим, как справиться с этими задачами.
Переименование групп
Чтобы переименовать группу, вам нужно изменить как ее имя, так и samAccountName:
# Сначала переименуйте объект группы
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam
# Затем обновите samAccountName
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam
Обновление описаний групп
Необходимо обновить описание группы? Одна строка с Set-ADGroup
:
Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'
Изменение области группы
Если вам нужно изменить область группы (например, с Глобальной на Универсальную):
Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal
Советы профессионалов
Вот несколько советов, чтобы сделать управление вашими AD группами еще более эффективным:
-
- Всегда используйте `-Filter` вместо `-Identity`, когда запрашиваете несколько групп – это более эффективно
-
- Помните, что область группы не может быть изменена, если в группе есть участники – сначала удалите участников
-
- Используйте параметр `-WhatIf`, когда вносите изменения, чтобы предварительно просмотреть, что произойдет
- Всегда сначала тестируйте изменения группы в среде, не относящейся к производству
Резюме
Теперь у вас должна быть надежная основа для управления группами AD с помощью PowerShell. Хотя оснастка Active Directory Users and Computers подходит для разовых задач, PowerShell дает вам возможность автоматизировать и управлять группами в большом масштабе.
Помните – приведенные здесь примеры это только начало. Команды PowerShell для AD невероятно мощные и гибкие. По мере того как вы будете становиться более уверенными в этих основах, вы сможете создавать более сложные решения, соответствующие потребностям вашей организации.
Хотите узнать больше о PowerShell для Active Directory? Ознакомьтесь с нашими другими руководствами: