Windows server организационное подразделение

Get-aduser: find ad users using powershell ultimate deep dive

Создание подразделения в управляемом домене доменных служб Azure Active Directory

Подразделения (OU) в управляемом домене служб домен Active Directory Services (AD DS) позволяют логически группировать объекты, такие как учетные записи пользователей, учетные записи служб или учетные записи компьютеров. Затем можно назначить администраторов определенным подразделениям и применить групповую политику для применения целевых параметров конфигурации.

Управляемые домены Azure AD DS включают следующие два встроенных подразделения:

  • AADDC Computers — содержит объекты компьютеров для всех компьютеров, присоединенных к управляемому домену.
  • Пользователи AADDC . включает в себя пользователей и группы, синхронизированные в с клиентом Azure AD.

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

В гибридной среде подразделения, созданные в локальной среде AD DS, не синхронизируются с управляемым доменом. Управляемые домены используют плоскую структуру подразделений. Все учетные записи пользователей и группы хранятся в контейнере AADDC Users , несмотря на синхронизацию из разных локальных доменов или лесов, даже если вы настроили иерархическую структуру подразделений там.

В этой статье демонстрируется создание подразделения в управляемом домене.

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

Дата последней установки пароля не может быть получена непосредственно из powershell, нам необходимо несколько изменить скрипт. Если вы попытаетесь получить дату последней установки пароля, она покажет дату в 1601 году. Поэтому я создал скрипт для получения даты последнего пароля заданного samaccount.

Как это работает

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

Вероятный результат

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

Last password set Powershell Scripts

$a="Provide path for list of user in txt doc"
foreach($b in $a){
$g=get-aduser -Identity $b -Properties Name,pwdlastset
$date=$g.pwdLastSet
$pwdlast =$date.AddYears(1600).ToLocalTime()
"$b,$pwdlast"}

Creating and Managing OUs

The Active Directory Users and Computers console in the Administrative Tools Menu is used to create OUs. When users create an OU, they are basically adding it to a particular domain first, then adding Active Directory objects to it, delegating administrative control for the OU or applying a GPO.

The OU’s Properties dialog box has a few tabs that manage the properties of the particular OU:

  • General tab: Specify a description, street address, city, state or province, ZIP code or postal code, and country or region information for the OU on this tab.
  • Managed By tab: This is the tab used to administer the settings of the OU’s owner. Enter the following information for the OU’s owner: name, office location, street address, city, state or province, country or region, telephone number, and fax number. The tab also contains the following buttons:
    • Change: Click the Change button to set the user account that will be responsible for managing the OU.
    • View: To view or change the properties of the user account currently managing the OU, click the View button.
    • Remove: To remove a user account, click the Remove button.
  • Group Policy tab: This tab contains the following buttons:
    • New: To create a new GPO for the OU, click this button.
    • Edit: To change the existing GPO settings, click the Edit button. The settings that can be specified for a GPO are categorized into Computer Configuration settings and User Configuration settings. Each of these is separated into the following categories: Software, Windows, and Administrative Templates.
    • Add: To link a GPO to the OU, click this button to create the new GPO link.
    • Options: To disable the GPO or ensure that the child OU’s GPO does not override the parent OU’s GPO, click this button. The options available are the Disable and the No Override options.
    • Delete: To delete a GPO, click this button.
    • Properties: To manage GPO properties, click this button. The GPO’s properties dialog box has a General, Links, and Security tab. The General tab has a Summary and Disable pane. Users can view information such as the GPO name and create a last modified date in the Summary pane. They can disable Computer Configuration settings and User Configuration settings in the Disable pane. The Link tab lists each site, domain, and OU to which the particular GPO is applied. The Security tab is where users set permissions for the GPO: Full Control, Read, Write, Create Child Objects, Delete Child Objects, and Apply Group Policy.

Изменение общей информации о пользователе

$objUser = "LDAP://cn=MyNewUser,ou=myTestOU,dc=nwtraders,dc=msft"
$objUser.put("SamaccountName", "myNewUser")
$objUser.put("givenName", "My")
$objUser.Put("initials", "N.")
$objUser.Put("sn", "User")
$objUser.Put("DisplayName", "My New User")
$objUser.Put("description" , "simple new user")
$objUser.Put("physicalDeliveryOfficeName", "RQ2")
$objUser.Put("telephoneNumber", "999-222-1111")
$objUser.Put("mail", "<a href="mailto:"></a>")
$objUser.Put("wwwHomePage", "<a href="http://www.mnu.msn.com"">http://www.mnu.msn.com"</a>)
$objUser.setInfo()

Работа с пользователями Active Directory в Powershell

Для работы с пользователями AD DS средствами Powershell необходимо загрузить соответствующий модуль командой:

Просмотр

Информация о пользователях

1. Список пользователей домена:

> Get-ADUser -filter * | Select Name, SamAccountName

2. Простая информация о пользователе:

* где dmosk — логин пользователя в AD DS, для которого смотрим атрибуты.

3. Как посмотреть все атрибуты пользователя:

> Get-ADUser dmosk -Properties *

4. Список пользователей в определенном организационном юните:

> Get-ADUser -filter * -SearchBase «OU=Пользователи,DC=dmosk,DC=local»

5. Поиск пользователей с определенным значением атрибута:

> Get-ADUser -filter * -Properties title | where | Select Name

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

6. Исключить из поиска и показа определенных пользователей.

а) Способ 1. Использовать фильтр:

б) Способ 2. С помощью Where и массива:

> $ExcludeUsers = @(«Мартынов Мартын Мартынович», «Макаров Макар Макарович»)

> Get-ADUser -filter * | Where

* обе команды выведут всех пользователей, кроме тех, что перечислены в фильтре.

Выгрузка пользователей в CSV (для просмотра в текстовом формате или Excel)

Выгрузку делаем при помощи командлета Export-csv.

1. Выгрузка всех данных о всех пользователях

Get-ADUser -filter * -Properties * | Export-csv -path C:\Temp\ADUsers.csv

* C:\Temp\ADUsers.csv — путь к выгружаемому файлу.

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

* обратите внимание, что мы в данной выгрузки используем кодировку UTF-8 и в качестве разделителя знак ;

Список групп пользователя

Get-AdUser dmosk -Properties memberof | Select memberof -expandproperty memberof

* где expandproperty позволяет просмотреть значение коллекций в удобочитаемом виде.

Редактирование

Редактирование информации выполняется с помощью командлета Set-ADUser и передачи в качестве параметра имя атрибута с новым значением. Рассмотрим несколько примеров изменения информации с помощью данной команды.

Редактирование домашней страницы пользователя

> Set-ADUser dmosk -HomePage «dmosk.ru»

* в данном примере редактируется домашняя страница для пользователя с логином dmosk.

Редактирование телефона

> Get-ADUser -Filter dmosk -Properties OfficePhone | %

* редактируем атрибут OfficePhone. Последний не выводится командой по умолчанию, поэтому мы указываем его в параметре -Properties.

Редактирование комнаты сотрудника

> Set-ADUser dmosk -Office «Санкт-Петербург, Невский проспект»

* в данном примере редактируется местонахождение сотрудника с именем входа dmosk.

Добавление пользователя в группу

> Add-ADGroupMember -Identity «Группа в AD» -Member master

* с помощью данной команды мы добавим пользователя master в группу Группа в AD.

Задать подразделение, в котором работает пользователь

Редактируем атрибут department:

> Set-ADUser dmosk -department «Отдел сопровождения железнодорожных молекул»

* в данном примере мы указали, что пользователь dmosk работает в «Отделе сопровождения железнодорожных молекул».

User

Перейдем теперь к объектам пользователей.

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

Get-ADPrincipalGroupMembership -Identity someuser

Если же нам понадобится узнать все группы, в которые он входит посредством вложенных групп, мы можем воспользоваться командлетом Get-ADAccountAuthorizationGroup:

Get-ADAccountAuthorizationGroup -Identity someuser

В данном случае среди результатов будут присутствовать не только созданные вами группы, в которые явно или неявно входит определенный пользователь, но и системные группы, такие, например, как Authenticated Users и This Organization.

По сути, командлет Get-ADAccountAuthorizationGroup выводит все группы, SID которых будет присутствовать в токене безопасности данного пользователя.

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

Get-ADAccountAuthorizationGroup -Identity someuser | Where-Object objectClass

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

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

Это backlink-атрибут, то есть он не присутствует в ActiveDirectory явно, а является отражением значений других атрибутов — в данном случае атрибута Member.

Get-ADUser -Identity someuser -Properties MemberOf | Select-Object -ExpandProperty MemberOf

На что тут стоит обратить внимание, так это на то, что среди вывода будет отсутствовать одна группа — та, что значится как Primary Group. Обычно это Domain Users для пользователей и Domain Computers для компьютеров

Текущая primary group объекта определяется значением атрибута primaryGroupID, но об этом отдельно.

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

или:

Как и в случае групп, для объектов пользователей и компьютеров, начиная с Windows Server 2012 R2, доступен атрибут типа constructed — msds-MemberOfTransitive.

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

Для получения значения атрибута msds-MemberOfTransitive нам снова понадобится командлет Get-ADObject:

Еще одним способом будет использование объекта DirectorySearcher:

: : https://fb.com/inpowershellVKontakte: https://vk.com/inpowershell

Какие атаки может предотвратить Active Directory?

Как видите, Active Directory — это центральный инструмент для управления рядом функций безопасности бизнеса. Существует ряд распространенных атак, которые могут помочь предотвратить хорошие практики Active Directory:

  • Атака передачи хэша: эта атака существует уже более десяти лет. Несмотря на то, что данный тип один из самых известных, ему все же удалось нанести значительный ущерб. Используя атаку передачи хэша, злоумышленник извлекает хэшированные (более короткие значения фиксированной длины) учетные данные пользователя, чтобы перейти на удаленный сервер. Проще говоря, если злоумышленник добьется успеха с помощью тактики передачи хэша, в вашем процессе аутентификации есть слабость.
  • Brute-force: простая, но эффективная атака методом «грубой силы», включает в себя перебор случайных имен пользователей и паролей в быстрой последовательности, чтобы получить доступ к вашей системе. Каковы шансы хакера на успех с помощью этого метода? Больше, чем ты думаешь. Злоумышленники, практикующие грубую силу, используют усовершенствованное программирование для создания триллионов комбинаций за считанные секунды.

Командлеты 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

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

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

Или:

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

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

Создание доменных пользователей

param($name,$ou,$dc,$help)
function funHelp()
{
$helpText=@"
DESCRIPTION:
NAME: CreateUser.Ps1
Creates a user account
 
PARAMETERS: 
-name        name of the user to create
-ou          ou to create user in
-dc          domain to create user in
-help        prints help file
 
SYNTAX:
CreateUser.Ps1 -name "CN=MyNewUser" -ou "ou=myOU" `
               -dc "dc=nwtraders,dc=com"
 
Creates a user named MyNewUser in the myOU 
organizational unit in the nwtraders.com domain
 
CreateUser.ps1 -name "cn=myuser" -ou "ou=ou2,ou=mytestou" `
               -dc "dc=nwtraders,dc=com"
 
Creates a user named MyNewUser in the ou2 organizational 
unit. A child OU of the mytestou Organizational unit
in the nwtraders.com domain
 
CreateUser.Ps1 -name "CN=MyNewUser" `
               -dc "dc=nwtraders,dc=com"
 
Creates a user named MyNewUser in the users 
container in the nwtraders.com domain
 
CreateUser.Ps1 -help
 
Displays the help topic for the script
 
"@
$helpText
exit
}
 
if($help){ "Obtaining help ..." ; funhelp }
if(!$name -or !$dc) { "Missing name parameter ..." ; funhelp }
if($ou)
 {  "Creating user $name in LDAP://$ou,$dc" 
  $ADSI = "LDAP://$ou,$dc"
 }
ELSE
 { "Creating user $name in LDAP://cn=users,$dc"
  $ADSI = "LDAP://cn=users,$dc"
 }
 
$CLass = "User"
$User = $ADSI.create($CLass, $Name)
$User.setInfo()

Добавление пользователя в группу

param($name,$group,$ou,$dc,$help)
function funHelp()
{
$helpText=@"
DESCRIPTION:
NAME: AddUserToGroup.ps1
Adds a user account to a group
 
PARAMETERS: 
-name        name of the user 
-ou          ou of the group
-dc          domain of the user
-group       group to modify
-help        prints help file
 
SYNTAX:
AddUserToGroup.ps1 -name "cn=MyNewUser" -ou "ou=myOU" `
               -dc "dc=nwtraders,dc=com" `
               -group "cn=MyGroup"
                
Adds a user named MyNewUser in the myOU 
organizational unit in the nwtraders.com domain
to the MyGroup group in the same OU.
 
AddUserToGroup.ps1 -help
 
Displays the help topic for the script
 
"@
$helpText
exit
}
 
if($help){ "Obtaining help ..." ; funhelp }
if(!$name -or !$dc -or !$group -or !$ou) 
  { "Missing parameter ..." ; funhelp }
 
$CLass = "User"
"Modifying $name,$ou,$dc"
$ADSI = "LDAP://$group,$ou,$dc"
$ADSI.add("LDAP://$name,$ou,$dc")

How to Create an OU

  1. Open the Active Directory Users and Computers console
  2. In the console tree, locate and right-click the appropriate domain, click New, then click Organizational Unit from the shortcut menu.
  3. In the New Organizational Unit dialog box, enter a unique name for the OU in the Name box.
  4. Click OK.
  5. Right click the new OU and select Properties from the shortcut menu.
  6. When the OU’s Properties dialog box opens, enter a description for the OU on the General tab.
  7. Click the Managed by tab to specify an owner for the OU.
  8. Click the Change button and choose the desired user account from the Users and Groups list box.
  9. Click the Group Policy tab.
  10. Click the New button to create a new GPO for the OU.
  11. Enter a name for the GPO.
  12. Configure all appropriate GPO settings for the OU with the remainder of the available buttons on the tab.

Пример делегирование административных полномочий

«Поддержка»

Для начала следует на контроллере домена открыть оснастку «Active Directory – пользователи и компьютеры». Здесь необходимо создать глобальную группу безопасности, члены которой смогут присоединять компьютеры пользователей к домену. Другими словами, эта группа будет выглядеть следующим образом:Рис. 1. Свойства группы, отвечающей за присоединение компьютеров к домену

Следующим делом необходимо указать, что компьютеры присоединять к домену могут только лишь пользователи, входящие в созданную на предыдущем этапе глобальную группу безопасности. Для этого следует открыть оснастку «Управление групповой политикой» и перейти к редактору GPME для созданного по умолчанию объекта GPO «Default Domain Controllers Policy», который располагается в подразделении «Domain Controllers».
В отобразившейся оснастке следует перейти к узлу «Конфигурация компьютера\Политики\Конфигурация Windows\Параметры безопасности\Локальные политики\Назначение прав пользователей» и локализовать параметр политики, который называется «Добавление рабочих станций к домену». Открыв диалоговое окно данного параметра политики, вы сразу сможете обнаружить, что по умолчанию там указана группа «Прошедшие проверку», благодаря которой присоединять компьютеры к домену может каждый пользователь. Теперь, для того, чтобы разрешить присоединять к домену компьютеры только пользователям из группы безопасности «Поддержка», следует удалить группу, указанную в этом параметре политики по умолчанию, а затем при помощи кнопки «Добавить пользователя или группу» и диалога поиска объектов Active Directory, следует добавить созданную ранее глобальную группу безопасности. Процесс добавления такой группы изображен на следующей иллюстрации:Рис. 2. Изменение группы, отвечающей за присоединение компьютеров к домену

Теперь несмотря на то, что немного ранее было описано, в каких сценариях выполняется делегирование, и что в большинстве случаев делегирование выполняется на уровне подразделений, в данном случае для предоставления возможности присоединения компьютеров к домену, нам следует в оснастке «Active Directory – пользователи и компьютеры» вызвать мастер делегирования непосредственно для уровня всего домена. Следовательно, в оснастке «Active Directory – пользователи и компьютеры» необходимо в области дерева самой оснастки вызвать контекстное меню для домена и выбрать опцию «Делегирование управления», как показано ниже:Рис. 3. Вызов мастера делегирования управления

На первой странице мастера можно просто ознакомиться с основной задачей данного средства и, ввиду того, что на первой странице нельзя выполнять какие-либо действия, следует просто нажать на кнопку «Далее». На второй странице мастера, странице «Пользователи и группы», нужно локализовать группу, для которой необходимо делегировать управление. В данном примере следует нажать на кнопку «Добавить» и при помощи соответствующего диалога выбрать группу «Поддержка», как показано на следующей иллюстрации:Рис. 4. Добавление группы, для которой выполняется делегирование управления
После того, как группа будет добавлена, для перехода к следующей странице мастера следует нажать на кнопку «Далее».
Страница «Делегируемые задачи» позволяет вам определить конкретные операции, которые должны выполнять в доменных службах Active Directory пользователи или группы пользователей, которые были добавлены на предыдущей странице мастера. Так как в данном примере делегируется задача присоединения компьютеров к домену и такую задачу можно найти в предоставленном списке распространенных задач, следует напротив задачи «Присоединение компьютера к домену» установить флажок и нажать на кнопку «Далее»

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

5. Делегирование задачи присоединения компьютеров к домену для членов группы «Поддержка»

На последней странице мастер повторно проинформирует о том, что работа мастера была успешно выполнена и определенной группе пользователей было передано управление для присоединения компьютеров к домену, что, собственно, и являлось поставленной перед нами задачей:Рис. 6. Завершение процесса делегирования управления

«Поддержка»

Creating AD objects with PowerShell

To retrieve Active Directory objects such as computers, users or groups in PowerShell, Microsoft provides numerous cmdlets.

The quickest way to display a list is to use the Get-Command Get-Ad* command. To create new objects, there are also numerous cmdlets. The list is displayed by typing Get-Command New-Ad*.

A list of commands for deleting objects is displayed by PowerShell with Get-Command Remove-Ad*. Changes to Active Directory objects are made with Set cmdlets. A list is displayed with Get-Command Set-Ad*.A list of all Active Directory management cmdlets is available with the following command:

Get-Command -Module ActiveDirectory

This allows you to quickly assemble commands and create scripts that can be used to create new objects and also customize the objects at the same time. The advantage PowerShell is, that it can also be used to customize multiple groups at the same time and that it can script tasks. There’s an option for a graphical user interface.

Использование Get-ADUser с фильтрацией по атрибутам

Используя опцию -Filter, вы можете фильтровать список учётных записей пользователей по одному или нескольким атрибутам. В качестве аргументов этого параметра можно указать значение определённых атрибутов пользователей Active Directory. Если вы используете параметр -Filter, командлет Get-ADUser будет перечислять только тех пользователей, которые соответствуют критериям фильтра.

Например, я хочу перечислить активные (Enabled) учётные записи пользователей, имя которых содержит «Dmitry» (в приведённом ниже примере используется несколько фильтров; вы можете комбинировать условия, используя стандартные логические операторы сравнения PowerShell):

Get-AdUser -Filter "(Name -like '*Dmitry*') -and (Enabled -eq 'True')" -Properties * | Select-Object name,enabled

Кроме того, вы можете отсортировать полученный список пользователей по определённому атрибуту пользователя (столбцу) с помощью командлета Sort-Object. Вы также можете использовать командлет Where-Object для одновременного указания нескольких критериев фильтрации.

Get-ADUser -Filter * -properties PasswordExpired,PasswordLastSet,PasswordNeverExpires -SearchBase 'OU=NY,DC=hackware,DC=ru'| Where-Object {$_.name –like "*Dmitry*" -and $_.Enabled -eq $true} | Sort-Object PasswordLastSet | Select-Object Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires

Таким образом, вы можете составить таблицу с любыми необходимыми атрибутами пользователей Active Directory.

How to Move Active Directory Objects between OUs with the Dsmove Command-line Tool

Use the Dsmove command-line tool to move Active Directory objects between OUs and to rename an Active Directory object.

To use the Dsmove command-line tool to move Active Directory objects from one OU location to a different OU location:

  1. Click Start and Command Prompt.
  2. Enter dsmove with the proper parameters at the command prompt.

The command’s syntax is:

dsmove ObjectDN
{-uc | -uco | -uci}

  • ObjectDN – the name of the Active Directory object to be moved to a different U.
  • -newname NewName – to rename the Active Directory object
  • -newparent ParentDN – for setting the new location to which the Active Directory object will be moved.
  • {-s Server | -d Domain} – for connecting to a remote server or domain.
  • -u UserName – the user name that the user utilizes to access the remote server.
  • [-p {Password|*} – the password of the above specified user name.
  • -q – sets output to quiet mode.
  • -uc, uco, -uci – for setting the unicode format

Настройка множественных доменов¶

Конфигурация Keystone

Отредактируйте конфигурационный файл службы Keystone – .
Добавьте указанные ниже параметры в секцию :


driver = keystone.identity.backends.sql.Identity

domain_specific_drivers_enabled = True
domain_config_dir = /etc/keystone/domains

Создайте каталог :

mkdir etckeystonedomains

Создайте конфигурационный файл с именем ,
где DOMAIN_NAME – имя домена (в OpenStack).

Пропишите владельца директории и файла:

chown  -R keystonekeystone etckeystonedomains

Пример конфигурации домена

Если домен планируется назвать как «CHD», то директория будет выглядеть так:

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


driver = keystone.identity.backends.ldap.Identity



url = ldap://LDAP_IP
user = cn=admin,cn=Users,dc=example,dc=com
password = openstack
suffix = dc=example,dc=com
use_dumb_member = False
allow_subtree_delete = False

user_tree_dn = cn=Users,dc=example,dc=com
user_objectclass = InetOrgPerson

group_tree_dn = cn=Groups,dc=example,dc=com
group_objectclass = groupOfNames

user_allow_create = False
user_allow_update = False
user_allow_delete = False

group_allow_create = False
group_allow_update = False
group_allow_delete = False

В и используются другие объектные классы
для пользователя и группы:

...
user_objectclass = person
group_objectclass = group

Потребуется указать маппинг атрибутов LDAP и видов данных Keystone:

user_id_attribute = sAMAccountName
user_name_attribute = sAMAccountName
user_mail_attribute = mail
user_pass_attribute = userPassword

group_id_attribute = sAMAccountName
group_name_attribute = sAMAccountName
group_member_attribute =

group_desc_attribute = description
group_filter =

Перезапуск службы веб-сервера

Для вступления изменений в силу перезапустите службу веб-сервера.
На контроллере (УУ) выполните команду:

systemctl restart httpd

How to Delegate Administrative Control of an OU

  1. Open the Active Directory Users and Computers console.
  2. In the console tree, locate and right-click the OU and choose Delegate Control from the shortcut menu.
  3. The Delegation Of Control Wizard launches.
  4. Click Next on the Welcome To The Delegation Of Control Wizard page.
  5. Click Add on the Users Or Groups page.
  6. When the Select Users, Computers, Or Groups dialog box opens, in the Enter The Object Names To Select list box, enter the user/group to which control will be delegated. Click OK then Next.
  7. When the Tasks To Delegate page opens, do one of the following:
    • Select the Delegate The Following Common Tasks option, then choose the tasks to be delegated. Click Next. The Completing The Delegation Of Control Wizard page will be displayed. The tasks typically delegated are listed below:
      • Create, Delete, and Manage user accounts
      • Reset Passwords on User Accounts
      • Read All User Information
      • Create, Delete, and Manage Groups
      • Modify the Membership of a Group
      • Manage Group Policy Links
    • Select the Create A Custom Task To Delegate option and click Next.
  8. When the Active Directory Object Type page opens, perform one of the actions listed below:
    • Select the This Folder, Existing Objects In This Folder, And Creation Of New Objects In This Folder option to delegate administrative control for the OU, including all current objects in the OU, and to delegate administrative control for all new objects that will be created in the OU.
    • Select the Only The Following Objects In The Folder option to delegate control for certain objects in the OU. Choose these objects.
  9. Limit the user/group to creating the selected objects in the OU by enabling the Create Selected Objects In This Folder checkbox.
  10. Also, limit the user/group to deleting the selected objects in the OU by enabling the Delete Selected Objects In This Folder checkbox. Click Next.
  11. When the Permissions page opens, enable one of the following checkboxes to display information in the Permissions: box:
    • General – to list general permissions in the Permissions: box
    • Property-Specific – to list property specific permissions in the Permissions: box
    • Creation/Deletion Of Specific Child Objects – to list all permission that apply to the object in the Permissions: box
  12. After populating the Permissions: box, set the permissions for the user/group for the OU in the Permissions: box. Click Next.
  13. Verify that the correct settings were selected on the Completing The Delegation Of Control Wizard page.
  14. Click Finish.

Двухфакторная аутентификация в 1С через Telegram и Email

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

18

Как установить модуль 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 данные компоненты называются по-разному!

Фильтрация вывода

У нас есть базовые свойства, которые фильтруются с помощью Filter. Это:

  • DistinguishedName
  • Enabled
  • ObjectClass
  • ObjectGUID
  • SamAccountName
  • SID
  • UserPrincipalName

И ряд свойств, которые возвращаются с параметром Properties. Их можно фильтровать через дополнительные условия (конвейер, where-object, циклы). Имена этих свойств можно вернуть так:

Get-ADComputer -Filter * -Properties * | Get-Member -MemberType Properties | select name

1

Get-ADComputer -Filter * -Properties * | Get-Member -MemberType Properties | select name

Использование Filter

Если вы планируете получить информацию по определенному доменному компьютеру, то вам нужно добавить условие. В примере ниже я возвращаю информацию только по компьютеру у которого имя равно «AD1»:

Get-ADComputer -Filter {Name -eq «AD1»} -Properties *

1

Get-ADComputer -Filter {Name -eq «AD1»} -Properties *

Если нужно найти только компьютеры, которые содержат в имени определенные значения, то нужно использовать -like вместо -eq . В моем примере я ищу все компьютеры содержащие в имени «CL» (регистр не учитывается).

Get-ADComputer -Filter {Name -like «*CL*»} -Properties *

1

Get-ADComputer -Filter {Name -like «*CL*»} -Properties *

Знаки * говорят, что в этих местах может быть еще текст. Такое написание «C*L» соответствовало бы логике: строка начинается с буквы «C», затем может быть еще текст завершающийся на «L».
 

Использование Properties

Свойства возвращаемые через ключ Properties можно фильтровать двумя способами.

Первый — указывать их явно. Например вы хотите вернуть список с датами создания учетных записей компьютеров домена, которые хранит свойство «Created». Это можно сделать так:

Get-ADComputer -Filter * -Properties Created

1

Get-ADComputer -Filter * -Properties Created

 
Указать больше свойств можно через запятую. Например:

Get-ADComputer -Filter * -Properties Created,CN,CodePage

1

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)

1

2

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

1

2

3

4

$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 {Enabled -eq $False}

1

Get-ADComputer -Filter {Enabled -eq $False}

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

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