В этой статье мы рассмотрим основные операции над учётными записями службы Active Directory Windows Server, которые можно выполнить, используя PowerShell: добавление, удаление, включение и отключение.
1. Добавление учётной записи
Для создания новой учётной записи пользователя в AD в PowerShell используется командлет New-ADUser. Для этого командлета существуют множество параметров. Мы рассмотрим только некоторые.
-Name - имя объекта пользователя AD
-DisplayName - выводимое имя
-GivenName - имя пользователя
-UserPrincipalName - имя учётной записи в формате учётная_запись@ДОМЕН
-Path - указывает путь к подразделению или контейнеру AD, где создаётся новый объект.
Например, "OU=Managers,DC=DOMAIN,DC=LOCAL" - для добавленного подразделения Managers, и "CN=Users,DC=DOMAIN,DC=LOCAL" - для встроенного контейнера Users.
-Description - описание объекта
-Enabled - указывает, включена ли учётная запись. Принимает значения $true и $false, или 1 и 0
-CannotChangePassword - указывает, можно ли изменить пароль учетной записи. Принимает значения $true и $false, или 1 и 0
-PasswordNeverExpires - указывает, может ли срок действия пароля учетной записи истечь. Принимает значения $true и $false, или 1 и 0
-AccountPassword - указывает пароль для учётной записи пользователя. Используется с командлетом ConvertTo-SecureString, который преобразует обычный текст или зашифрованные строки в защищенные строки
-PassThru - возвращает объект, с которым вы работаете
Ниже представлен пример использования командлета New-ADUser, взятый из предыдущей статьи "PowerShell: выполнение скриптов на удалённом компьютере".
Invoke-Command -ComputerName ip-адрес_компьютера -ScriptBlock {@(
$org = "CN=Users,DC=DOMAIN,DC=LOCAL"
$username = Read-Host "Введите имя"
$password = Read-Host "Введите пароль"
$descr = "Пользователь"
New-AdUser -Name $username -UserPrincipalName $username"@DOMAIN.LOCAL" -Path $org -GivenName $username -DisplayName $username -Description $descr -Enabled $true -CannotChangePassword $true -PasswordNeverExpires $true -AccountPassword (ConvertTo-SecureString $password -AsPlainText -force) -passThru;
)} -Credential ДОМЕН\учётная_запись
2. Удаление учётной записи
Для удаления учётной записи пользователя из AD используется командлет Remove-ADUser.
Ниже представлен пример удаления пользователя:
Invoke-Command -ComputerName ip-адрес_компьютера -ScriptBlock {@(
$username = Read-Host "Введите имя"
$v = Read-Host "Вы точно хотите УДАЛИТЬ пользователя?(Y/N)"
if ($v -ilike 'Y') {
Get-ADUser -Identity $username | Remove-ADUser
Write-Host "Пользователь $username удален!"
}
else {
Write-Host "Завершение скрипта"
}
)} -Credential ДОМЕН\учётная_запись
3. Включение учётной записи
Для включения учётной записи пользователя в AD используется командлет Enable-ADAccount.
Ниже представлен пример включения пользователя:
Invoke-Command -ComputerName ip-адрес_компьютера -ScriptBlock {@(
$username = Read-Host "Введите имя"
$v = Read-Host "Вы точно хотите включить пользователя?(Y/N)"
if ($v -ilike 'Y') {
Get-ADUser -Identity $username | Enable-ADAccount
Write-Host "Пользователь $username включен!"
}
else {
Write-Host "Завершение скрипта"
}
)} -Credential ДОМЕН\учётная_запись
4. Отключение учётной записи
И наконец, для отключения учётной записи пользователя в AD используется командлет Disable-ADAccount.
Ниже представлен пример отключения пользователя:
Invoke-Command -ComputerName ip-адрес_компьютера -ScriptBlock {@(
$username = Read-Host "Введите имя"
$v = Read-Host "Вы точно хотите отключить пользователя?(Y/N)"
if ($v -ilike 'Y') {
Get-ADUser -Identity $username | Disable-ADAccount
Write-Host "Пользователь $username отключен!"
}
else {
Write-Host "Завершение скрипта"
}
)} -Credential ДОМЕН\учётная_запись
