Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Типовые задачи администрирования AD с использов...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
124.86 Кб
Скачать

Создание учетных записей компьютеров

Как известно, для работы с Active Directory перво-наперво необходимо вводить компьютеры в домен. Сделать это можно двумя способами:

· Мышкой – самый известный способ, через «Свойства» «Моего компьютера». Легко и просто.

· Командой netdom join. Тоже несложно, и можно использовать в скриптах.

У первого способа есть существенный недостаток: учетные записи компьютеров создаются в дефолтном OU Computers. В организациях же, как правило имеются разные OU для разных типов компьютеров (сервер, десктоп, ноутбук), а так же отдельные OU для разных отделов/департаментов/и т.д., с различными групповыми политиками, действующими для разных OU. Поэтому после ввода компьютеров в домен необходимо переносить учетные записи компьютеров вручную в соответствующий OU, а затем перезагружать компьютер еще раз, чтобы на нем применились все необходимые политики. При использовании команды netdom можно указать нужное OU, но набирать все это с клавиатуры – та еще задачка, особенно – когда компьютеров много, и особенно, что часто бывают – задачку эту поручают простым эникейщикам. Где-то в какой-то букве обязательно ошибется.

Самый лучший выход из этой ситуации – создать учетные записи компьютеров заранее, в соответствующих OU. Тогда компьютер сразу после ввода в домен и перезагрузки применит все соответствующие политики.

Разумеется, учетные записи компьютеров, как и пользователей, можно создавать и вручную. Но, поскольку мы – админы, а не эникейщики – будем использовать PowerShell.

Для учетных записей, как и для компьютеров, используем CSV-файл

ComputerName;OU

Server1;Cnotoso_Computers/Servers

Server2;Cnotoso_Computers/Servers

Desktop1;Cnotoso_Computers/Desktops

Desktop2;Cnotoso_Computers/Desktops

Desktop3;Cnotoso_Computers/Desktops

Laptop1;Cnotoso_Computers/Laptops

 

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

 

Import-Module ActiveDirectory

$Computers Import-CSV $1 –Delimiter “;”

Foreach($CurrentComputer in $Computers) {

$ComputerName = $CurrentComputer.ComputerName

$OU = $CurrentComputer.OU

$OUTmp $OU –Split “/”

$Path = “” #незабудьте проинициализировать переменную!

$OUTmp | ForEach-Object {$Path = "OU=$_," + $Path}

$Path += “DC=contoso,DC=com”

New-ADComputer –Name $ComputerName –Path $Path

}

 

Массовый сброс паролей

Иногда бывает необходимо массово сбросить пароли у множества пользователей.

Структура CSV-файла:

  • Login – логин пользователя

  • NewPassword – новый пароль

Import-Module ActiveDirectory

$Users Import-CSV $1 –Delimiter “;”

Foreach($CurrentUser in $Users) {

$Login $CurrentUser.Login

$NewPassword = $CurrentUser.NewPassword

$SecurePwd ConvertTo-SecureString -AsPlainText -Force -String $Password

Set-ADAccountPassword –Identity $Login –Reset –NewPassword $SecurePwd

}

 

Массовое изменение параметров

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

 

  • Имя

  • Фамилия

  • E-Mail

  • Телефон

  • Организация (у компании несколько юр.лиц)

  • Должность

 

Из нее мы создаем CSV-файл с полями:

 

  • Name

  • Surname

  • E-Mail

  • Phone

  • Organization

  • JobTitle

 

Скрипт будет следующего вида:

 

Import-Module ActiveDirectory

$Users Import-CSV $1 –Delimiter “;”

Foreach($CurrentUser in $Users) {

$Name = $CurrentUser.Name

$Surname $CurrentUser.Surname

$Email $CurrentUser.E-Mail

$Phone $CurrentUser.Phone

$Organization = $CurrentUser.Organization

$JobTitle = $CurrentUser.JobTitle

$Login = (Get-ADuser –Filter {GivenName –eq $Name –and Surname –eq$Surname}).SamAccountName #ищем юзера с заданным именем и фамилией и возвращаем его логин

Set-ADUser $Login –EmailAddress $Email –MobilePhone $Phone –Company $Organization –Title$JobTitle

}