Как создать группу Powershell New-ADGroup и изменение Set-ADGroup


31 июля 2019


Создание группы в Powershell New-ADGroup и изменение Set-ADGroup

Для создания группы в Powershell есть командлет New-ADGroup. В отличии варианта с интерфейсом мы должны указывать где мы ее хотим создать. Для примера так мы создадим глобальную группу безопасности:

New-ADGroup -GroupScope Global -Name TestGroup

Группа создастся в контейнере Users и, если не указано иного, типа Security. Ключ GroupScope может принимать несколько параметров:

  • DomainLocal или 0
  • Global или 1
  • Universal или 2

Если мы хотим создать группу в другой OU или контейнере (CN) стоит сделать так:

New-ADGroup -Name "TestGroup" -GroupScope 0 -Path "OU=Moscow,DC=domain,DC=local" -GroupCategory Distribution

В случае выше мой домен domain.local, а OU Moscow. Если нам не подходит категория группы Security, мы можем ее изменить. Тут у нас есть 2 параметра:

  • Distribution или 0
  • Security или 1

Что бы добавить пользователя Test User (0003) в эту группу нужно выполнить:

Add-ADGroupMember -Identity "Test Group" -Members "CN=Test User (0003),OU=Moscow,DC=domain,DC=local"

Более подробно как добавить пользователя в группу Powershell мы уже рассматривали.

Создадим глобальную группу распространения, которой сможет управлять пользователь ( ManagedBy ) пользователь "Test User (001)":

$where = "OU=Moscow,DC=domain,DC=local"
$who = "Test User (0001)"
New-ADGroup -Name "NewGroup" -GroupCategory Distribution -GroupScope Global -Path $where -ManagedBy $who

Ключ Name создает CN (Common Name) и оно применяется и для других имен типа LdapDisplayName. Если мы хотим указать иные, то для этого есть следующие ключи:

  • DisplayName
  • SamAccountName

SamAccountName Powershell New-ADGroup

Есть так же другие ключи, которые указывают описание и домашнюю страницу принимая значение в строке:

  • Description
  • HomePage

 

Дополнительные атрибуты при создании группы Powershell

У нас есть дополнительные атрибуты, которые мы сможем увидеть в группе включив следующие функции:

New-ADGroup Powershell Attributes

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

$attributes = @{"adminDisplayName"="For Testing";}
New-ADGroup -Name "NewGroup2" -GroupScope Global -OtherAttributes $attributes

Powershell New-ADGroup Attribute

 

Изменение группы в Powershell Set-ADGroup

В Set-ADGroup у нас доступны все те же ключи и мы можем изменить все, кроме CN (Common Name). Для более интересного примера все ключи я передам через переменную parametrs с хэш таблицей из ключей и значений:

$parametrs = @{"description"="New Description";"ManagedBy"="Administrator";"GroupScope"="Global";"GroupCategory"="Security";}
Set-ADGroup -Identity "New Group" @parametrs

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

  • Remove - удаление конкретного значения
  • Add - добавление значения
  • Replace - замена значения
  • Clear - очистка всех значение у атрибута

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

Set-ADGroup -Identity "NewGroup2" -Clear "AdminDisplayName"

Так добавим его заново:

Set-ADGroup -Identity "NewGroup2" -Add @{"adminDisplayName"="For Testing";}

 

Пример использования в сценарии

Например у нас появился новый администратор и ему нужно дать права на управление группами. Все группы у нас хранятся отдельно от системных ( например Domain Admins). В моем случае все группы в OU Moscow с доменом domain.local. Для этого я получаю все группы и затем передаю их на изменение:

Get-ADGroup -Filter * -SearchBase "OU=Moscow,DC=domain,DC=local" | Set-ADGroup -ManagedBy "Test User (0002)"

 

...

Теги: #powershell #ad


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.