Установка модуля active directory для windows powershell (rsat-ad-powershell) на windows server 2016

Поиск в Active Directory

В следующих разделах приведены подробные инструкции по поиску в Active Directory.

Поиск учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Параметр указывает параметр для использования. Список параметров см. в справке по команде d в Интернете.

Чтобы просмотреть полный синтаксис для этой команды, в командной строке введите .

Поиск контакта

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Параметр указывает параметр для использования. Список параметров см. в справке пользователя dsquery в Интернете.

Поиск группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Параметр указывает параметр для использования. Список параметров см. в справке пользователя dsquery в Интернете.

По умолчанию локальные группы, которые автоматически предоставляются на контроллерах домена под управлением Windows Server 2003, такие как администраторы и операторы учетных записей, находятся в папке Builtin. По умолчанию общие глобальные группы, такие как администраторы домена и пользователи домена, находятся в папке «Пользователи». Вы можете добавлять или перемещать новые группы в любую папку. Корпорация Майкрософт рекомендует хранить группы в папке подразделения.

Поиск учетной записи компьютера

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Имя указывает имя компьютера, которое ищет команда. Эта команда выполняет поиск компьютеров, атрибуты имени которых (значение атрибута CN) совпадают с именем.

Чтобы просмотреть полный синтаксис для этой команды, в командной строке введите .

Поиск подразделения

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Параметр указывает параметр для использования. Список параметров см. в справке по интернету .

Чтобы просмотреть полный синтаксис для этой команды, в командной строке введите .

Поиск контроллера домена

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

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

Выполнение пользовательского поиска

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. В командной строке введите команду .

    Параметр указывает параметр для использования. С помощью этой команды можно выполнить поиск по нескольким атрибутам. Дополнительные сведения о поиске по протоколу LDAP см. в комплекте ресурсов Windows Server 2003.

Просмотр состояния и сведений о репликации.

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

Для завершения шагов в следующих процедурах вам необходимо быть членом группы «Администраторы домена» или иметь аналогичные разрешения.

Просмотр векторной таблицы синхронизации для одного контроллера домена

  1. Введите следующую команду в командной строке модуля Active Directory для Windows PowerShell:

    При этом выводится список наивысших номеров последовательного обновления (USN), отображаемый на DC1 для каждого контроллера домена в лесу. Значение параметра Сервер относится к серверу, на котором ведется таблица: в данном случае — DC1. Значение параметра Партнер относится к партнеру репликации (прямому или непрямому), в связи с которым были внесены изменения. Значение параметра UsnFilter является наивысшим номером последовательного обновления (USN), отображаемым на DC1 для партнера. Если новый контроллер домена добавлен в лес, он не появится в таблице DC1до тех пор, пока DC1 не получит изменения, поступающие из нового домена.

Просмотр векторной таблицы синхронизации для всех контроллеров домена в домене

  1. Введите следующую команду в командной строке «Модуль Active Directory для Windows PowerShell»:

    Эта команда заменяет DC1 на , тем самым собирающая данные таблицы вектора синхронизации со всех контроллеров домена. Данные сортируются по параметрам Партнер и Сервер, а затем отображаются в таблице.

    Сортировка позволяет легко сравнить последний номер последовательного обновления (USN), отображаемый на каждом контроллере домена для данного партнера репликации. Это быстрый способ убедиться, что репликация проходит во всей среде. Если репликация работает правильно, то значения параметра UsnFilter, указанные в отчете для данного партнера репликации, должны быть похожи на всех контроллерах домена.

Добавление нового домена в лес

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

Но организации большего размера могут добавить в лес дочерние домены, чтобы данные домена реплицировались только в нужных местах. Дочерний домен разделяет непрерывное пространство имен со своим родительским доменом. Например, sales.contoso.com — это дочерний домен contoso.com. Для дочернего домена автоматически устанавливается двустороннее транзитивное доверие с родительским доменом.

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

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

Требования к созданию нового домена

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

Мастер установки службы AD DS позволяет использовать имена доменов Active Directory длиной до 64 символов или 155 байт. Хотя ограничение в 64 символа обычно достигается раньше ограничения в 155 байт, последнее может сработать, если имя содержит символы Unicode, поглощающие по три байта каждый. Эти ограничения не применяются к именам компьютеров.

В процессе установки программа Dcpromo.exe создает делегирование зоны DNS. Если создание зоны не удается или решено ее не создавать (что не рекомендуется), необходимо создать делегирование зоны вручную. Для получения дополнительных сведений о создании делегирования зоны см. Создание или изменение делегирования DNS.

Перед добавлением домена в лес должно быть создано делегирование DNS для зоны DNS, соответствующей имени добавляемого домена Active Directory. Мастер установки доменных служб Active Directory проверяет существование делегирования DNS. Если делегирование отсутствует, мастер во время создания нового домена предоставляет возможность автоматического создания делегирования DNS.

Создание нового дерева домена

Новое дерево доменов следует создавать, только если нужно создать домен, пространство имен DNS которого не связано с другими доменами в лесу. Это означает, что имя корневого домена дерева (и любого его дочернего домена) не должно содержать полное имя родительского домена.

Например, treyresearch.net может быть деревом доменов в лесу contoso.com. Новые деревья доменов обычно создаются в процессе поглощения или слияния нескольких организаций. Лес может содержать одно или несколько деревьев доменов.

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

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

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

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

Multiple user remove from groups Powershell Scripts

{<######### CSV format ########## >
user,group
test1,"domain admins"
test2,Administrators #>}


Import-CSV c:\users\dbharali\desktop\list.csv | % { 
$check1= Get-ADGroupMember -Identity ($_.group) | select -ExpandProperty Name

if ($check1 -contains $_.user){
write-host "$($_.User) is a member of $($_.Group) !" -ForegroundColor DarkYellow

try{

 
remove-ADGroupMember -Identity $_.group -Member $_.User -Confirm:$false

Write-host "Removing $($_.User) from $($_.Group)..........   " -ForegroundColor cyan
$check2 = Get-ADGroupMember -Identity ($_.group) | select -ExpandProperty Name

if ($check2 -notcontains $_.user){
write-host "$($_.User) is successfully removed from $($_.Group) !" -ForegroundColor green
}

}
catch{
Write-Warning "Exception String: $($_.Exception.Message)"

}

}

else {

Write-host $($_.user) is not a member of $($_.group) -ForegroundColor red

}
}


Add multiple user to multiple groups Powershell Scripts

{<######### CSV format ########## >
user,group
test1,"domain admins"
test2,Administrators #>}


$ErrorActionPreference = "SilentlyContinue"
Import-CSV c:\users\dbharali\desktop\list.csv | % { 
$check1= Get-ADGroupMember -Identity ($_.group) | select -ExpandProperty Name

if ($check1 -contains $_.user){
write-host "$($_.User) is already a member of $($_.Group) !" -ForegroundColor red
}

else

{
Try{
 Write-host "Checking $($_.Users) in $($_.Group)..........  " -ForegroundColor cyan
Add-ADGroupMember -Identity $_.group -Member $_.User -ErrorAction SilentlyContinue


$check2 = Get-ADGroupMember -Identity ($_.group) | select -ExpandProperty Name

if ($check2 -contains $_.user){
write-host "$($_.User) is successfully added to $($_.Group) !" -ForegroundColor green
}

}

catch{
Write-Warning "Exception String: $($_.Exception.Message)"
}
}

}


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

В Windows Server 2016, 2019 и 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 уже активирован и дополнительных действий предпринимать не нужно.

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

Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature

Зеркальные группы AD

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

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

Сценарий получает список пользователей из обеих групп AD, и если в целевой группе AD отсутствует член эталонной группы AD, то пользователь будет добавлен в целевую группу.

Add missing AD group members Powershell Scripts

$group1 = read-host "Enter  group 1"
$group2 = read-host "Enter  group 2"

$a= get-adgroupmember -identity $group1 |select -expandproperty Name
write-host "$group1 members are $a"
$b= get-adgroupmember -identity $group2 |select -expandproperty Name
write-host "$group2 members are $b"

Foreach($c in $a)
{
Foreach($d in $b)
{

if ($c -notcontains $d)

{
write-host "adding $c to $group2"
add-adgroupmember -members $c -identity $group2
write-host "$c is added to $group2"
}

else
{write-host "$c is not copied"}

}
}

write-host "$group2 members are"
get-adgroupmember -identity $group2 |select -expandproperty Name

Display Data from User Accounts

The individual Get cmdlets can be extended with filters. For example, if you want to display all users that are not currently disabled, you may use:

Get user information from ADTo display the number of Active Directory users (AD users), you may use:

If you want to display the last logon of a user account, PowerShell is also available with different parameters:

The logon date of all user accounts can also be displayed as a list in PowerShell:

Locked user accounts can be displayed with «Search-ADAccount -lockedout». Via PowerShell, the accounts can also be unlocked again, for example with «Get-ADUser -Identity joost | Unlock-ADAccount»

Управление пользователями

В следующих разделах приведены подробные инструкции по управлению группами.

Создание учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. Введите следующую команду:

    В этой команде используются следующие значения:

    • Userdn указывает различающееся имя (также известное как DN) объекта пользователя, который вы хотите добавить.
    • sam_name имя диспетчера учетных записей безопасности (SAM), используемое в качестве уникального имени учетной записи SAM для этого пользователя (например, Analytics).
  4. Чтобы указать пароль учетной записи пользователя, введите следующую команду, где пароль — это пароль, который будет использоваться для учетной записи пользователя:

Примечание.

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

Сброс пароля пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. Введите следующую команду:

    Эта команда использует следующие значения:

    • user_dn указывает различающееся имя пользователя, для которого будет сброшен пароль.
    • new_password указывает пароль, который заменит текущий пароль пользователя.
  4. Если вы хотите, чтобы пользователь менял этот пароль при следующем входе в систему, введите следующую команду:

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

После того как пользователь изменил пароль, процесс входа продолжится.

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

Примечание.

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

Отключение или включение учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.

  2. В поле «Открыть » введите командную строку.

  3. Введите следующую команду:

    Эта команда использует следующие значения:

    • user_dn указывает различающееся имя объекта пользователя, который необходимо отключить или включить.
    • {да|no} указывает, отключена ли учетная запись пользователя для входа (да) или нет (нет).

Примечание.

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

Удаление учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле «Открыть » введите командную строку.
  3. В командной строке введите команду, user_dn указывает различающееся имя удаляемого объекта пользователя.

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

Примечание.

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

Conclusion ^

Using the Active Directory module has become simpler with each PowerShell version up to Microsoft’s release of PowerShell Core 6.0. However, working with implicit remoting and remote sessions has various advantages. One advantage is that you can use disconnected remote sessions. This allows you to start a script, shut down your client computer, and retrieve the results from the remote machine later. If you often work with remote sessions, you should become familiar with the different ways you can use PowerShell remote sessions. Once you get used to working with remoting, you probably won’t miss the local AD module for PowerShell Core.

All versions: Import the ActiveDirectory module remotely ^

Create an interactive remote session

The simplest option is to create an interactive remote session to your domain controller with the Enter-PSsession cmdlet:

Enter-PSsession MyDomainConroller

You can then work right away with the AD cmdlets. This option is good if you only occasionally manage AD on a PowerShell console and if you don’t have to execute local scripts.

Managing Active Directory on PowerShell Core in an interactive remote session

Import the AD module from a remote session

The second option uses implicit remoting and allows you to run the AD cmdlets from a local session. However, you execute the AD cmdlets remotely on a domain controller. In practice, you won’t notice much of difference in locally installed cmdlets. To import the AD module on PowerShell Core 6.0, execute these commands:

$S = New-PSSession -ComputerName MyDomainConroller
Import-Module -PSsession $S -Name ActiveDirectory

Import the AD module on PowerShell Core 6.0

The first command creates a PowerShell session (PSsession) on the domain controller (replace MyDomainController with the name of your DC) and establishes a persistent connection. Next, we import the ActiveDirectory module from this remote PSsession into our local session.

You can now use all AD module cmdlets on your local PowerShell Core console. Just keep in mind the commands always execute remotely.

If you often work with AD, you can add the above commands to your profile, for instance in Documents\PowerShell\Profile.ps1.

Export the remote AD module to a local module

Alternatively, you can export the AD cmdlets from a remote session to a local module:

$S = New-PSSession -ComputerName MyDomainController
Export-PSsession -Session $S -Module ActiveDirectory -OutputModule RemoteAD
Remove-PSSession -Session $S
Import-Module RemoteAD

Exporting the Active Directory module to a local module

These commands will create a local module in your Documents folder under PowerShell\Modules\RemoteAD. However, like with the above solution, you will be working with implicit remoting, and all cmdlets will execute remotely. The local RemoteAD module only links to the cmdlets on the domain controller. If you want to use the RemoteAD module on other machines with PowerShell Core, simply copy the RemoteAD folder to the PowerShell Core module folder on the second machine.

The difference with the «import solution» is that in the «export solution,» PowerShell only establishes a connection to the domain controller when you use an AD cmdlet the first time. You also don’t have to add the above commands to your profile because PowerShell will load the local RemoteAD module automatically. However, the downside to this option is you might have to repeat the procedure after updating the AD module on the domain controller.

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 вернул из AD только основные свойства объекта ADComputer. Нас интересует время последней регистрации компьютера в домене AD, но эта информация не отображается в выводе команды выше. Вы можете перечислить все доступные свойства этого компьютерного объекта из Active Directory:

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.

Get-ADGroupMember — отображение списка пользователей в группе AD

Чтобы отобразить список пользователей в группе:

Get-ADGroupMember 'TestADGroup'

Чтобы оставить в результатах только имена пользователей, запустите:

Get-ADGroupMember 'TestADGroup' | Format-Table name

Если в эту группу включены другие группы домена, используйте опцию -Recursive для отображения полного списка членов, включая все вложенные группы.

Get-ADGroupMember ADadmins -Recursive | Format-Table name

Чтобы экспортировать список учётных записей, входящих в определённую группу, в файл CSV (для дальнейшего использования в Excel), выполните следующую команду:

Get-ADGroupMember 'ADadmins' -Recursive| Format-Table samaccountname| Out-File c:\PS\ADadminsList.csv

Чтобы добавить данные учётной записи пользователя AD в текстовый файл, используйте командлет Get-ADUser. Например, помимо учётной записи пользователя вам необходимо отобразить должность и номер телефона пользователя:

Get-ADGroupMember -Identity ADadmins -Recursive | ForEach-Object { Get-ADUser $_ -Properties title, OfficePhone | Select-Object title, OfficePhone }

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

(Get-ADGroupMember -Identity 'domain admins').Count

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

Get-ADGroup -Filter * -Properties Members -SearchBase "OU=NY,OU-US,DC=ds,DC=hackware,DC=ru" | Where-Object {-not $_.members} | Select-Object Name

Конфигурация развертывания

Диспетчер серверов начинает установку всех контроллеров домена со страницы Конфигурация развертывания. Оставшиеся параметры и обязательные поля меняются на этой и последующих страницах в зависимости от того, какая операция развертывания выбрана. Например, при создании нового леса страница «Параметры подготовки » не отображается, но если установить первый контроллер домена под управлением Windows Server 2012 в существующем лесу или домене.

На этой странице выполняются проверочные тесты, а затем часть проверок предварительных требований. Например, если попытаться установить первый контроллер домена Windows Server 2012 в лесу с функциональным уровнем Windows 2000, на этой странице появится ошибка.

При создании нового леса отображаются следующие параметры.

  • При создании нового леса требуется указать имя корневого домена леса. Корневое доменное имя леса не может быть однонаклейным (например, оно должно быть «contoso.com» вместо contoso). Оно должно использовать разрешенные контексты именования домена DNS. Можно указать международное доменное имя (IDN). Дополнительные сведения о контекстах именования домена DNS см. в статье базы знаний .

  • Имена лесов Active Directory не должны совпадать с внешними именами DNS. Например, если ИСПОЛЬЗУЕТся http://contoso.comURL-адрес DNS в Интернете, необходимо выбрать другое имя для внутреннего леса, чтобы избежать будущих проблем совместимости. Данное имя должно быть уникальным и достаточно редким для веб-трафика, например corp.contoso.com.

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

Дополнительные сведения о создании леса см. в разделе Установка нового леса Active Directory для Windows Server 2012 (уровень 200).

При создании нового домена отображаются следующие параметры.

Примечание

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

  • Чтобы перейти к родительскому домену или дереву Active Directory, необходимо нажать кнопку Выбрать или ввести имя допустимого родительского домена или дерева. Затем следует ввести имя нового домена в поле Новое имя домена.

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

  • Дочерний домен: необходимо допустимое однокомпонентное имя дочернего домена, которое отвечает требованиям DNS-имени домена.

  • Мастер настройки доменных служб Active Directory запрашивает учетные данные домена, если текущие учетные данные не для этого домена. Для предоставления учетных данных необходимо нажать кнопку Изменить.

Дополнительные сведения о создании домена см. в разделе Установка нового дочернего объекта Active Directory или домена дерева для Windows Server 2012 (уровень 200).

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

  • Чтобы перейти к домену, необходимо нажать кнопку Выбрать или указать допустимое имя домена.

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

    Кроме того, для установки первого контроллера домена под управлением Windows Server 2012 в лесу требуются учетные данные, включающие членство в группах администраторов предприятия и администраторов схем. Мастер настройки доменных служб Active Directory позднее выдает предупреждение, если у текущих учетных данных нет соответствующих разрешений или если они не включены в группы.

Дополнительные сведения о добавлении контроллера домена в существующий домен см. в разделе Установка реплики в контроллере домена Windows Server 2012 в существующем домене (уровень 200).

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

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

В Windows Server 2016, 2019 и 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 уже активирован и дополнительных действий предпринимать не нужно.

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

Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature

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

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

Get-ADUser: поиск в нескольких подразделениях с помощью SearchBase

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

Get-ADUser -SearchBase 'OU=London,DC=hackware,DC=loc' -filter * -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires | Format-Table Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires

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

$OUs = "OU=NY,DC=woshub,DC=com","OU=LA,DC=woshub,DC=com","OU=MA,DC=woshub,DC=com"
$OUs | ForEach-Object {Get-ADUser -SearchBase $_ -Filter * | Select-Object Name,Enabled}

Собрали подборку из Active Directory20 лучших скриптов Powershell для работы с Active Directory.

Ниже я собрал некоторые из лучших скриптов Active directory Powershell, которые, несомненно, сэкономят ваше время. Управление доменом – это работа Active Directory, и понимание каждого компонента является обязательным. Active Directory состоит из пользователей, групп, которые можно проверить в Active directory users and computers (ADUC). Создание пользователя в домене или сохранение пользователя в домене – это работа системного администратора windows.

Работая много лет, я столкнулся со многими проблемами в качестве системного администратора windows. Иногда создание пользователей или групп в домене занимает значительное время. Это процесс можно автоматизировать, чтобы сэкономить время. В данной статье есть скрипты DNS powershell, скрипты DHCP powershell.

Создание доменных групп

param($name,$ou,$dc,$help)
function funHelp()
{
"
DESCRIPTION:
NAME: CreateGroup.ps1
Creates a group
 
PARAMETERS: 
-name        name of the group to create
-ou          ou to create group in
-dc          domain to create group in
-help        prints help file
 
SYNTAX:
CreateGroup.ps1 -name "CN=MyNewGroup" -ou "myOU" `
               -dc "dc=nwtraders,dc=com"
 
Creates a group named MyNewGroup in the myOU 
organizational unit in the nwtraders.com domain
 
CreateGroup.ps1 -name "CN=MyNewGroup" `
               -dc "dc=nwtraders,dc=com"
 
Creates a group named MyNewGroup in the users 
container in the nwtraders.com domain
 
CreateGroup.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 group $name in LDAP://$ou,$dc" 
  $ADSI = "LDAP://$ou,$dc"
 }
ELSE
 { "Creating group $name in LDAP://cn=users,$dc"
  $ADSI = "LDAP://cn=users,$dc"
 }
 
$CLass = "Group"
$Group = $ADSI.create($CLass, $Name)
$Group.setInfo()
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

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

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